не один советник не работает в метатрейдер 5 любая валютная пара - страница 6

 
на демо доллары
 
пробую здесь качаю роботов не 1 пока не сработал
 

переключился на доллары, штатные советники не работают, мои работают

тип исполнения ордеров должно быть ORDER_FILLING_RETURN 

 
sandex:

переключился на доллары, штатные советники не работают, мои работают

тип исполнения ордеров должно быть ORDER_FILLING_RETURN 

r куда этот тип вписыватЬ)
 
dogmaone:
r куда этот тип вписыватЬ)
если ваши роботы работают вы можете подсказать куда вписать значение нужное чтобы и стандартные роботы работали 
 

 Однозначно виновата логика в советниках (в коде не проходят или все проверки или не учитывается режим торговли).

По крайней мере такой простой код на сервере "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(),")");
     }
  }
//+------------------------------------------------------------------+
 
Karputov Vladimir:

 Однозначно виновата логика в советниках (в коде не проходят или все проверки или не учитывается режим торговли).

По крайней мере такой простой код на сервере "BCS5-Real" отрабатывает запросто:

подскажите пожалуйста когда я хочу компилировать ваш код : захожу создать (советник шаблон) доп обработчик событий какие выбрать?
 
Sergey Ponomarev:
подскажите пожалуйста когда я хочу компилировать ваш код : захожу создать (советник шаблон) доп обработчик событий какие выбрать?
Это скрипт. Этот скрипт для проверки того, что всё-таки на данном торговом сервере можно открывать позиции в автоматическом режиме.
 
Karputov Vladimir:
Это скрипт. Этот скрипт для проверки того, что всё-таки на данном торговом сервере можно открывать позиции в автоматическом режиме.
понятно... то есть на моём сервере у брокера нужна какае то другая логика?)))  
 
Karputov Vladimir:
Это скрипт. Этот скрипт для проверки того, что всё-таки на данном торговом сервере можно открывать позиции в автоматическом режиме.
спасибо вам за ваши старания :)