Туплю или нет)

 
Доброго времени суток всем. Вопрос наверное покажется многим нубским но все-же.. Стандартный советник MA с прикручеными SL TP постоянно выдает ошибку в тестере (стопы неправильны 130) раньше все работало . чего только не менял(
Файлы:
 

Тупишь конечно.

Стоплосы не мешало бы нормализовать, а главное проверять на стоплевел.

А еще не мало важный момент, разрешает ли ДЦ открытие позиций сразу с ТП и СЛ.

 
и про пятый знак не забываем, если у ДЦ котиры с пятью знаками после запятой, к ТП и СЛ приписываем 0.
 
Так раньше все работало... код то простой. и в альпари и в финаме щас ни-ни((((( как его подправить? дайте совет плиз)
 
gerber:
Так раньше все работало... код то простой. и в альпари и в финаме щас ни-ни((((( как его подправить? дайте совет плиз)


1. Проверить позволяет ли ДЦ открывать рыночные ордера с установленным стопом и тейком. Для этого просто в демо открывается ордер с указанным стопом и тейком. Если открывается, то ищем дальше. Если нет - то в советнике надо открывать ордер с нулевым тейком и стопом, а затем после открытия модифицировать.

2. Корректируем стоп и тейк на знак котировки. Если 5значные, то пишем не 5 пунктов, а 50.

3. Выясняем значение стоплевел в торговых условиях ДЦ. И корректируем стоп и тейк не ниже значения стоплевел.

 

Да спасиб огромное дело было в пунктах.)))))))) а можно его как нибудь урезать чтобы закрывал сделки точно по TP и SL?

 

я имею эту часть кода:

//| Check for close order conditions |

//+------------------------------------------------------------------+
void CheckForClose()
{
double ma;
//---- go trading only for first tiks of new bar
if(Volume[0]>1) return;
//---- get Moving Average
ma=iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,0);
//----
for(int i=0;i<OrdersTotal();i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
if(OrderMagicNumber()!=MAGICMA || OrderSymbol()!=Symbol()) continue;
//---- check order type
if(OrderType()==OP_BUY)
{
if(Open[1]>ma && Close[1]<ma) OrderClose(OrderTicket(),OrderLots(),Bid,3,White);
break;
}
if(OrderType()==OP_SELL)
{
if(Open[1]<ma && Close[1]>ma) OrderClose(OrderTicket(),OrderLots(),Ask,3,White);

break;
}
}


что-бы сделки закрывались не по пересечениям а по SL и TP


Заранее спасибо.

 
gerber:

я имею эту часть кода:

//| Check for close order conditions

что-бы сделки закрывались не по пересечениям а по SL и TP


Заранее спасибо.

Убрать условия закрытия полностью, оставив только условия открытия с стопом и тейком.
Причина обращения: