Паша Опубликовано 5 января, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 5 января, 2017 Ок, спасибо за наводку. Мне, правда, уже на другом ресурсе сделали, но на будущее учту. Ссылка на сообщение Поделиться на другие сайты More sharing options...
Silentspec Опубликовано 5 января, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 5 января, 2017 Для каждого паттерна/пары/таймфрейма отдельно. Я вроде бы в статье даже прикладывал диаграммы соотношений по парам для каждого тф каждого паттерна. Ссылка на сообщение Поделиться на другие сайты More sharing options...
jadd Опубликовано 5 января, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 5 января, 2017 Подскажите с одним моментом:пытаюсь ставить отложенники в советнике, которые будут устанавливаться по сигналам и автоматически удаляться в определенное время при их не срабатывании, к примеру, в 15:00.Пишу Цитата datetime Expiration = StrToTime("15:00");OrderSend(NULL,OP_SELLSTOP,0.3,min_price-0.0006,3,SL,TP,"",123,Expiration,Green); но это работает только первый день на истории в тестере, а в остальные просто не выставляется ордер.В различных мануалах находил, что если указывать только время без даты, то это будет выполняться на текущий день. Но что-то не работает на остальные дни. Что я упускаю, подскажите? Ссылка на сообщение Поделиться на другие сайты More sharing options...
AndreyGold Опубликовано 6 января, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 6 января, 2017 Подскажите с одним моментом:пытаюсь ставить отложенники в советнике, которые будут устанавливаться по сигналам и автоматически удаляться в определенное время при их не срабатывании, к примеру, в 15:00.Пишу Цитата datetime Expiration = StrToTime("15:00");OrderSend(NULL,OP_SELLSTOP,0.3,min_price-0.0006,3,SL,TP,"",123,Expiration,Green); В журнале какую ошибку пишет ?но это работает только первый день на истории в тестере, а в остальные просто не выставляется ордер.В различных мануалах находил, что если указывать только время без даты, то это будет выполняться на текущий день. Но что-то не работает на остальные дни. Что я упускаю, подскажите? Ссылка на сообщение Поделиться на другие сайты More sharing options...
jadd Опубликовано 6 января, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 6 января, 2017 Выдает ошибку 4051, т.е. ERR_INVALID_FUNCTION_PARAMVALUE - Недопустимое значение параметра функциитолько, что ему не нравится не пойму. Если экспирацию ставлю 0, то работает без проблем. Получается в ней дело. Ссылка на сообщение Поделиться на другие сайты More sharing options...
AndreyGold Опубликовано 6 января, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 6 января, 2017 Догадка у меня такая - поскольку Вы не прописываете число в дату, то число берется текущее. В результате если по времени ордер пытается установится после 15:00 текущего числа, мы получаем ситуацию, что дата истечения отложки, которую вы пытаетесь прописать уже прошла. Думаю по этому поводу и ругается. Ссылка на сообщение Поделиться на другие сайты More sharing options...
scherbakovss Опубликовано 6 января, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 6 января, 2017 Есть два мт4 от одного брокера,установленные в разные папки.Задача передать значение переменой с терминала1,а с терминала2 ее считать и вывести алертом. Помогите?Я думал,через глобальные переменные,но они доступны только внутри терминала1,в котором и создаются.//---Запись глобальной переменной string name1="SL"; string name2="IN"; string name3="TP1"; string name4="TP2"; double value1=1.26224; double value2=1.26092; double value3=1.25960; double value4=1.25828; datetime dt1= GlobalVariableSet( name1,value1 ); datetime dt2= GlobalVariableSet( name2,value2 ); datetime dt3= GlobalVariableSet( name3,value3 ); datetime dt4= GlobalVariableSet( name4,value4 );//---Чтение глобальной переменой double SL= GlobalVariableGet(name1); Alert(SL);//Возвращает общее количество глобальных переменных Alert(GlobalVariablesTotal()); Ссылка на сообщение Поделиться на другие сайты More sharing options...
jadd Опубликовано 6 января, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 6 января, 2017 Решил вместо экспирации применить проверку на наличие отложенников в 15:00 и их удаление. По крайней мере мне проще реализовать))У меня другой вопрос еще есть. Никак не уловлю принцип OrderModify.Причем модификацию хочу провести только для открытых ордеров (OP_SELL и OP_BUY), чтобы переводить в безубыток по достижению n-го числа пунктов.Структура ее выглядит так: Цитата bool OrderModify( int ticket, // номер ордера double price, // цена открытия double stoploss, // stop loss double takeprofit, // take profit datetime expiration, // время истечения ордера color arrow_color // цвет ); Цену открытия нужно менять только для отложенников. Для открытого получается нужно писать просто ноль?К примеру я вошел по PriceIn: Цитата OrderSend(NULL, OP_BUY, 0.3, PriceIn, 3, SL, 0, "", 12345, 0, Green); Тогда, чтобы перевести в безубыток нужно следующую команду прописать: Цитата OrderModify(OrderTicket(), 0, PriceIn, 0, 0, Green); Верно понимаю? Ссылка на сообщение Поделиться на другие сайты More sharing options...
Silentspec Опубликовано 7 января, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 7 января, 2017 OrderOpenPrice(), почему ноль то? Ссылка на сообщение Поделиться на другие сайты More sharing options...
AndreyGold Опубликовано 7 января, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 7 января, 2017 Спойлер Решил вместо экспирации применить проверку на наличие отложенников в 15:00 и их удаление. По крайней мере мне проще реализовать))У меня другой вопрос еще есть. Никак не уловлю принцип OrderModify.Причем модификацию хочу провести только для открытых ордеров (OP_SELL и OP_BUY), чтобы переводить в безубыток по достижению n-го числа пунктов.Структура ее выглядит так: Цитата bool OrderModify( int ticket, // номер ордера double price, // цена открытия double stoploss, // stop loss double takeprofit, // take profit datetime expiration, // время истечения ордера color arrow_color // цвет ); Цену открытия нужно менять только для отложенников. Для открытого получается нужно писать просто ноль?К примеру я вошел по PriceIn: Цитата OrderSend(NULL, OP_BUY, 0.3, PriceIn, 3, SL, 0, "", 12345, 0, Green); Тогда, чтобы перевести в безубыток нужно следующую команду прописать: Цитата OrderModify(OrderTicket(), 0, PriceIn, 0, 0, Green); Верно понимаю? Не много не понял - "модификацию хочу провести только для открытых ордеров (OP_SELL и OP_BUY)" и чуть ниже фраза "Цену открытия нужно менять только для отложенников." Противоречие какое-то.OrderModify изменяет параметры уже существующего ордера, чтобы перевести в бу открытый уже ордерпросто в цену стоп-лоса ордера вставляем цену открытия ордера OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice(),OrderTakeProfit(), OrderExpiration(), Green);при этом цену открытия ордера мы уже изменить не можем - там должна стоять цена, по которой ордер уже открылся. Переменные лучше не использовать - или в такие переменные надо присваивать фактическую цену открытия, так как цена открытия рыночного ордера и цена открытия отложенного ордера часто разнятся из-за проскальзываний. Ссылка на сообщение Поделиться на другие сайты More sharing options...
jadd Опубликовано 7 января, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 7 января, 2017 Цитата Не много не понял - "модификацию хочу провести только для открытых ордеров (OP_SELL и OP_BUY)" и чуть ниже фраза "Цену открытия нужно менять только для отложенников." Противоречие какое-то. Это размышление вслух идет. Цитата OrderModify изменяет параметры уже существующего ордера, чтобы перевести в бу открытый уже ордерпросто в цену стоп-лоса ордера вставляем цену открытия ордера OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice(),OrderTakeProfit(), OrderExpiration(), Green); Спасибо, попрактикую!Добавлено: 07-01-2017 18:31:24Переводить в безубыток получается. Использую такой код: Цитата if (OrderSelect (i, SELECT_BY_POS, MODE_TRADES) && OrderType() == OP_SELL) OrderModify (OrderTicket(), OrderOpenPrice(), OrderOpenPrice(), 0, 0, clrRed); Однако когда пытаюсь ставить условие, по которому перевод в безубыток будет происходить, сразу возникает ошибка 1.К примеру: пытаюсь условие до простого доводить. Цена от входа на продажу 1.4210 до конца дня проходит до 1.4155.Пишу условие: Цитата if (Bid if (OrderSelect (i, SELECT_BY_POS, MODE_TRADES) && OrderType() == OP_SELL) OrderModify (OrderTicket(), OrderOpenPrice(), OrderOpenPrice(), 0, 0, clrRed); Сразу возникает ошибка 1.Пытаюсь отдельно проверять это условие через Print, всё работает - но модификация выводит ошибку.По какой причине могут происходить такие проблемы?Добавлено: 08-01-2017 09:58:51Заработало!По какой-то причине порой код отказывается исполняться если не прописать тип переменной на локальном уровне, непосредственно перед местом где он используется, хотя задан глобально в самом начале программе. Изменено 8 января, 2017 пользователем jadd Ссылка на сообщение Поделиться на другие сайты More sharing options...
Дмитрий_2008 Опубликовано 8 января, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 8 января, 2017 Будьте добры, подскажите где я ошибаюсь (речь о домашнем задании к последнему уроку). Теперь у меня появилось деление на ноль. Наверное опять где-то опечатка в программе, но не могу найти, странно то, что на некоторых парах все замечательно. Спасибо 123.jpgPriceActionPatterns_d.mq4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
rva7171 Опубликовано 8 января, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 8 января, 2017 Будьте добры, подскажите где я ошибаюсь (речь о домашнем задании к последнему уроку). Теперь у меня появилось деление на ноль. Наверное опять где-то опечатка в программе, но не могу найти, странно то, что на некоторых парах все замечательно. Спасибо Это не опечатка, там действительно нужно поправить код везде где при расчетах свечей производится деление, если в котировках свеча имеет Hi и Low по одной цене например, то разница будет 0 и соответственно далее на него деление - это и есть ошибка. 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
Silentspec Опубликовано 8 января, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 8 января, 2017 Точно, косяк в сове. Как то не подумал я, что на н1 или даже на д1 может быть свеча с равными хаем и лоем. Кстати, может ли? Думаю, такое маловероятно. А вот косячок в котировках вполне может быть. Кстати, надо бы свои котиры проверить, есть ли такие свечи... 1 Ссылка на сообщение Поделиться на другие сайты More sharing options...
lva Опубликовано 8 января, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 8 января, 2017 Подскажите пожалуйста как советнику объяснить что случился тейкпрофит или стоплосс? Нужно после такого события выдать определённую команду (например удалить или модифицировать отложку), а от чего оттолкнуться никак не соображу Ссылка на сообщение Поделиться на другие сайты More sharing options...
Дмитрий_2008 Опубликовано 8 января, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 8 января, 2017 Точно, косяк в сове. Как то не подумал я, что на н1 или даже на д1 может быть свеча с равными хаем и лоем. Кстати, может ли? Думаю, такое маловероятно. А вот косячок в котировках вполне может быть. Кстати, надо бы свои котиры проверить, есть ли такие свечи... Дмитрий, было бы замечательно, если бы вы подсказали как это красиво подправить. Хочется доделать задание)) Спасибо.rva7171 уважение вам, за быстрый и точный комментарий. Ссылка на сообщение Поделиться на другие сайты More sharing options...
rva7171 Опубликовано 8 января, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 8 января, 2017 Точно, косяк в сове. Как то не подумал я, что на н1 или даже на д1 может быть свеча с равными хаем и лоем. Кстати, может ли? Думаю, такое маловероятно. А вот косячок в котировках вполне может быть. Кстати, надо бы свои котиры проверить, есть ли такие свечи... Дмитрий, было бы замечательно, если бы вы подсказали как это красиво подправить. Хочется доделать задание)) Спасибо.rva7171 уважение вам, за быстрый и точный комментарий. Вот так как то и аналогично везде где деление//+------------------------------------------------------------------+int Rails() { double Close1=iClose(_Symbol,_Period,1); double Open1=iOpen(_Symbol,_Period,1); double Low1=iLow(_Symbol,_Period,1); double High1=iHigh(_Symbol,_Period,1); double Close2=iClose(_Symbol,_Period,2); double Open2=iOpen(_Symbol,_Period,2); double Low2=iLow(_Symbol,_Period,2); double High2=iHigh(_Symbol,_Period,2); HideTestIndicators(true); double ATR=iATR(_Symbol,_Period,14,1); HideTestIndicators(false); double Close3=iClose(_Symbol,_Period,3); double Open3=iOpen(_Symbol,_Period,3); double CandleBody1=1; double CandleSize1=1; double CandleSize2=1; if(MathAbs(Close1-Open1)!=0)CandleBody1=MathAbs(Close1-Open1); if(High1-Low1!=0)CandleSize1=High1-Low1; if(High2-Low2!=0)CandleSize2=High2-Low2; if(MathAbs(Close1-Open1)/CandleSize1>0.7 && MathAbs(Close2-Open2)/CandleSize2>0.7 && High1-Low1>0.7*ATR && High2-Low2>0.7*ATR && MathAbs(Close2-Open2)/CandleBody1>=0.7 && MathAbs(Close2-Open2)/CandleBody1 { if(Close1Open2&&Close3>Open3) return(-1); if(Close1>Open1&&Close2 } return(0); }//+------------------------------------------------------------------+ 2 Ссылка на сообщение Поделиться на другие сайты More sharing options...
IgorSanych Опубликовано 10 января, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 10 января, 2017 Здравствуйте, я хотел задать вопрос по 3му уроку, на нем писали советника по внешнему индикатору, я немного изменил условия сделки и получилось что на продажу все работает хорошо, а вот на покупку ордер не тралится. Подскажите пожалуйста как поправить ситуацию чтоб советник работал полноценно ТМА_за_переделы.mq4 Ссылка на сообщение Поделиться на другие сайты More sharing options...
scherbakovss Опубликовано 10 января, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 10 января, 2017 Помогите доделать запись всех сделок у файл лежащий в песочнице1)Он запрашивает только первую сделку2)только рыночный ордерНужно что бы все открытые сделки(рыночные и лимитные ордера) записывались у файл,а если какая то сделка закрылась то он должна из файла исчезнуть.Мне для билда 1010. [glow=red,2,300]//+------------------------------------------------------------------+//| Export_trade.mq4 |//| Copyright 2016, AM2 |//+------------------------------------------------------------------+#property copyright "Copyright 2016, AM2"#property link "http://www.forexsystems.biz"#property version "1.00"#property strictint type=0;double lot=0,sl=0,tp=0;//+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+int OnInit() {//---//--- return(INIT_SUCCEEDED); }//+------------------------------------------------------------------+//| Expert deinitialization function |//+------------------------------------------------------------------+void OnDeinit(const int reason) { Comment(""); }//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+void Log(string s="") {//--- Открываем файл int h=FileOpen("log.txt",FILE_READ|FILE_WRITE|FILE_TXT); FileWrite(h,s); FileClose(h); // закрываем файл }//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+void OnTick() { for(int i=OrdersTotal()-1;i>=0;i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { if(OrderSymbol()==Symbol()) { if(OrderType()==OP_BUY) { type=0; lot=OrderLots(); sl=OrderStopLoss(); tp=OrderTakeProfit(); } if(OrderType()==OP_SELL) { type=0; lot=OrderLots(); sl=OrderStopLoss(); tp=OrderTakeProfit(); } }//OrderSymbol sl=NormalizeDouble(sl,Digits); tp=NormalizeDouble(tp,Digits); Log(Symbol()+" "+(string)type+" "+(string)lot+" "+(string)sl+" "+(string)tp); RefreshRates(); }//OrderSelect }// Comment("\n Order Type: ",type, "\n Order Lots: ",lot, "\n StopLoss: ",sl, "\n TakeProfit: ",tp); }//+------------------------------------------------------------------+[/glow] Ссылка на сообщение Поделиться на другие сайты More sharing options...
Silentspec Опубликовано 10 января, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 10 января, 2017 Ты открываешь файл, записываешь сделку первую туда и тут же файл закрываешь.Убери функцию void Log(string s="")После void OnTick() {поставьint h=FileOpen("log.txt",FILE_READ|FILE_WRITE|FILE_TXT);Затем вместо Log(Symbol()+" "+(string)type+" "+(string)lot+" "+(string)sl+" "+(string)tp);ставь FileWrite(h,s); и записывай что тебе нужноа FileClose(h); // закрываем файл уже в самый конец, перед последней } Ссылка на сообщение Поделиться на другие сайты More sharing options...
scherbakovss Опубликовано 10 января, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 10 января, 2017 Ты открываешь файл, записываешь сделку первую туда и тут же файл закрываешь.Убери функцию void Log(string s="")После void OnTick() {поставьint h=FileOpen("log.txt",FILE_READ|FILE_WRITE|FILE_TXT);Затем вместо Log(Symbol()+" "+(string)type+" "+(string)lot+" "+(string)sl+" "+(string)tp);ставь FileWrite(h,s); и записывай что тебе нужноа FileClose(h); // закрываем файл уже в самый конец, перед последней } НЕ ПОМОГАЕТ.http://joxi.ru/E2p9xq3hkaKKAY//+------------------------------------------------------------------+//| Export.mq4 |//| Copyright 2016, AM2 |//| http://www.forexsystems.biz |//+------------------------------------------------------------------+#property copyright "Copyright 2016, AM2"#property link "http://www.forexsystems.biz"#property version "1.00"#property strictint type=0;double lot=0,sl=0,tp=0;string s="";//+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+int OnInit() {//---//--- return(INIT_SUCCEEDED); }//+------------------------------------------------------------------+//| Expert deinitialization function |//+------------------------------------------------------------------+void OnDeinit(const int reason) { Comment(""); }//+------------------------------------------------------------------+//| |//+------------------------------------------------------------------+ void Log(string s="") { }//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+void OnTick() { //--- Открываем файл int h=FileOpen("log.txt",FILE_READ|FILE_WRITE|FILE_TXT); for(int i=OrdersTotal()-1;i>=0;i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { if(OrderSymbol()==Symbol()) { if(OrderType()==OP_BUY) { type=0; lot=OrderLots(); sl=OrderStopLoss(); tp=OrderTakeProfit(); } if(OrderType()==OP_SELL) { type=1; lot=OrderLots(); sl=OrderStopLoss(); tp=OrderTakeProfit(); } }//OrderSymbol sl=NormalizeDouble(sl,Digits); tp=NormalizeDouble(tp,Digits); s=Symbol()+" "+(string)type+" "+(string)lot+" "+(string)sl+" "+(string)tp; FileWrite(h,s); RefreshRates(); }//OrderSelect FileClose(h); }// Comment("\n Order Type: ",type, "\n Order Lots: ",lot, "\n StopLoss: ",sl, "\n TakeProfit: ",tp); }//+------------------------------------------------------------------+ Ссылка на сообщение Поделиться на другие сайты More sharing options...
Silentspec Опубликовано 10 января, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 10 января, 2017 Не, сл, тп, s и filewrite нужно до закрывающей скобки поставить, той, где коммент с ордерсимволом Ссылка на сообщение Поделиться на другие сайты More sharing options...
scherbakovss Опубликовано 10 января, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 10 января, 2017 Не, сл, тп, s и filewrite нужно до закрывающей скобки поставить, той, где коммент с ордерсимволом Сделал пишет в файл njkmrj gjcktly.. cltkre?z nfr gjybvf. ne yf rjnjhjq dbcbn rjgbhjdobrhttp://joxi.ru/8An9nqahvyok2OДобавлено: 10-01-2017 20:17:09Не, сл, тп, s и filewrite нужно до закрывающей скобки поставить, той, где коммент с ордерсимволом void OnTick() { //--- Открываем файл int h=FileOpen("log.txt",FILE_READ|FILE_WRITE|FILE_TXT); for(int i=OrdersTotal()-1;i>=0;i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { if(OrderSymbol()==Symbol()) { if(OrderType()==OP_BUY) { type=0; lot=OrderLots(); sl=OrderStopLoss(); tp=OrderTakeProfit(); } if(OrderType()==OP_SELL) { type=1; lot=OrderLots(); sl=OrderStopLoss(); tp=OrderTakeProfit(); } sl=NormalizeDouble(sl,Digits); tp=NormalizeDouble(tp,Digits); s=Symbol()+" "+(string)type+" "+(string)lot+" "+(string)sl+" "+(string)tp; FileWrite(h,s); RefreshRates(); }//OrderSymbol }//OrderSelect FileClose(h); }// Ссылка на сообщение Поделиться на другие сайты More sharing options...
Silentspec Опубликовано 10 января, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 10 января, 2017 Ну, что не так то? Все правильно же работает,верно?Кстати, ты писал Цитата Нужно что бы все открытые сделки(рыночные и лимитные ордера) записывались у файл А проверку на лимитные и стоповые ордера я не вижу в коде.if(OrderType()==OP_SELLSTOP, SELLLimit, BUYLIMIT и т.д.И, кстати, тебе нужно по одной только паре все сделки или по всем?Наверное по всем, но тогда if(OrderSymbol()==Symbol()) - лишняя проверка. Ссылка на сообщение Поделиться на другие сайты More sharing options...
scherbakovss Опубликовано 10 января, 2017 Поделиться Обучение языку MQL4 под MetaTrader 4 Опубликовано 10 января, 2017 Ну, что не так то? Все правильно же работает,верно? Не работает,убрал проверку на валютную пару,добавил отложенные ордераhttp://joxi.ru/Grq9kplhMGqqrzvoid OnTick() { //--- Открываем файл int h=FileOpen("log.txt",FILE_READ|FILE_WRITE|FILE_TXT); for(int i=OrdersTotal()-1;i>=0;i--) { if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) { if(OrderType()==OP_BUY) { type=0; lot=OrderLots(); sl=OrderStopLoss(); tp=OrderTakeProfit(); } if(OrderType()==OP_SELL) { type=1; lot=OrderLots(); sl=OrderStopLoss(); tp=OrderTakeProfit(); } if(OrderType()==OP_BUYLIMIT) { type=2; lot=OrderLots(); sl=OrderStopLoss(); tp=OrderTakeProfit(); } if(OrderType()==OP_SELLLIMIT) { type=3; lot=OrderLots(); sl=OrderStopLoss(); tp=OrderTakeProfit(); } if(OrderType()==OP_BUYSTOP) { type=4; lot=OrderLots(); sl=OrderStopLoss(); tp=OrderTakeProfit(); } if(OrderType()==OP_SELLSTOP) { type=5; lot=OrderLots(); sl=OrderStopLoss(); tp=OrderTakeProfit(); } sl=NormalizeDouble(sl,Digits); tp=NormalizeDouble(tp,Digits); s=Symbol()+" "+(string)type+" "+(string)lot+" "+(string)sl+" "+(string)tp; FileWrite(h,s); RefreshRates(); }//OrderSelect FileClose(h); }// Ссылка на сообщение Поделиться на другие сайты More sharing options...
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти