замени
extern datetime Open_Time=D' 13:00'; //время открытия ордеров
на
extern int Open_Time=13; //время открытия ордеров
замени
if(Open_Time/60==TimeCurrent()/60)
на
if(Open_Time==Hour())
возможно твоя ошибка исчезнет! но обзательно появятся другие! учись прогать!
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте, я в программировании ничего не понимаю
кто нибудь может посмотреть код советника, открывает позиции в определенное время. Но почему-то он не работает. Выдает предупреждение: ' 13:00' - date literal string is incomplete Вот код советника:
//+------------------------------------------------------------------+ //| time_open.mq4 | //| | //| | //+------------------------------------------------------------------+ #property copyright "FXRaider" #property link "" //+--------------------------------------------------------------------------------------+ //| изменяемые переменные | extern double Lots=0.1; //рабочий лот extern int TP=10; //тейк профит extern int SL=0; //стоп лосс extern datetime Open_Time=D' 13:00'; //время открытия ордеров extern int slippage=2; //уровень допустимого реквота extern int MagicNumber=5345; //магическое число ордеров extern bool Open_Sell=false; //включение/выключение работы с sell-ордерами extern bool Open_Buy=false; //включение/выключение работы с buy-ордерами extern bool Open_Sell_Stop=false; //включение/выключение работы с sell stop-ордерами extern bool Open_Buy_Stop=false; //включение/выключение работы с buy stop-ордерами extern bool Open_Sell_Limit=false; //включение/выключение работы с sell limit-ордерами extern bool Open_Buy_Limit=false; //включение/выключение работы с buy limit-ордерами extern int Open_Level=30; //уровень отдаления от цены, на котором ставим отложенный ордер //| изменяемые переменные | //+--------------------------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { //---- //+----------------------------------------------------------------------------------------------+ //| поиск открытых ордеров по паре | bool pos_sell=false; for (int i_op_sell=OrdersTotal()-1; i_op_sell>=0; i_op_sell--) { if (!OrderSelect(i_op_sell,SELECT_BY_POS,MODE_TRADES)) break; if (Symbol()==OrderSymbol() &&(OrderType()==OP_SELL||OrderType()==OP_SELLSTOP||OrderType()==OP_SELLLIMIT) &&(OrderMagicNumber()==MagicNumber) &&MathFloor(OrderOpenTime()/60)==TimeCurrent()/60) { pos_sell=true; break; } } bool pos_buy=false; for (int i_op_buy=OrdersTotal()-1; i_op_buy>=0; i_op_buy--) { if (!OrderSelect(i_op_buy,SELECT_BY_POS,MODE_TRADES)) break; if (Symbol()==OrderSymbol() &&(OrderType()==OP_BUY||OrderType()==OP_BUYSTOP||OrderType()==OP_BUYLIMIT) &&(OrderMagicNumber()==MagicNumber) &&MathFloor(OrderOpenTime()/60)==TimeCurrent()/60) { pos_buy=true; break; } } //| поиск открытых ордеров по паре | //+----------------------------------------------------------------------------------------------+ //+--------------------------------------------+ //| расчёт TP и SL | double sl_buy, sl_sell, tp_buy, tp_sell ,sl_buy_stop, sl_sell_stop, tp_buy_stop, tp_sell_stop ,sl_buy_limit, sl_sell_limit, tp_buy_limit, tp_sell_limit; if(!SL) { sl_buy=0; sl_sell=0; sl_buy_stop=0; sl_sell_stop=0; sl_buy_limit=0; sl_sell_limit=0; } else { sl_buy=Ask-SL*Point; sl_sell=Bid+SL*Point; sl_buy_stop=Ask+Open_Level*Point-SL*Point; sl_sell_stop=Bid-Open_Level*Point+SL*Point; sl_buy_limit=Ask-Open_Level*Point-SL*Point; sl_sell_limit=Bid+Open_Level*Point+SL*Point; } if(!TP) { tp_buy=0; tp_sell=0; tp_buy_stop=0; tp_sell_stop=0; tp_buy_limit=0; tp_sell_limit=0; } else { tp_buy=Ask+TP*Point; tp_sell=Bid-TP*Point; tp_buy_stop=Ask+Open_Level*Point+TP*Point; tp_sell_stop=Bid-Open_Level*Point-TP*Point; tp_buy_limit=Ask-Open_Level*Point+TP*Point; tp_sell_limit=Bid+Open_Level*Point-TP*Point; } //| расчёт TP и SL | //+--------------------------------------------+ //+-----------------------------------------------------------------------------------------------------------+ //| открытие ордеров | if(Open_Time/60==TimeCurrent()/60) { if(!pos_buy) { if(Open_Buy) { OrderSend(Symbol(), OP_BUY, Lots, Bid, slippage, sl_buy,tp_buy, "time_open", MagicNumber, 0, NULL); } if(Open_Buy_Stop) { OrderSend(Symbol(), OP_BUYSTOP, Lots, Bid+Open_Level*Point, slippage, sl_buy_stop,tp_buy_stop, "time_open", MagicNumber, 0, NULL); } if(Open_Buy_Limit) { OrderSend(Symbol(), OP_BUYLIMIT, Lots, Bid-Open_Level*Point, slippage, sl_buy_limit,tp_buy_limit, "time_open", MagicNumber, 0, NULL); } } if(!pos_sell) { if(Open_Sell) { OrderSend(Symbol(), OP_SELL, Lots, Ask,slippage, sl_sell, tp_sell, "time_open", MagicNumber, 0, NULL); } if(Open_Sell_Stop) { OrderSend(Symbol(), OP_SELLSTOP, Lots, Ask-Open_Level*Point,slippage, sl_sell_stop, tp_sell_stop, "time_open", MagicNumber, 0, NULL); } if(Open_Sell_Limit) { OrderSend(Symbol(), OP_SELLLIMIT, Lots, Ask+Open_Level*Point,slippage, sl_sell_limit, tp_sell_limit, "time_open", MagicNumber, 0, NULL); } } } //| открытие ордеров | //+-----------------------------------------------------------------------------------------------------------+ //---- return(0); } //+------------------------------------------------------------------+