//+------------------------------------------------------------------+ //| 45.mq4 | //| FOReignEXchange2008 | //| http://forexsignal.sk6.ru | //+------------------------------------------------------------------+ #property copyright "FOReignEXchange2008" #property link "http://forexsignal.sk6.ru" extern double Lot = 0.1; extern int TP=4; extern int SL=50; int ticket_Sell, t_close_Buy, t_close_Sell, ticket_Buy; int start() { if (ticket_Sell==0 && ticket_Buy==0) { ticket_Sell=OrderSend(Symbol(),OP_SELL,Lot,Bid,5,Bid+SL*Point,Bid-TP*Point); ticket_Buy=OrderSend(Symbol(),OP_BUY,Lot,Ask,5,Bid-SL*Point,Ask+TP*Point); } if (OrderSelect(ticket_Buy, SELECT_BY_TICKET,MODE_HISTORY)==true) { t_close_Buy=OrderCloseTime(); if (t_close_Buy!=0) { t_close_Buy=0; ticket_Buy=0; } } if (OrderSelect(ticket_Sell, SELECT_BY_TICKET,MODE_HISTORY)==true) { t_close_Sell=OrderCloseTime(); if (t_close_Sell!=0) { t_close_Sell=0; ticket_Sell=0; } } }
Всё и так повоторяется. Ещё надо сделать учёт ордеров, что при загрузге терминала проверялось наличие ордеров. Чуть позже может сделаю.
Так всё же повторяется. По-позже сделаю учёт ордеров и всё будет норм при перегрузке терминала. Чуть позже только.
//+------------------------------------------------------------------+ //| 45.mq4 | //| FOReignEXchange2008 | //| http://forexsignal.sk6.ru | //+------------------------------------------------------------------+ #property copyright "FOReignEXchange2008" #property link "http://forexsignal.sk6.ru" extern double Lot = 0.1; extern int TP=4; extern int SL=50; //+--------------------------------------------------------------------------------------------+ int ticket_Sell, Kol, t_close_Buy, t_close_Sell, ticket_Buy; //+--------------------------------------------------------------------------------------------+ int start() { //+--------------------------------------------------------------------------------------------+ //Учёт ордеров //+--------------------------------------------------------------------------------------------+ Kol=0; for (int i=0; i<5; i++) { if ((OrderSelect(i, SELECT_BY_POS)==true) && (OrderSymbol()==Symbol())) { Kol=Kol+1; } } if (Kol==0 && ticket_Buy==1 && ticket_Sell==1) { ticket_Sell=0; ticket_Buy=0; } if (Kol>0 && ticket_Buy==1 && ticket_Sell==1) return; if (Kol>0 && ticket_Buy==0 && ticket_Sell==0) { Alert ("Открытых ордеров ", Kol, ", ждём закрытия"); ticket_Sell=1; ticket_Buy=1; return; } //+--------------------------------------------------------------------------------------------+ //+--------------------------------------------------------------------------------------------+ //Открытие позиций //+--------------------------------------------------------------------------------------------+ if (ticket_Sell==0 && ticket_Buy==0) { ticket_Sell=OrderSend(Symbol(),OP_SELL,Lot,Bid,5,Bid+SL*Point,Bid-TP*Point); ticket_Buy=OrderSend(Symbol(),OP_BUY,Lot,Ask,5,Bid-SL*Point,Ask+TP*Point); } //+--------------------------------------------------------------------------------------------+ //+--------------------------------------------------------------------------------------------+ //Закрытие ордеров //+--------------------------------------------------------------------------------------------+ if (OrderSelect(ticket_Buy, SELECT_BY_TICKET,MODE_HISTORY)==true) { t_close_Buy=OrderCloseTime(); if (t_close_Buy!=0) { t_close_Buy=0; ticket_Buy=0; } } if (OrderSelect(ticket_Sell, SELECT_BY_TICKET,MODE_HISTORY)==true) { t_close_Sell=OrderCloseTime(); if (t_close_Sell!=0) { t_close_Sell=0; ticket_Sell=0; } } //+--------------------------------------------------------------------------------------------+ }
Вот тут всё нормально. Игрушка должна работать. Но послушайте. Всё равно сольёте, если будете торговать на этом.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
//+------------------------------------------------------------------+
//| 45.mq4 |
//| FOReignEXchange2008 |
//| http://forexsignal.sk6.ru |
//+------------------------------------------------------------------+
#property copyright "FOReignEXchange2008"
#property link "http://forexsignal.sk6.ru"
extern double Lot = 0.1;
extern int TP=4;
extern int SL=50;
int ticket_Sell,
t_close_Buy,
t_close_Sell,
ticket_Buy;
int start()
{
if (ticket_Sell==0 && ticket_Buy==0)
{
ticket_Sell=OrderSend(Symbol(),OP_SELL,Lot,Bid,5,Bid+SL*Point,Bid-TP*Point);
ticket_Buy=OrderSend(Symbol(),OP_BUY,Lot,Ask,5,Bid-SL*Point,Ask+TP*Point);
}
if(OrderSelect(ticket_Buy, SELECT_BY_TICKET,MODE_HISTORY)==true)
{
t_close_Buy=OrderCloseTime();
if (t_close_Buy!=0)
{
t_close_Buy=0;
ticket_Buy=0;
}
}
if(OrderSelect(ticket_Sell, SELECT_BY_TICKET,MODE_HISTORY)==true)
{
t_close_Sell=OrderCloseTime();
if (t_close_Sell!=0)
{
t_close_Sell=0;
ticket_Sell=0;
}
}
}
Нужно чтобы после закрытия последнего ордера всё повторялось.И чтобы при открытия терминала ордера не открывались,а открывались после того,как оставшиеся закрывались