Automated Trading Championship 2007: распространенные ошибки в экспертах - страница 8

 
Либо так
 if(OrderStopLoss()!=(Bid-Point*TrailingStop))
Так как стоп-лосс выставленный уже в пунктах , а выражение то же в пунктах.Проверяеться на отличие хотя бы в один пункт

Еще вот кому нужно чтобы лоты были с шагом 0,1 и с ограничениями до 5 лотов

TmpRound = MathRound(Lots/0.1);
        Lots = TmpRound*0.1;       
        if(Lots>5)Lots=5;
        if(Lots<0.1)Lots=0.1;
 
1) Неплохо бы не только выявлять распространенные ошибки в экспертах, но и показывать пути решения данных проблем.

2) Выиграли от этого бы все. А то например классический эксперт MACD Sample.mq4 написаный как пример разработчиками сам не пройдет тест в связи с ошибкой №1.
Откуда ж начинающему трейдеру увидеть пример правильного решения?

3) Кстати отличная идея - выложить простенький эксперт, например на основе средней, в качестве примера который удовлетворяет всем требованиям и задает правила хорошего тона в программировании эксперта. Многие оценили бы это. Вот была бы хорошая популяризация MQL4 в качестве базы для построения автоматических систем торговли.
 
AstaLavista:
1) Неплохо бы не только выявлять распространенные ошибки в экспертах, но и показывать пути решения данных проблем.

2) Выиграли от этого бы все. А то например классический эксперт MACD Sample.mq4 написаный как пример разработчиками сам не пройдет тест в связи с ошибкой №1.
Откуда ж начинающему трейдеру увидеть пример правильного решения?

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


Золотые слова!

Надеюсь это будет учтено хотя бы в планируемых "визардах"-шаблонах создания кода.

 
2 AstaLavista: Код Rosh'a для трейлинга более корректен (хотя конечно не мешало бы изменить oldTP на oldSL, а newTP на newSL в строке сравнение в скобках) - у него стоит условие ">". А вашем случае, если цена покатится назад, то и трейлинг будет откатываться, так как условие будет выполняться!
 
Stepler2442:
2 AstaLavista: Код Rosh'a для трейлинга более корректен (хотя конечно не мешало бы изменить oldTP на oldSL, а newTP на newSL в строке сравнение в скобках) - у него стоит условие ">". А вашем случае, если цена покатится назад, то и трейлинг будет откатываться, так как условие будет выполняться!
в таком случае просто заменить для случая bay на
 if(OrderStopLoss()<(Bid-Point*TrailingStop)

при равных значениях условие не выполниться избежав ошибки №1, а при значениях ниже установленного стопа модификация не будет производиться - то есть будет работать как полноценный Trailing Stop
OrderStopLoss() и (Bid-Point*TrailingStop)

 
Stepler2442:
2 AstaLavista: Код Rosh'a для трейлинга более корректен (хотя конечно не мешало бы изменить oldTP на oldSL, а newTP на newSL в строке сравнение в скобках) - у него стоит условие ">". А вашем случае, если цена покатится назад, то и трейлинг будет откатываться, так как условие будет выполняться!
Спасибо, поправил.
 
AstaLavista:
Stepler2442:
2 AstaLavista: Код Rosh'a для трейлинга более корректен (хотя конечно не мешало бы изменить oldTP на oldSL, а newTP на newSL в строке сравнение в скобках) - у него стоит условие ">". А вашем случае, если цена покатится назад, то и трейлинг будет откатываться, так как условие будет выполняться!

в таком случае просто заменить для случая bay на
 if(OrderStopLoss()<(Bid-Point*TrailingStop)
 

Да, так будет работать. Единственно теперь в чем разница и некоторое преимущество у трейлинга, предложенного Rosh, что с помощью него можно легко делать не просто трейлинг, но еще и с шагом, чтобы не дергаться через каждый пипс и не напрягать брокера потоком modify :)
 

К сожалению иногда не будет работать (наступал уже на эти грабли). А вот так будет работать всегда:

if(NormalizeDouble(OrderStopLoss(),Digits) < NormalizeDouble(Bid-Point*TrailingStop,Digits))
 
Вот здорово и так бы по всем вопросам найти наилучшее решение и ввиде образцово-показательного советника...
 

Господа, лог который формируется в результате автоматического тестирования советника доступен для скачивания и просмотра? Что то в профиле никак не найдется.