Знатоки, не подскажете, в каких строках кода происходит наполнение массивов, а то кроме как в ините нигде не видать.
Хочу грааль
Этот советник может делать 100% в день?
...сегодня субботаУ меня 0.00$ сделал.
Не открывает сделок вообще!
У кого работает?
...сегодня суббота
у меня пашет с первого поста.
...сегодня суббота
у меня пашет с первого поста.
я же написал СОВА С ПЕРВОГО ПОСТА...Подскажи какой ставить?С какими сетами?
Тайм,пара,брокер?
А то были переделки.Спасибо.
Привет, резы вроде не плохиепривет! И как резы?
об чём речь! конечно! банда дело святое...особенно если она бест! :laugh:
Что-то не очень смешно. Раньше шутки лучше были, Евгений Ваганович.
--------
Теперь по коду. Глянул его краем глаза.. Жесть, господа. Начну с основного, с условия открытия:
if (kol_tick>tick_avg && MathAbs(range_start-range_end)>range_avg && MathAbs(range_start-range_end)>min_range)
Перевожу на русский язык условие.
Если последний тик больше среднего арифметического из массива тиков
и если модуль разницы значения тика при инициализации и значения последнего известого тика больше среднего арифметического массива разниц (разница значения тика при инициализации и значениями последующих тиков)
и если модуль если модуль разницы значения тика при инициализации и значения последнего известого тика больше минимального порога (min_range)
то идет открытие.
Извините, но это бред. Особенно то, как в советнике присваивается значение range_start.. и как это напрямую влияет на выполнение условий при уходе цены от той, что была при запуске советника.
Логичнее же присваивать значение range_start=mass_range[0] в момент пересчета массива, если mass_range[0]!=0.
И это только то, что просто бросилось в глаза. Есть еще косяки... ну да ладно.
Ища причину твоей агрессии, пересмотрел код еще раз. Да, действительно, range_star считается не только в OnInit, но и в конце OnTick. Т.к. смотрел бегло, не заметил. Это сводит на нет мой прошлый пост здесь.
Можно это объяснить по-человечески?
senchakv, привет! Интересная идея. А если добавить к среднему еще и первую, вторую производную? То бишь, смотреть не только отклонение величины но и скорость, ускорение этого отклонения? В начале резкого движения не только прыгает сама цена, но и увеличивается скорость в сторону возможного движения. Как вариант, смотрим на изменение среднего движения, имеем увеличение скорости в ту же сторону (для простоты можно заменить просто на количество тиков в сторону предполагаемого движения или, что на мой взгляд, правильнее - произведение однонаправленных тиков на их количество). Получили например, рывок вверх, произведение up-тиков на их количества > down-тиков на их количество, взводим курок. Как только знак произведения меняется или они становятся примерно равны, входим в сделку. Обычно любой движняк состоит из рывка, отката или паузы и продолжения движения. Так мы будем входить на откате, потом брать свой кусок движения и сваливать... Как-то так...
Стоплосс можно ставить на уровень с которого началось движение. Выходить опять по смене знака произведения и/или приросту в обратную сторону, тралу...