Привет. Спасибо вам за статью, очень грамотно расписали, НО как мне сделать мультивалютным его при таком шаблоне. Он удобен чтобы тестировать и привык к нему. Работает он по такому принципу:
If(МА1большеменьше...) { MqlTick last_tick; SymbolInfoTick(Symbol(), last_tick); price = last_tick.bid; if(TimeCurrent()-LastTradeTime<NextOpenTradeMinute*60)return;//next open trade after time if(!inTimeInterval(TimeCurrent(), TOD_From_Hour, TOD_From_Min, TOD_To_Hour, TOD_To_Min))return; if(TerminalInfoInteger(TERMINAL_TRADE_ALLOWED)&&MQLInfoInteger(MQL_TRADE_ALLOWED)) { Вотздесьонпосылаетменянафункциюниже ticket = myOrderSend(ORDER_TYPE_SELL, price, lot,""); if(ticket ==0)return; } else//not autotrading => only send alert myAlert("order",""); LastTradeTime=TimeCurrent(); }
Тут пытался методом тыка сделать его мультивалютным, но не могу разобраться, что и куда вписать. Попробовал все способы что нашел.
ulong myOrderSend(ENUM_ORDER_TYPE type,double price,double volume,string ordername)//send order, return ticket ("price" is irrelevant for market orders) {
if(!TerminalInfoInteger(TERMINAL_TRADE_ALLOWED)||!MQLInfoInteger(MQL_TRADE_ALLOWED))return(0); int retries =0; int long_trades =TradesCount(ORDER_TYPE_BUY); int short_trades =TradesCount(ORDER_TYPE_SELL); int long_pending =TradesCount(ORDER_TYPE_BUY_LIMIT)+TradesCount(ORDER_TYPE_BUY_STOP)+TradesCount(ORDER_TYPE_BUY_STOP_LIMIT); int short_pending =TradesCount(ORDER_TYPE_SELL_LIMIT)+TradesCount(ORDER_TYPE_SELL_STOP)+TradesCount(ORDER_TYPE_SELL_STOP_LIMIT); string ordername_ = comment; if(ordername !="") ordername_ ="("+ordername+")"; //test Hedging if(!Hedging&&((type %2==0&& short_trades + short_pending >0)||(type %2==1&& long_trades + long_pending >0))) { myAlert("print","Order "+ordername_+" not sent, hedging not allowed"); return(0); } //test maximum trades if((type %2==0&& long_trades >=MaxLongTrades) ||(type %2==1&& short_trades >=MaxShortTrades) ||(long_trades + short_trades >=MaxOpenTrades) ||(type >1&& long_pending + short_pending >=MaxPendingOrders)) { myAlert("print"," Order "+ordername_+" not sent, maximum reached"); return(0); } //prepare to send order MqlTradeRequest request; ZeroMemory(request); request.action =(type <=1)? TRADE_ACTION_DEAL : TRADE_ACTION_PENDING;
//set allowed filling type int filling =(int)SymbolInfoInteger(Symbol(),SYMBOL_FILLING_MODE); if(request.action == TRADE_ACTION_DEAL &&(filling &1)!=1) request.type_filling = ORDER_FILLING_IOC;
Чтобы написать отзыв или скачать файл, необходимо быть зарегистрированным пользователем. Если Вы уже регистрировались ранее, войдите под своим именем. Если Вы еще не регистрировались, то, пожалуйста, зарегистрируйтесь. Регистрация не займет много времени.
Справка: зарегистрированные пользователи могут добавлять и скачивать файлы, вести собственный блог, комментировать записи, обмениваться личными сообщениями с другими участниками и др.
Комментарии (1)
Тут пытался методом тыка сделать его мультивалютным, но не могу разобраться, что и куда вписать. Попробовал все способы что нашел.
[ 0 ] tar28263Зарегистрирован: 24 апреля 2019 | Сообщений: 0 - forex_neforex@mail.ru
Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий