Скачать MetaTrader 5

Market Execution ошибка 130(Неправильные стопы)

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Evgeniy Takalov
495
Evgeniy Takalov  
ёмаё делаю все как положено, открыть позицию OrderSend() затем OrderModify(), он один хер 130 выдает, че за на?
Evgeniy Takalov
495
Evgeniy Takalov  
поясню, открываю позицию со стопами 0... 130 возвращает OrderModify()
Evgeniy Takalov
495
Evgeniy Takalov  
И, кстати еще кое что.... Добавьте MIME-тип "application/octet-stream" к файлам MQ4, а то некоторые дебильные арбузы(как у меня) вызывают несуществующий плагин))
PapaYozh
3768
PapaYozh  
Evgeno:
ёмаё делаю все как положено, открыть позицию OrderSend() затем OrderModify(), он один хер 130 выдает, че за на?

Передаваемые в функцию цены нормализуйте.
Evgeniy Takalov
495
Evgeniy Takalov  

PapaYozh:

Передаваемые в функцию цены нормализуйте.


if(MarketExec==true){
Tick=OrderSend(Symb,OP_SELL,Vol,Bid,Slippage,0,0);
OrderSelect(Tick,SELECT_BY_TICKET);
Sleep(2000);
OrderModify(Tick,OrderOpenPrice(),NormalizeDouble(SL,Digits),NormalizeDouble(TP,Digits),0);
if(UseSound==true) PlaySound(SND_Order);
MaskOn();
return(Tick);
}

Всеравно так же
Дмитрий
1460
Дмитрий  
Читайте документацию, которая прямо в Метаидиторе.
Дмитрий
1460
Дмитрий  
Evgeno:


if(MarketExec==true){
Tick=OrderSend(Symb,OP_SELL,Vol,Bid,Slippage,0,0);
OrderSelect(Tick,SELECT_BY_TICKET);
Sleep(2000);
OrderModify(Tick,OrderOpenPrice(),NormalizeDouble(SL,Digits),NormalizeDouble(TP,Digits),0);
if(UseSound==true) PlaySound(SND_Order);
MaskOn();
return(Tick);
}

Всеравно так же
Неверно вызываете Ордерсенд, стопы пропущены.
Роман
7939
Роман  
Evgeno:


if(MarketExec==true){
Tick=OrderSend(Symb,OP_SELL,Vol,Bid,Slippage,0,0);
OrderSelect(Tick,SELECT_BY_TICKET);
Sleep(2000);
OrderModify(Tick,OrderOpenPrice(),NormalizeDouble(SL,Digits),NormalizeDouble(TP,Digits),0);
if(UseSound==true) PlaySound(SND_Order);
MaskOn();
return(Tick);
}

Всеравно так же

Посмотрите порядок организации всех торговых ф-ий, особенно последней ф-ии (трала) на этой страничке учебника - у Вас отсутствуют необходимые проверки мин дистанций модифицируемых ордеров соответствия требованиям и ограничениям проведения торговых операций.
Evgeniy Takalov
495
Evgeniy Takalov  

int OpBuy(string Symb="",double Vol=NULL,int StLs=-1,int TkPr=-1,string Snd=""){
Fncs++;
if(Reverse==true) CloseSells();
if(Symb=="") Symb=Symbol();
if(StLs==-1) StLs=StopLoss;
if(TkPr==-1) TkPr=TakeProfit;
if(Vol==NULL) Vol=Lots;
double SL=0;
double TP=0;
int Tick=0;
if(StLs>0 && StLs<MarketInfo(Symbol(),MODE_STOPLEVEL)+LevelShift) StLs=MarketInfo(Symbol(),MODE_STOPLEVEL)+LevelShift;
if(TkPr>0 && TkPr<MarketInfo(Symbol(),MODE_STOPLEVEL)+LevelShift) TkPr=MarketInfo(Symbol(),MODE_STOPLEVEL)+LevelShift;
RefreshRates();
if(StLs>0) SL=Ask-StLs*Point;
if(TkPr>0) TP=Ask+TkPr*Point;
//ReqOn();
ReqOn("Запрос на сервер");
if(MarketExec==true){
Tick=OrderSend(Symb,OP_SELL,Vol,Bid,Slippage,0,0);
OrderSelect(Tick,SELECT_BY_TICKET);
Sleep(2000);
OrderModify(Tick,OrderOpenPrice(),NormalizeDouble(SL,Digits),NormalizeDouble(TP,Digits),0);
if(UseSound==true) PlaySound(SND_Order);
MaskOn();
return(Tick);
}
for(int i=1;i<=Requots;i++){
Reqs++;

Tick=OrderSend(Symb,OP_BUY,Vol,Ask,Slippage,SL,TP);
if(Tick>0){
if(UseSound==true) PlaySound(SND_Order);
MaskOn();
ReqOn("Запрос на сервер","Открыт BUY!","",1000);
return(Tick);
}
else{
if(GetLastError()!=135){
Error(GetLastError());
return(0);
}
}
ReqOn("Запрос на сервер","РЕКВОТ! Попытка № "+DoubleToStr(i+1,0));
}
if(UseSound==true) PlaySound(SND_Order);
MaskOn();
return(Tick);
}

Вот полная функция

Alexander
2441
Alexander  
Evgeno:

int OpBuy(string Symb="",double Vol=NULL,int StLs=-1,int TkPr=-1,string Snd=""){
Fncs++;
if(Reverse==true) CloseSells();
if(Symb=="") Symb=Symbol();
if(StLs==-1) StLs=StopLoss;
if(TkPr==-1) TkPr=TakeProfit;
if(Vol==NULL) Vol=Lots;
double SL=0;
double TP=0;
int Tick=0;
if(StLs>0 && StLs<MarketInfo(Symbol(),MODE_STOPLEVEL)+LevelShift) StLs=MarketInfo(Symbol(),MODE_STOPLEVEL)+LevelShift;
if(TkPr>0 && TkPr<MarketInfo(Symbol(),MODE_STOPLEVEL)+LevelShift) TkPr=MarketInfo(Symbol(),MODE_STOPLEVEL)+LevelShift;
RefreshRates();
if(StLs>0) SL=Ask-StLs*Point;
if(TkPr>0) TP=Ask+TkPr*Point;
//ReqOn();
ReqOn("Запрос на сервер");
if(MarketExec==true){
Tick=OrderSend(Symb,OP_SELL,Vol,Bid,Slippage,0,0);
OrderSelect(Tick,SELECT_BY_TICKET);
Sleep(2000);
OrderModify(Tick,OrderOpenPrice(),NormalizeDouble(SL,Digits),NormalizeDouble(TP,Digits),0);
if(UseSound==true) PlaySound(SND_Order);
MaskOn();
return(Tick);
}
for(int i=1;i<=Requots;i++){
Reqs++;

Tick=OrderSend(Symb,OP_BUY,Vol,Ask,Slippage,SL,TP);
if(Tick>0){
if(UseSound==true) PlaySound(SND_Order);
MaskOn();
ReqOn("Запрос на сервер","Открыт BUY!","",1000);
return(Tick);
}
else{
if(GetLastError()!=135){
Error(GetLastError());
return(0);
}
}
ReqOn("Запрос на сервер","РЕКВОТ! Попытка № "+DoubleToStr(i+1,0));
}
if(UseSound==true) PlaySound(SND_Order);
MaskOn();
return(Tick);
}

Вот полная функция

Типа, заходим, чтобы купить, все для этого готовим, а потом - бац! и продаем.
Роман
7939
Роман  
Roger:
Типа, заходим, чтобы купить, все для этого готовим, а потом - бац! и продаем.

Да... :-))) Это мошь просто фишка такая - работаем на отбой... :-))) (включаем реверс) - типа как торги по 5-ти измерениям Б.Вильямса - я делал прямую (на трендовых инструментах - доливаемся по тренду) и обратную версию(на флетовых типа EURGBP)...(работаем в канале - где раньше покупали сейчас продаем...:-)))
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий