[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3. - страница 519

 
sss2019:

Хотя ошибки 130 и 136 появляются у отложенных ордеров на покупку и продажу, а ошибка 129 только у рыночных на покупку

проверьте стопуровни для стопов
 
sergeev:

проверьте стопуровни для стопов

Стоп уровни меньше 5 пунктов, а я поставил больше 50, что за ерунда происходит.
 
5 пунктов 5-значных ?
 
sergeev:
5 пунктов 5-значных ?

Да стоп уровни здесь вообще не причем, я пробовал ставить стоп лосс и тейк профить по 500 пунктов на пятизнаке, и все равно такие же ошибки. Причем так странно, на одной свече все ордера без ошибко, а на другой ошибки появляются.
 
sss2019:

Да стоп уровни здесь вообще не причем, я пробовал ставить стоп лосс и тейк профить по 500 пунктов на пятизнаке, и все равно такие же ошибки. Причем так странно, на одной свече все ордера без ошибко, а на другой ошибки появляются.

потомучто упертый и стопуровни не проверяете.
 

Кто нибудь что нибудь знает про то как ДЦ борются с пипсовочными советниками.

Мой советник идеально ровно выигрывал с января по июнь 2011г с максимальной просадкой 4.02%, лот 0.1, с прибылью 500-600% в месяц. а с июля так же идеально и ровно проигрывал пол года.

Правда всё это на тестере и демо счёте, у разных ДЦ тестируется по разному.

 
Andreyu:

Кто нибудь что нибудь знает про то как ДЦ борются с пипсовочными советниками.

Мой советник идеально ровно выигрывал с января по июнь 2011г с максимальной просадкой 4.02%, лот 0.1, с прибылью 500-600% в месяц. а с июля так же идеально и ровно проигрывал пол года.

Правда всё это на тестере и демо счёте, у разных ДЦ тестируется по разному.

Cм. отсюда.
 
Добрый день. Пытаюсь открыть отложенные ордера вот таким образом:
if(Kvadrat==1)
   {
   double Lot=GetLot(MaxRisk);
   NewOrder(OP_SELLSTOP, Lot);
   NewOrder(OP_BUYSTOP, Lot);
   Kvadrat=0;
   }
............................

int NewOrder(int Cmd,double lot)
{
 double TP=0;// тейкпрофит
 double SL=0;// стоплос
 double PR=0;// цена
 while(!IsTradeAllowed())Sleep(100);
 if(TakeProfit<MarketInfo(Symbol(),MODE_STOPLEVEL))  
    TakeProfit=MarketInfo(Symbol(),MODE_STOPLEVEL);
 if(StopLoss<MarketInfo(Symbol(),MODE_STOPLEVEL))  
    StopLoss=MarketInfo(Symbol(),MODE_STOPLEVEL);
 if(Cmd==OP_BUYSTOP)
   {
    PR=NormalizeDouble(MAX,Digits);
    if(TakeProfit>0)TP=NormalizeDouble(MAX+TakeProfit*Point,Digits);
    if(StopLoss>0)  SL=NormalizeDouble(MAX-StopLoss*Point,Digits);
   }
 if(Cmd==OP_SELL)
   {
    PR=NormalizeDouble(MIN,Digits);
    if(TakeProfit>0)TP=NormalizeDouble(MIN-TakeProfit*Point,Digits);
    if(StopLoss>0)  SL=NormalizeDouble(MIN+StopLoss*Point,Digits);
   }
 tic=OrderSend(Symbol(),Cmd,lot,PR,3,SL,TP,"",0,0,CLR_NONE);
 if(tic<0)Print("шибка открытия ордера:",GetLastError()); Print("Cmd-",Cmd,"Lot=",lot,"PR=",PR,"SL=",SL,"TP=",TP);
return(tic);
}
но при тестировании в нужный момент открывается куча ордеров, хотя должны всего два в противоположные стороны. В чем тут ошибка? Я уже как то задовал этот вопрос и Уважаемый Reshetov предложил:
static int Kvadrat = 0;
Но данный способ не возымел результата. В чем тут ошибка?
 
Скажите как сделать параметр в котором задается несколько валютных пар списком, например EUSUSD,GBPUSD,USDCHF и чтобы советник торговал по этим парам в списке?
 
sss2019:
Скажите как сделать параметр в котором задается несколько валютных пар списком, например EUSUSD,GBPUSD,USDCHF и чтобы советник торговал по этим парам в списке?

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