Хабрахабр

[Из песочницы] Анализ графиков бинарных опционов или как я в очередной раз доказал себе, что халявы не существует

Видео начинается пафосным пересчитыванием солидной пачки денег и демонстрированием приличного счета. Недавно я наткнулся на занимательное видео из разряда «Чтобы быстро стать богатым нужно всего лишь...». Далее парень показывает стратегию, которая основана на фразе «Ну вот смотрите на график, тут видно».

Ниже вы можете посмотреть, что из этого вышло. Однако я человек скромный, а потому решил прежде чем пойти за своими лярдами сначала проверить данную стратегию математически и программно.

Опишу сначала «Стратегию» (Я не уверен, что могу скинуть ссылку на видео здесь, но сделаю это в комментариях при необходимости). Парень предлагал нам переключить график на японские свечи а затем просто ставить на тот же курс, каким закрылась предыдущая свеча. То есть если прошлый отрезок в 5 минут закрылся в минус, то и сейчас ставим на минус. В случае же проигрыша в следующий раз удваиваем ставку.

Но перейдем к делу. Эх, как же мне нравятся умники со стратегией Мартингейла.

Начнем с декомпозиции задачи:

  1. Необходимо написать скрипт, который преобразует график в строку вида OOGGO, где O — Orange, G — Green. То есть падение и рост.
  2. Далее необходимо на этой строке смоделировать стратегию и собрать статистику.
  3. Проанализировать результаты и сделать вывод.

Пишем анализатор графика

Конечно, мы можем анализировать его прямо там, однако для начала я предпочту работать у себя в собственном проекте. На сайте график представляет из себя SVG элемент. В конце концов, нам бы сначала убедиться в действенности стратегии, а уже потом писать робота, который методами click() будет фармить наше «богатство»

Коментарии сразу после кода.

function turnToString(img) if (imgData[greenPartIndex] > 120) { mainColor = "G"; break; } } if (isLocked == false && mainColor == "G") { //(3) result.push("G"); isLocked = true; } if (isLocked == false && mainColor == "O") { result.push("O"); isLocked = true; } if (mainColor == "N") { isLocked = false; } console.log("Yet another line") } return result.join("");
}

Код getColorIndexes, получающий индексы цветов нужного пикселя.

function getColorIndexes(x,y,width) { var R = 4*(width*y + x); return [R,R+1,R+2];
}

Он может содержать миллионы позиций, однако о скорости работы переживать не приходится, т.к. Напомню, массив Uint8ClampedArray , возвращаемый функцией getImageData — это просто набор цветов и альфа каналов пикселей подряд. в гугле работают замечательные парни, которые сделали из V8 машину по обработке структур данных.

Смело вмешиваемся в DOM, т.к. Все просто.
1) Заменяем картинку на канвас. Смотрим на красную и зеленую составляющие пикселя в KGB RGB. это локальный проект, и в таком виде куда-либо перекочевать он не сможет никак.
2) Итерируемся через массив пикселей по столбцам. Main color присваиваем нужную букву.
3) Смотрим, была ли данная свеча уже учтена. Если они превышают некий уровень (С большим запасом), значит останавливаем проход через столбец. Если же цвет не был обнаружен и переменная сохранила начальное значение «N», значит мы наткнулись на промежуток между свечами, что означает необходимость сбросить значение isLocked Признаком учтённости считаем isLocked равный true.

Теперь мы можем загрузить график! Profit!

Я даже вывел результаты под соответствующими свечками и, как мы можем видеть, все работает в штатном режиме.

Эмулируем стратегию

Теперь наша задача полученную строку пропустить через функцию, которая будет эмулировать данную стратегию. Перейдем ко второй части.

function basicProfitAnalisis(mask) { var maskInUse = mask; var result = [0,0]; var currentBet = 50; var baseBet = 50; var maxBet = baseBet; var totalSum = 0; var multiplier = 0.82; for(var i = 1;i<maskInUse.length;i++) { if (maskInUse[i] == maskInUse[i-1]) { result[0]++; //Счетчик побед. totalSum += currentBet*multiplier; currentBet = baseBet; } else { result[1]++; //Счетчик поражений. totalSum -= currentBet; currentBet *= 2; if (currentBet > maxBet) { maxBet = currentBet; } } } document.getElementById("betsWon").innerHTML += result[0]; document.getElementById("betsLost").innerHTML += result[1]; if (totalSum >= 0) { document.getElementById("pureChange").innerHTML += `<font color='green'>${totalSum}</font>`; } else { document.getElementById("pureChange").innerHTML += `<font color='red'>${totalSum} </font>`; } document.getElementById("maxBet").innerHTML += maxBet; setCookie("totalSum", parseInt(getCookie("totalSum"))+totalSum, 365);
}

Итерируемся по полученной строке, начиная со второго символа. Этот код совсем прост. Если он не равен ему, значит мы проиграли — вычитаем сумму ставки из текущего изменения начальной суммы и удваиваем ставку. Каждый раз сравниваем текущий символ с предыдущим. 82, его и возьмём) и сбрасываем ставку до базового уровня. Если же мы выиграли, добавляем к изменению ставку, умноженную на коэффициент (Самый большой на этом сайте — 0. Затем просто выводим результат и добавляем сумму в куки, чтобы не считать вручную.

Очень любят шутить шутки. Также помним о том, что математика и Теория Вероятностей любят шутить шутки. А потому ведем учет максимальной ставки через maxBet (Это, пожалуй, самый интересный пункт статистики, который может вас удивить. Ну очень любят шутить шутки. А может и нет).

Ну что же, запустим тот же график, на котором проверяли корректность работы функции-анализатора.

Немного не повезло, бывает. Хм. Еще.

Второй раз — совпадение? Как там говорится?

Так всегда. Третий вроде закономерность… Но мне-то, конечно, просто не везет.

Но он же показывал деньги, не мог же он лгать.

А может он эти деньги на таких как я заработал?

Все видели? О! Сейчас вот еще немного поиграю и пойду выбирать особняк и жену — модель. Чакра удачи открылась.

Вы знаете, деньги не главное.

Статистика и выводы.

Понятное дело, я не могу загрузить сюда все тесты, которые я проводил, но вот статистика по последним 10-и:

  • Положительных тестов: 1 из 10.
  • Выиграно денег: 2663.
  • Изменение начальной суммы при бесконечно большом счете: -274484.
  • Максимальная ставка: 819 200 (!!!).

Так почему же это не работает?

А у случайности, простите, вообще трудно выигрывать. На самом деле, рынок в стабильной стадии — это настолько сложная структура, где на ценообразование может оказывать влияние то, какой пастой чистит зубы Сатья Наделла, что на таких коротких промежутках, как 5 минут, можно вообще говорить о случайности.

Однако по этой стратегии нельзя выигрывать. То есть в данном случае мы имеем чистую стратегию Мартингейла. Играя по ней достаточно долго, мы просто перераспределяем движение денег так, что выигрываем очень часто, но мало, а проигрываем редко, но много. Это не философский камень. Однако же в рулетке, например, существует помимо красного и черного еще и зеро, что снижает шанс угадать цвет до 48. В лучшем случае матожидание такой системы равно 0. 7%). 65% (Зеро — 2. Он сильно разнится от актива к активу. У трейдеров тоже есть своё «Зеро» — коэффициент. 82 для курса доллар/евро. Я взял максимальный — 0. Однако даже с ним выход в плюс становится невозможным.

Уже сам тот факт, что казино или любая подобная организация существует, говорит нам о том, что в среднем компания получает больше денег, чем отдает.

ведь это выглядело так правдоподобно на видео! Но как же так? Точно также, как самолет выглядит как самый опасный вид транспорта для большинства. Да, выглядело. Увы, но вот с таким листом только лишь подтвержденных когнитивных искажений, человек является весьма посредственным наблюдателем. Или как задачи имеют тенденцию выглядеть простыми и очевидными постфактум. Именно поэтому мы и формализуем различные процессы, придумываем строгие алгоритмы, активно сотрудничаем с компьютером в решении задач.

Мы буквально хотим быть обманутыми. Всем нам хочется верить, что где-то там есть способ зарабатывать деньги и/или славу, ничего не делая, а наш мозг лишь услужливо дорисовывает нам картину мира в котором это реально.

Все мы давно знаем, почему нельзя напечатать много денег для всех. Система не сможет существовать, если не будет иметь механизмов самоподдержки и регуляции. Поэтому и нельзя стать богатым, лёжа на диване. Такая система попросту бы рухнула! Вы должны сконвертировать своё время, силы и мотивацию в то, что хотите получить.

Это такая простая истина, но большинство продолжает верить в бесчисленное множество мошеннических и околомошеннических схем, казино и лотереи.

Дисклеймер

Я лишь имел ввиду, что не существует в природе легких стратегий для этого. Попрошу особенно отметить, я не сказал, что на тех же бинарных опционах невозможно заработать. анализ, будете иметь набор компаний, с акциями которых вы близко знакомы (У разных компаний свои особенности движения акций), будете уметь управлять рисками… Можно ли всему этому научиться быстро? Вы сможете стабильно зарабатывать только если научитесь проводить тех. А самолет можно научиться садить за пару дней?

Впрочем, не думаю, что вам нужно приглашение 🙂 Также попрошу отметить, что я всего лишь новичок как в вашем сообществе, так и вообще в программировании, а потому прошу нещадно тыкать лицом во все сколь бы то ни было серьезные изъяны.

Ну и напоследок о когнитивных искажениях.

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть