Была первая и третяя сделка. Как хто тестирует не знаю, но желательно хотябы первое время следить правильно ли торгует советник. Например сегодня нихто не сказал что по EURUSD не открылся ордер и мы недополучили 20 пунктов.
Здесь не помогли, Джон не появился. 2 проблемы решил сам.
Осталась одна. Закрытие сел по аску(надо по биду). Загвоздка где то здесь.
int coralCL(string symb)
{
if(!UseMAexit) return(0);
double cor1 = iMA( symb, TFMA, periodMA, ma_shift, ma_method, applied_price, 1);
if(iClose(symb, 0, 1)>cor1) return(1);
if(iClose(symb, 0, 1)<cor1) return(-1);
return(0);
У нас iClose это то цена(BID).
cor1 это МА.
if(iClose(symb, 0, 1)>cor1) return(1);
Это цена пересекла МА снизу вверх. Соответствено значит что мы делали бай и цена закроется по биду. Так и надо.
if(iClose(symb, 0, 1)<cor1) return(-1);
Это цена пересекла МА сверху вниз. Соответствено значит что мы делали сел и цена закроется ТОЖЕ по биду. Нам надо по аску.
Должно быть что типа if(ASK+iClose(symb, 0, 1)<cor1) return(-1);
Если у кого то есть знакомые програмисты, то спрсите пожалуйста что тут надо добавить чтобы пересечение считалось по аск.
if(iClose(symb, 0, 1)<cor1) return(-1);