Простой советник CCI с фильтром MA - страница 3

 
RaptorUK:
Да, я думаю, что да... только будьте осторожны, если использование CCI означает, что он "перерисовывается"... он может возвращаться и переходить через 100 много раз в течение бара.
Спасибо ;)
 

Я изменил код пользовательского индикатора CCI, который поставляется с MT4, следующим образом.

//I added this global input variable

extern int AppliedPrice = 1; //1 means open price, and 5 means typical. see https://docs.mql4.com/constants/prices


//within the start() function, I changed this

MovBuffer[i] = iMA(NULL, 0, CCIPeriod, 0, MODE_SMA, AppliedPrice, i);

Когда я поместил это на график вместе с индикатором индекса товарного канала (тот, к коду которого у нас нет доступа). Оба дали одинаковое значение для типичного, но разное значение для открытого!!!

У кого-то есть идеи?

tapo

 
tapo:

Я изменил код пользовательского индикатора CCI, который поставляется с MT4, следующим образом.

Когда я поместил это на график вместе с индикатором индекса товарного канала (тот, к коду которого у нас нет доступа). Оба дали одинаковое значение для типичного, но разное значение для открытого!!!

У кого-то есть идеи?

tapo

Есть ли у вас скриншот этих снимков?
 
diostar:
У вас есть скриншот этих снимков?


http://i39.tinypic.com/2e1vvav.png

http://i41.tinypic.com/21o55e1.png

 

Здравствуйте,

Я почистил код и оставил только чистый триггер CCI и только код для открытия позиции на основе закрытия свечи. Может ли кто-нибудь объяснить, почему эта позиция была открыта? Это потому, что советник не дождался закрытия свечи, чтобы взять триггер CCI? Если да, то как это можно исправить?

http://i40.tinypic.com/znmmue.png

С уважением,

тапо

 

Почему-то я не смог получить ни одного вложения. Вот советник.

http://www.4shared.com/folder/uzm1fNWV/_online.html

Не могли бы вы посмотреть на него и понять, почему он ведет себя таким образом?

 
tapo:

Почему-то я не смог получить ни одного вложения. Вот советник.

http://www.4shared.com/folder/uzm1fNWV/_online.html

Не могли бы вы посмотреть на него и понять, почему он ведет себя таким образом?

Разве вы не смотрите на значения CCI для баров 1 и 2? Свеча, на которой был размещен ордер, в то время была баром 0... не имеет значения, что ее значение CCI было в конечном итоге 127....

else if (CCI1[ 2 ] > 100 && CCI1[ 1 ] < 100)
 
На вашем рисунке видно, что CCI1[1] и CCI1[2] меньше 100, поэтому продажа не должна была произойти... добавьте оператор print, чтобы вывести эти данные, и повторно запустите это в тестере стратегий, чтобы вы могли видеть, что происходит....
 
aptorUK:
Из вашего рисунка видно, что оба CCI1[1] и CCI1[2] меньше 100, поэтому продажа не должна была произойти ... добавьте оператор печати, чтобы вывести эти данные и повторно запустите это в тестере стратегий, чтобы вы могли видеть, что происходит ....

Привет, Раптор,

Я добавил эту линию.

Print(CCI1[2] + " | " + CCI1[1]);

Я установил ее в реальном времени, и сработали 1 короткая и 1 длинная позиции. 1-я позиция была открыта после закрытия свечи, в которой CCI пересекся ниже 100. В то время как 2-я позиция на той самой свече, на которой CCI пересекся выше -100! По-моему, я ожидал, что советник все время будет делать так, как в первом случае, я не знаю, почему он так настроен!

Вот результаты печати

2011.11.07 06:22:09 CCI EURUSD,M1: 122.97015370 | 71.61246612

2011.11.07 06:32:07 CCI EURUSD,M1: -127.56702074 | -89.52929875 (Эта строка не обрабатывает правильные значения!)

 

Я не вижу ничего плохого в этом примере...

Ваш код таков для покупки и продажи

if (CCI1[2] < -100 && CCI1[1] > -100)  //  for BUY
   {

if (CCI1[2] > 100 && CCI1[1] < 100)   // for SELL
   {

Эти значения попадают в эти диапазоны. ...

2011.11.07 06:22:09 CCI EURUSD,M1: 122.97015370 | 71.61246612 <------- для SELL

2011.11.07 06:32:07 CCI EURUSD,M1: -127.56702074 | -89.52929875 <------ для BUY

Вы обнаружили проблему, когда ваш код работает ... повторно запустите проблемную область, с которой вы разместили картинку, используя тестер стратегий.

Причина обращения: