nov123:
Здравствуйте, я не давно начал работать с mql4, написал код а он не торгует помогите найти ошибку.
У Вас в журнале выдает ошибку типа 2013.01.17 10:41:37 2012.11.30 04:00 test EURUSD,H1: OrderSend error 130. Ненормализованные OrderOpenPrice, StopLoss, TakeProfit. Перед каждым OrderSend используйте для цены открытия, стоплосса и тейкпрофита функцию NormalizeDouble(ЦенаОткрытия или Стоплосс или ТейкПрофит,Digits);
У Вас не правильно вычисляются стоп уровни, СтопЛосс и ТейкПрофит выставляются в одну сторону, что при Селл,что при Бай. Для СеллЛимит у Вас Профит получается отрицательный для ордера(т.е. профит хотите с убытком). Для БайЛимита не смотрел.
dualbit:
У Вас не правильно вычисляются стоп уровни, СтопЛосс и ТейкПрофит выставляются в одну сторону, что при Селл,что при Бай. Для СеллЛимит у Вас Профит получается отрицательный для ордера(т.е. профит хотите с убытком). Для БайЛимита не смотрел.
У Вас не правильно вычисляются стоп уровни, СтопЛосс и ТейкПрофит выставляются в одну сторону, что при Селл,что при Бай. Для СеллЛимит у Вас Профит получается отрицательный для ордера(т.е. профит хотите с убытком). Для БайЛимита не смотрел.
Тем более и это...
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте, я не давно начал работать с mql4, написал код а он не торгует помогите найти ошибку.
#property copyright "TO"
#property link "http://www.forex-tradexperts-to.narod.ru"
#include <WinUser32.mqh>
extern int TP_Fract_3=300;
extern int SL_Fract_3=200;
extern int TP_Fract_11=500;
extern int SL_Fract_11=300;
extern bool buy_Fract_3=true;
extern bool sell_Fract_3=true;
extern bool buy_Fract_11=true;
extern bool sell_Fract_11=true;
extern bool podtvergdenie=false;
extern int tofract=10;
extern double lots=0.1;
extern int ID = 5452;
string com;
double spread;
int init()
{
com=DoubleToStr(ID,0);
spread=MarketInfo(Symbol(),MODE_SPREAD)*Point;
return(0);
}
int deinit()
{
return(0);
}
datetime t1,t2=0;
bool order(double price,int type,string c,int m)
{
int i;
for(i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderComment()==c && OrderMagicNumber()==m && OrderOpenPrice()==price && OrderType()==type)return(false);
if(i==0)return(true);
}
if(OrdersTotal()==0)return(true);
}
int start()
{
int i,ret;
t1=Time[0];
if(t1!=t2)
{
int fract_sell_3=iHighest(Symbol(), Period(),MODE_HIGH,5,1);
int fract_buy_3=iLowest(Symbol(), Period(),MODE_LOW,5,1);
int fract_sell_11=iHighest(Symbol(), Period(),MODE_HIGH,21,1);
int fract_buy_11=iLowest(Symbol(), Period(),MODE_LOW,21,1);
if( fract_sell_3==3 && sell_Fract_3==true)
{
if(OrdersTotal()==0)if(order(High[fract_sell_3]+tofract*Point+spread,4,com,5))OrderSend(Symbol(),OP_SELLLIMIT,lots,High[fract_sell_3]+tofract*Point+spread,10,High[fract_sell_3]+tofract*Point-SL_Fract_3*Point,High[fract_sell_3]+tofract*Point+spread+TP_Fract_3*Point,com,5);
for(i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderComment()==com && OrderMagicNumber()==5 && OrderType()==4)
{
OrderModify(OrderTicket(),High[fract_sell_3]+tofract*Point+spread, High[fract_sell_3]+tofract*Point-SL_Fract_3*Point, High[fract_sell_3]+tofract*Point+spread+TP_Fract_3*Point,0,Blue);
break;
}
if(i==0)if(order(High[fract_sell_3]+tofract*Point+spread,4,com,5))
{
if(podtvergdenie)
{
ret=MessageBox("Сигнал на "+Symbol()+" H1 SELLLIMIT "+"\nУстановить ордер?", "Signal", MB_YESNO|MB_ICONQUESTION);
if(ret==IDYES)OrderSend(Symbol(),OP_SELLLIMIT,lots,High[fract_sell_3]+tofract*Point+spread,10,High[fract_sell_3]+tofract*Point-SL_Fract_3*Point,High[fract_sell_3]+tofract*Point+spread+TP_Fract_3*Point,com,5);
}
if(!podtvergdenie)OrderSend(Symbol(),OP_SELLLIMIT,lots,High[fract_sell_3]+tofract*Point+spread,10,High[fract_sell_3]+tofract*Point-SL_Fract_3*Point,High[fract_sell_3]+tofract*Point+spread+TP_Fract_3*Point,com,5);
}
}
}
if( fract_buy_3==3 && buy_Fract_3==true)
{
if(OrdersTotal()==0)if(order(Low[fract_buy_3]-tofract*Point,5,com,5))OrderSend(Symbol(),OP_BUYLIMIT,lots,Low[fract_buy_3]-tofract*Point,10,Low[fract_buy_3]+spread-tofract*Point+SL_Fract_3*Point,Low[fract_buy_3]-tofract*Point-TP_Fract_3*Point,com,5);
for(i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderComment()==com && OrderMagicNumber()==5 && OrderType()==5)
{
OrderModify(OrderTicket(),Low[fract_buy_3]-tofract*Point,Low[fract_buy_3]+spread-tofract*Point+SL_Fract_3*Point,Low[fract_buy_3]-tofract*Point-TP_Fract_3*Point,0,Red);
break;
}
if(i==0)if(order(Low[fract_buy_3]-tofract*Point,5,com,5))
{
if(podtvergdenie)
{
ret=MessageBox("Сигнал на "+Symbol()+" H1 BUYLIMIT "+"\nУстановить ордер?", "Signal", MB_YESNO|MB_ICONQUESTION);
if(ret==IDYES)OrderSend(Symbol(),OP_BUYLIMIT,lots,Low[fract_buy_3]-tofract*Point,10,Low[fract_buy_3]+spread-tofract*Point+SL_Fract_3*Point,Low[fract_buy_3]-tofract*Point-TP_Fract_3*Point,com,5);
}
if(!podtvergdenie)OrderSend(Symbol(),OP_BUYLIMIT,lots,Low[fract_buy_3]-tofract*Point,10,Low[fract_buy_3]+spread-tofract*Point+SL_Fract_3*Point,Low[fract_buy_3]-tofract*Point-TP_Fract_3*Point,com,5);
}
}
}
if( fract_sell_11==11 && sell_Fract_11==true)
{
if(OrdersTotal()==0)if(order(High[fract_sell_11]+tofract*Point+spread,4,com,21))OrderSend(Symbol(),OP_SELLLIMIT,lots,High[fract_sell_11]+tofract*Point+spread,10,High[fract_sell_11]+tofract*Point-SL_Fract_11*Point,High[fract_sell_11]+tofract*Point+spread+TP_Fract_11*Point,com,21);
for(i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderComment()==com && OrderMagicNumber()==21 && OrderType()==4)
{
OrderModify(OrderTicket(),High[fract_sell_11]+tofract*Point+spread, High[fract_sell_11]+tofract*Point-SL_Fract_11*Point, High[fract_sell_11]+tofract*Point+spread+TP_Fract_11*Point,0,Blue);
break;
}
if(i==0)if(order(High[fract_sell_11]+tofract*Point+spread,4,com,21))
{
if(podtvergdenie)
{
ret=MessageBox("Сигнал на "+Symbol()+" H4 SELLLIMIT "+"\nУстановить ордер?", "Signal", MB_YESNO|MB_ICONQUESTION);
if(ret==IDYES)OrderSend(Symbol(),OP_SELLLIMIT,lots,High[fract_sell_11]+tofract*Point+spread,10,High[fract_sell_11]+tofract*Point-SL_Fract_11*Point,High[fract_sell_11]+tofract*Point+spread+TP_Fract_11*Point,com,21);
}
if(!podtvergdenie)OrderSend(Symbol(),OP_SELLLIMIT,lots,High[fract_sell_11]+tofract*Point+spread,10,High[fract_sell_11]+tofract*Point-SL_Fract_11*Point,High[fract_sell_11]+tofract*Point+spread+TP_Fract_11*Point,com,21);
}
}
}
if( fract_buy_11==11 && buy_Fract_11==true)
{
if(OrdersTotal()==0)if(order(Low[fract_buy_11]-tofract*Point,5,com,21))OrderSend(Symbol(),OP_BUYLIMIT,lots,Low[fract_buy_11]-tofract*Point,10,Low[fract_buy_11]+spread-tofract*Point+SL_Fract_11*Point,Low[fract_buy_11]-tofract*Point-TP_Fract_11*Point,com,21);
for(i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderComment()==com && OrderMagicNumber()==21 && OrderType()==5)
{
OrderModify(OrderTicket(),Low[fract_buy_11]-tofract*Point,Low[fract_buy_11]+spread-tofract*Point+SL_Fract_11*Point,Low[fract_buy_11]-tofract*Point-TP_Fract_11*Point,0,Red);
break;
}
if(i==0)if(order(Low[fract_buy_11]-tofract*Point,5,com,21))
{
if(podtvergdenie)
{
ret=MessageBox("Сигнал на "+Symbol()+" H4 SELLLIMIT "+"\nУстановить ордер?", "Signal", MB_YESNO|MB_ICONQUESTION);
if(ret==IDYES)OrderSend(Symbol(),OP_BUYLIMIT,lots,Low[fract_buy_11]-tofract*Point,10,Low[fract_buy_11]+spread-tofract*Point+SL_Fract_11*Point,Low[fract_buy_11]-tofract*Point-TP_Fract_11*Point,com,21);
}
if(!podtvergdenie)OrderSend(Symbol(),OP_BUYLIMIT,lots,Low[fract_buy_11]-tofract*Point,10,Low[fract_buy_11]+spread-tofract*Point+SL_Fract_11*Point,Low[fract_buy_11]-tofract*Point-TP_Fract_11*Point,com,21);
}
}
}
t2=Time[0];
}
return(0);
}