не один советник не работает в метатрейдер 5 любая валютная пара - страница 6 1234567 Новый комментарий Sergey Ponomarev 2015.04.29 12:39 #51 на демо доллары Sergey Ponomarev 2015.04.29 12:42 #52 пробую здесь качаю роботов не 1 пока не сработал Alexander Bereznyak 2015.04.29 12:56 #53 переключился на доллары, штатные советники не работают, мои работаюттип исполнения ордеров должно быть ORDER_FILLING_RETURN Sergey Ponomarev 2015.04.29 13:35 #54 sandex: переключился на доллары, штатные советники не работают, мои работаюттип исполнения ордеров должно быть ORDER_FILLING_RETURN r куда этот тип вписыватЬ) Sergey Ponomarev 2015.04.29 14:10 #55 dogmaone: r куда этот тип вписыватЬ)если ваши роботы работают вы можете подсказать куда вписать значение нужное чтобы и стандартные роботы работали Vladimir Karputov 2015.04.29 16:41 #56 Однозначно виновата логика в советниках (в коде не проходят или все проверки или не учитывается режим торговли).По крайней мере такой простой код на сервере "BCS5-Real" отрабатывает запросто://+------------------------------------------------------------------+ //| OrderSend.mq5 | //| Copyright © 2015, Vladimir Karputov | //| http://wmua.ru/slesar/ | //+------------------------------------------------------------------+ #property copyright "Copyright © 2015, Vladimir Karputov" #property link "http://wmua.ru/slesar/" #property version "1.00" //+------------------------------------------------------------------+ //| https://www.mql5.com/ru/articles/481 | //+------------------------------------------------------------------+ #include<Trade\Trade.mqh> //--- объект для проведения торговых операций CTrade trade; //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //--- зададим MagicNumber для идентификации своих ордеров int MagicNumber=123456; trade.SetExpertMagicNumber(MagicNumber); //--- установим допустимое проскальзывание в пунктах при совершении покупки/продажи int deviation=10; trade.SetDeviationInPoints(deviation); //--- режим заполнения ордера, нужно использовать тот режим, который разрешается сервером trade.SetTypeFilling(ORDER_FILLING_RETURN); //--- режим логирования: лучше не вызывать этот метод вообще, класс сам выставит оптимальный режим trade.LogLevel(1); //--- какую функцию использовать для торговли: true - OrderSendAsync(), false - OrderSend() trade.SetAsyncMode(true); //--- /*//--- 1. пример покупки по текущему символу if(!trade.Buy(0.1)) { //--- сообщим о неудаче Print("Метод Buy() потерпел неудачу. Код возврата=",trade.ResultRetcode(), ". Описание кода: ",trade.ResultRetcodeDescription()); } else { Print("Метод Buy() выполнен успешно. Код возврата=",trade.ResultRetcode(), " (",trade.ResultRetcodeDescription(),")"); }*/ /*//--- 2. пример покупки по указанному символу if(!trade.Buy(0.1,"GBPUSD")) { //--- сообщим о неудаче Print("Метод Buy() потерпел неудачу. Код возврата=",trade.ResultRetcode(), ". Описание кода: ",trade.ResultRetcodeDescription()); } else { Print("Метод Buy() выполнен успешно. Код возврата=",trade.ResultRetcode(), " (",trade.ResultRetcodeDescription(),")"); }*/ //Можно указать все параметры ордера: уровни Stop Loss/Take Profit,цена открытия и комментарий. //--- 3. пример покупки по указанному символу символу с заданными SL и TP double volume=0.1; // укажем объем торговой операции string symbol="GBPUSD"; // укажем символ, на котором проводится операция int digits=(int)SymbolInfoInteger(symbol,SYMBOL_DIGITS); // количество знаков после запятой double point=SymbolInfoDouble(symbol,SYMBOL_POINT); // пункт double bid=SymbolInfoDouble(symbol,SYMBOL_BID); // текущая цена для закрытия LONG double SL=bid-1000*point; // ненормализованное значение SL SL=NormalizeDouble(SL,digits); // нормализуем Stop Loss double TP=bid+1000*point; // ненормализованное значение TP TP=NormalizeDouble(TP,digits); // нормализуем Take Profit //--- получим текущую цену открытия для LONG позиций double open_price=SymbolInfoDouble(symbol,SYMBOL_ASK); string comment=StringFormat("Buy %s %G lots at %s, SL=%s TP=%s", symbol,volume, DoubleToString(open_price,digits), DoubleToString(SL,digits), DoubleToString(TP,digits)); if(!trade.Buy(volume,symbol,open_price,SL,TP,comment)) { //--- сообщим о неудаче Print("Метод Buy() потерпел неудачу. Код возврата=",trade.ResultRetcode(), ". Описание кода: ",trade.ResultRetcodeDescription()); } else { Print("Метод Buy() выполнен успешно. Код возврата=",trade.ResultRetcode(), " (",trade.ResultRetcodeDescription(),")"); } } //+------------------------------------------------------------------+ Sergey Ponomarev 2015.04.29 17:03 #57 Karputov Vladimir: Однозначно виновата логика в советниках (в коде не проходят или все проверки или не учитывается режим торговли).По крайней мере такой простой код на сервере "BCS5-Real" отрабатывает запросто:подскажите пожалуйста когда я хочу компилировать ваш код : захожу создать (советник шаблон) доп обработчик событий какие выбрать? Vladimir Karputov 2015.04.29 17:05 #58 Sergey Ponomarev: подскажите пожалуйста когда я хочу компилировать ваш код : захожу создать (советник шаблон) доп обработчик событий какие выбрать?Это скрипт. Этот скрипт для проверки того, что всё-таки на данном торговом сервере можно открывать позиции в автоматическом режиме. Sergey Ponomarev 2015.04.29 17:08 #59 Karputov Vladimir: Это скрипт. Этот скрипт для проверки того, что всё-таки на данном торговом сервере можно открывать позиции в автоматическом режиме.понятно... то есть на моём сервере у брокера нужна какае то другая логика?))) Sergey Ponomarev 2015.04.29 17:08 #60 Karputov Vladimir: Это скрипт. Этот скрипт для проверки того, что всё-таки на данном торговом сервере можно открывать позиции в автоматическом режиме.спасибо вам за ваши старания :) 1234567 Новый комментарий
переключился на доллары, штатные советники не работают, мои работают
тип исполнения ордеров должно быть ORDER_FILLING_RETURN
переключился на доллары, штатные советники не работают, мои работают
тип исполнения ордеров должно быть ORDER_FILLING_RETURN
r куда этот тип вписыватЬ)
Однозначно виновата логика в советниках (в коде не проходят или все проверки или не учитывается режим торговли).
По крайней мере такой простой код на сервере "BCS5-Real" отрабатывает запросто:
Однозначно виновата логика в советниках (в коде не проходят или все проверки или не учитывается режим торговли).
По крайней мере такой простой код на сервере "BCS5-Real" отрабатывает запросто:
подскажите пожалуйста когда я хочу компилировать ваш код : захожу создать (советник шаблон) доп обработчик событий какие выбрать?
Это скрипт. Этот скрипт для проверки того, что всё-таки на данном торговом сервере можно открывать позиции в автоматическом режиме.
Это скрипт. Этот скрипт для проверки того, что всё-таки на данном торговом сервере можно открывать позиции в автоматическом режиме.