Я б на Вашем месте решил эту проблемму через скрипты. пишете скрип на открытие с любыми входными данными.
Вот посмотрите, может подойдет..
//+------------------------------------------------------------------+ //| EnterPliusMagic.mq4 | //+------------------------------------------------------------------+ #property copyright "Открывает ордер(+magic) по рыночной цене" #property link "http://www...net/" #include <stdlib.mqh> #include <WinUser32.mqh> #property show_inputs extern string o ="OrdType 0-BUY, 1-SELL(Укажи тип ордера!)"; extern int OrdType=-1; extern string oo ="OrdMagic - значение МагикНомер"; extern int OrdMagic=3011100; extern string ooo="OrdLots - кол-во лотов"; extern double OrdLots=0; //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ int start() { //---- if(OrdLots<=0){MessageBox("СКРИПТ ОСТАНОВЛЕН\r\n\nне указано кол-во лотов!", "Script-EnterPliusMagic",MB_OK|MB_ICONERROR); return(-1); } string sTyp=""; color clr=CLR_NONE; if(OrdType==0) {sTyp="BUY"; clr=Green;} else if(OrdType==1) {sTyp="SELL"; clr=Red;} else {MessageBox("СКРИПТ ОСТАНОВЛЕН\r\n\nтип ордера не выбран!\r\nУкажи тип: 0-BUY или 1-SELL", "Script-EnterPliusMagic",MB_OK|MB_ICONERROR); return(-1); } if(MessageBox("Будет выставлен ордер по рыночной цене?\r\n\n\t"+Symbol()+"\r\n\t" +sTyp+"\t:тип\r\n\t"+DoubleToStr(OrdLots,1)+"\t:лот\r\n\t"+OrdMagic+"\t:магик", "Script-EnterPliusMagic",MB_YESNO|MB_ICONQUESTION)!=IDYES) return(-1); //---- double prc=0; if(OrdType==0) prc=Ask; if(OrdType==1) prc=Bid; int ticket=OrderSend(Symbol(),OrdType,OrdLots,prc,3,0,0,"",OrdMagic,0,Gold); if(!ticket>0){int error=GetLastError(); Print("Error = ",ErrorDescription(error)); return(-1); } //---- OrderPrint(); return(0); } //+------------------------------------------------------------------+
Пишите логику советника с более широкими возможностями различия ордеров - например, по тикету.
Интересно, а планируют ли разработчики ввести Стакан в терминал. Сейчас некоторые брокеры позволяют прямой вывод на рынки по рыночным ценам. Эта информация была бы полезна некоторым трейдерам.
Вот посмотрите, может подойдет..
//+------------------------------------------------------------------+ //| EnterPliusMagic.mq4 | //+------------------------------------------------------------------+ #property copyright "Открывает ордер(+magic) по рыночной цене" #property link "http://www...net/" #include <stdlib.mqh> #include <WinUser32.mqh> #property show_inputs extern string o ="OrdType 0-BUY, 1-SELL(Укажи тип ордера!)"; extern int OrdType=-1; extern string oo ="OrdMagic - значение МагикНомер"; extern int OrdMagic=3011100; extern string ooo="OrdLots - кол-во лотов"; extern double OrdLots=0; //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ int start() { //---- if(OrdLots<=0){MessageBox("СКРИПТ ОСТАНОВЛЕН\r\n\nне указано кол-во лотов!", "Script-EnterPliusMagic",MB_OK|MB_ICONERROR); return(-1); } string sTyp=""; color clr=CLR_NONE; if(OrdType==0) {sTyp="BUY"; clr=Green;} else if(OrdType==1) {sTyp="SELL"; clr=Red;} else {MessageBox("СКРИПТ ОСТАНОВЛЕН\r\n\nтип ордера не выбран!\r\nУкажи тип: 0-BUY или 1-SELL", "Script-EnterPliusMagic",MB_OK|MB_ICONERROR); return(-1); } if(MessageBox("Будет выставлен ордер по рыночной цене?\r\n\n\t"+Symbol()+"\r\n\t" +sTyp+"\t:тип\r\n\t"+DoubleToStr(OrdLots,1)+"\t:лот\r\n\t"+OrdMagic+"\t:магик", "Script-EnterPliusMagic",MB_YESNO|MB_ICONQUESTION)!=IDYES) return(-1); //---- double prc=0; if(OrdType==0) prc=Ask; if(OrdType==1) prc=Bid; int ticket=OrderSend(Symbol(),OrdType,OrdLots,prc,3,0,0,"",OrdMagic,0,Gold); if(!ticket>0){int error=GetLastError(); Print("Error = ",ErrorDescription(error)); return(-1); } //---- OrderPrint(); return(0); } //+------------------------------------------------------------------+
Большое спасибо Ваш скрипт мне очень подошел. Я сам скрипты пока не делал. Думаю я разберусь и сам но если не в облом подскажите как из советника взять какие либо параметры в скрипт. Заранее спасибо.

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Вопрос касается открытия позиции. Хотелось бы иметь в меню открытия позиции возможность задания уникального номера. В категориях MLQ4 это параметр magic. Это необходимо тем которые работают с МТС. Приведу только два примера подтверждающих необходимость такой доработка.
Пример 1. Работает эксперт одновременно с несколькими инструментами и на каждый из них иногда открывает по нескольку позиций. Управление идет через magic,который передается параметром на каждый инструмент и иногда модифицируется самим экспертом. Я глазами вижу, что через 2-3 часа откроется позиция. Есть возможность ее открыть лучше, но после открытия хочется дальнейшее управление передать эксперту. Для этого я должен передать вместе с приказом на открытие позиции этот параметр magic.
Пример 2. Возникает необходимость по управлять с другого компьютера например закрыть позу на локальном экстремуме и затем открыть после отката и опять же вернуть управление эксперту.
В окне открытия есть возможность задания комментария, но это не то, да и вообще при открытии позы не до комментариев. Можно на это место поставить magic или добавить еще одну строку.