评论 自动交易锦标赛 2007

27
Mishell wrote:

 Здравствуйте Оля!

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


Я попробую погонять на этой неделе с последними изменениями. Стараюсь своего мнения не иметь, т.к. оно обязательно не правильное. Но пока флэт.
2008.02.05 11:50
 
27

 Здравствуйте Оля!

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

27
2008.02.05 10:58
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 писал(а):

  Я внес изменения в ф-ию double bProfit( double Adx):

   if (
     CheckADX(1440,13,0,16)==Up

       || CheckiMa(cMainFrame, 55, MODE_SMA, 1, 10)!=Down//! - новая строка
        || MainTrend==Up

)

Это не изменило историю, но развернуло главный тренд в Up с 2007.12.21.   Кто что думает?

Раньше вы говорили, что в функции LongSwich() изменили adx55step/2 на adx55step и привоили этой переменной значение 30. А какое значение имела эта переменная, когда вы проводили тестирование с вот этой новой проверкой (CheckiMa(cMainFrame, 55, MODE_SMA, 1, 10)!=Down//! - новая строка)?
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
2008.02.04 18:54
27
Lemyx писал(а):
Поясните пожалуйста, что вы имели ввиду под словами "развернуло главный тренд в Up с 2007.12.21"?

 После добавления этой строки установочное тестирование изменило переменную MainTrend  c  Down на Up  от 2007.12.21.  Возможно мы имеем начало

 нового многомесячного Up тренда.

27
2008.02.04 18:40
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
 
网页: 
总量: 4680