Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
А проблема есть, но она заключается в самом тестере
2004.12.10 14:30 JMAValue = 1.3190
2004.12.10 14:45 JMAValue = 1.3193
2004.12.10 15:00 JMAValue = 1.3194
2004.12.10 15:15 JMAValue = 1.3196
2004.12.10 15:30 JMAValue = 1.3197
2004.12.10 15:45 JMAValue = 1.3198
Даже не знаю, чему верить... 177 или 178 ;))
Не, ребята разработчики, что то я совсем запутался в толи багах, толи глюках... пора спать %->
А ты в эксперте каким образом новый бар отлавливал?
не совсем понял вопрос...
Зачем его отлавливать? мы же всегда смотрим на предидущий бар, а тот, который формируется сейчас нам и не нужен. Ну вот, смотрим, если условие true, то пытаемся ордер исполнить, если конечно нет других ордеров, уже исполненных в эту сторону. Ну а если есть в противоположную, то закрываем сначала... короче все стандартно, вроде...
Зачем его отлавливать? мы же всегда смотрим на предидущий бар, а тот, который формируется сейчас нам и не нужен. Ну вот, смотрим, если условие true, то пытаемся ордер исполнить, если конечно нет других ордеров, уже исполненных в эту сторону. Ну а если есть в противоположную, то закрываем сначала... короче все стандартно, вроде...
так "предыдущий" он и будет всегда "предыдущим", а вот как отличить что "предыдущий" на который мы смотрим сейчас это не "предыдущий" на который мы смотрели некоторое время назад?
вчера шел домой и как "больной" думал о причинах, а ты не пробовал найти разницу между MQL и DLL вариантом в терминале и тестере? твой DLL вариант построен на основе алгоритма Welld'а?
может в этом дело?
В длл я перегнал код weld-а, но сделал свой интерфейс ввода. Кроме того, что к стати, не очень легко можно реализовать на чистом MQ4, там есть возможность строить мувинги от произвольных данных (не только close, open.....)
Насчет различения "предидущих". Если это есть сама цель, то конечно это надо дополнительно описывать (сравнивать с количеством баров), но ведь логика работы данного эксперта куда проще. Предидущий бар является сформировавшимся, а следовательно всегда равным одному и тому же значению. Теперь, допустим, у нас выполнено условие MA[1] < MA[2]. Если при этом у нас еще не открыта позиция на продажу, то открываем. Ну а если открыта, то и не делаем ничего. И хоть мы сто раз прогоним этот код, он все равно отработает только один раз - на первом тике нового бара. а остальные разы ничего открывать не будет. Теперь, пусть на n-ом баре условие изменилось: MA[n+1] > MA[n+2]. Значит закрываем продажу и открываем покупку. далее логика та же.
Так в том то и дело зачем гонять сто раз, когда можно за один! И для этого в эксперт как раз добавлено определение нового бара (код ведь должен быть эффективен, а зачем напрягаться и проверять ряд условий, когда можно проверив одно отказаться от других) я проверяю появился новый бар? - если нет ничего не изменилось я отдыхаю, а если не отлавливать бар тогда - куда направлена АМА? есть ли у меня текущие позиции по направлению, причем делается это на каждом тике (хотя для бара с индексом 1 - ничего уже не поменяется). Так как можно использовать несколько вариантов для "ловли" нового бара , то вот я и спросил как ты их отлавливаешь? потому что при использовании сравнения времени баров (LastTime) тестер выдает ошибочные значения (об этом я писал в "Моделирование?!!"), одновременно я столкнулся что при "ловле" нового бара по количеству баров (LastBars) вроде как все нормально (но думаю что определять по Барс нужно очень осторожно, т.к. их количество ограничено базой и в какой-то момент его значение должно перестать меняться).
а сравнения результатов не делал ? я все-таки думаю , что проблема в тестере, а не в индикаторе... если самому некогда, давай мне DLL вариант, а я сравню и вышлю.
Абсолютно согласен! Незачем, если нормального эксперта делать. Но мне просто не хотелось усложнять этим себе жизнь, ведь все равно от этого ничего не изменится, а глюков, как ты правильно заметил, может прибавиться.
На мой взгляд единственный более ли менее надежный вариант - сравнивать Bars. Если ограничения на величину базы и есть, то они должны быть ОЧЕНЬ большими. Но в своей проге я сравнивал все таки по времени (и это правильно).
Делал конечно. 1:1 соответствие. В начале, правда, расходятся слегка... но это возможно из-за инициализаци.
Да могу конечно и длл дать. Все равно идея JMA не моя ;)