评论 自动交易锦标赛 200727
Здравствуйте Оля! Все зависит от MainTrend : если он = Down, то нечетные LocalTrend - то же Down. А ситуация с основным трендом как в эксперте (с учетом изменений в bProfut и LongSwich) так и у аналитиков - неопределенная. Поэтому справедливо последнее изменение или нет - покажет ближайший месяц. У меня сейчас все тренды = Up и WaveNum=1. Если учитывать только изменения в LongSwich (без || CheckiMa(cMainFrame, 55, MODE_SMA, 1, 10)!=Down в bProfit) было бы WaveNum=3 и все тренды = Down. Интересно, что правильно? 27
Еще у меня есть такое замечание, скорее к MetaQuotes. Может в следующей версии изменят.
Если запустить эксперт на одном компьютере, допустим он открыл позицию и у вас есть TrailingStop или другая логика запрограммирована по OrderModify()
Потом перейти на другой компьютер с тем же брокером, счетом и точной копией эксперта ( тот же MagicNumber, на одном компьютере скомпилирован). Эксперт этот ордер абсолютно игнорирует, пока она по SL/ TP не закроется, или вручную, или обратно перейти на первый комп. Видимо OrderModify() работает только если позиция открыта на том же компьютере.
Я с этим столкнулась летом, сейчас протестировала - то же самое. Нигде не видела чтобы где-то про это говорилось. Еще не знаю если переинсталировать МТ4, как OrderModify() себя ведет с уже открытыми позициями.
2008.02.05 01:55 27
Здравствуйте Михаил,
Может ли по логике WaveNum == 3, а LocalTrend, mainTrend и SmallTrend == Down.
По коду похоже что при четных волнах LocalTrend=Down a нечетных = Up
У меня такие сейчас переменные
на Алпари:
9 1 1 1 8 9 9 9 9 9 2 9
на FXDD:
9 1 1 1 8 9 9 9 9 9 3 9
WaveNum на 3 поменялось еще 16.01 в этом коде:
в функции DownCorrection
**********
else
if(MainTrend==Down && TimeCurrent()- LastLocDnGoDay>86400*30 && TimeCurrent()- LastMainDnGoWeek>86400*30) WaveNum+=1; Ордера все на sell открываются, как на Alpari
Спасибо,
Ольга.
2008.02.05 01:10 27
Mishell писал(а): Раньше вы говорили, что в функции LongSwich() изменили adx55step/2 на adx55step и привоили этой переменной значение 30. А какое значение имела эта переменная, когда вы проводили тестирование с вот этой новой проверкой (CheckiMa(cMainFrame, 55, MODE_SMA, 1, 10)!=Down//! - новая строка)?Я внес изменения в ф-ию double bProfit( double Adx): if ( || CheckiMa(cMainFrame, 55, MODE_SMA, 1, 10)!=Down//! - новая строка ) Это не изменило историю, но развернуло главный тренд в Up с 2007.12.21. Кто что думает? 2008.02.05 01:10 27
Mishell писал(а): Да, я понял и удалил этот свой вопрос и уже после этого заметил ваш ответ... ну да ладно, думаю ничего страшного.Lemyx писал(а): Поясните пожалуйста, что вы имели ввиду под словами "развернуло главный тренд в Up с 2007.12.21"? После добавления этой строки установочное тестирование изменило переменную MainTrend c Down на Up от 2007.12.21. Возможно мы имеем начало нового многомесячного Up тренда. 2008.02.05 01:07 27
Что касается вручную заданных направлений. Они получены тестом ЕА с более ранней даты. ЕА пеоед запуском на торговлю ДОЛЖЕН пройти установочное тестирование. Читайте подррбности в комментариях SHOOTERа. Он уже проделал работу по тесту ЕА. Николай, привет. Как торги? Что думаешь о MainTrend? 27
Lemyx писал(а):
Поясните пожалуйста, что вы имели ввиду под словами "развернуло главный тренд в Up с 2007.12.21"? После добавления этой строки установочное тестирование изменило переменную MainTrend c Down на Up от 2007.12.21. Возможно мы имеем начало нового многомесячного Up тренда. 27
Mishell писал(а): Ну, что показало тестирование... Все зависит от того, откуда тестировать, при чем результаты очень странные...Думаю, что обсудить можно и здесь. С интересом выслушаю ваше мнение, замечания и идеи. Что показало тестирование и на каком ДЦ? Михаил Тестирование на Альпари-Демо, 4Н. Перед тестированием удалял все глобальные переменные. Функция, для определения количества лотов не так, что предложена Михаилом, а другая -- она выложена раньше в этой ветке. 1) Период с 2007.10.01 по 2008.01.04 (по сути два месяца) ![]() 2) Период с 2007.09.01 по 2008.01.04 (т.е. три месяца) ![]() Итак, вопрос: где логика? Я конечно понимаю, что при старте тестирования вызывается функция TestInstall() которая устанавливает некоторые глобальные переменные "правильно", т.е. исходя из того, что Михаил руками вписал направление основного тренда и количество волн в то время. Но! Советник, если его использовать на новых данных, далеко не всегда правильно определяет когда и куда надо торговать. Будем смотреть дальше... 2008.02.04 14:36 27
Еще одно.
В программе есть место, где число 86400 записано с тремя нулями в конце (т.е. 864000). Это опечатка, или имелось ввиду 86400*10? Это число встречается вот здесь (часть кода, которая отвечает за короткие позиции): switch (WaitDn) { case Go : {//case Go ... ... ... if ((TimeCurrent()-sStartWaitingTime) > 864000 ) // вот оно { WaitDn=NoSignal; SetGlobVar("gWaitDn"+Symbol(),NoSignal); sStartWaitingTime=NoSignal; SetGlobVar("sWaitTime"+Symbol(), sStartWaitingTime); } }//case Go } А в коде, который отвечает за подобные действия для длинных позиций это условие выглядит так: (функция LongSwich() ) if ((TimeCurrent()-bStartWaitingTime) > 86400*DayCnt ) { ... }Может в первом случае есть смысл тоже написать так 86400*DayCnt? 2008.02.04 14:05 |
|








Здравствуйте Оля!
Все зависит от MainTrend : если он = Down, то нечетные LocalTrend - то же Down. А ситуация с основным трендом как в эксперте (с учетом изменений в bProfut и LongSwich) так и у аналитиков - неопределенная. Поэтому справедливо последнее изменение или нет - покажет ближайший месяц. У меня сейчас все тренды = Up и WaveNum=1. Если учитывать только изменения в LongSwich (без || CheckiMa(cMainFrame, 55, MODE_SMA, 1, 10)!=Down в bProfit) было бы WaveNum=3 и все тренды = Down. Интересно, что правильно?
Я попробую погонять на этой неделе с последними изменениями. Стараюсь своего мнения не иметь, т.к. оно обязательно не правильное. Но пока флэт.