kein einziger Advisor funktioniert in Metatrader 5 nicht, egal welches Währungspaar - Seite 6

 
auf Demo-Dollars
 
Versuchen Sie, Roboter hier herunterzuladen. 1 hat noch nicht funktioniert.
 

auf Dollar umgestellt, interne EAs funktionieren nicht, meine schon

die Auftragsausführungsart sollte ORDER_FILLING_RETURN sein

 
sandex:

auf Dollar umgestellt, interne EAs funktionieren nicht, meine schon

die Auftragsausführungsart sollte ORDER_FILLING_RETURN sein

r wo dieser Typ eingegeben werden muss)
 
dogmaone:
r wo dieser Typ eingegeben werden muss)
Wenn Ihre Roboter funktionieren, können Sie mir dann sagen, wo ich den richtigen Wert eingeben muss, damit auch die Standardroboter funktionieren?
 

Definitiv ist die Logik in den Expert Advisors schuld (der Code besteht entweder nicht alle Prüfungen oder berücksichtigt nicht den Handelsmodus).

Zumindest funktioniert dieser einfache Code auf dem Server "BCS5-Real" problemlos:

//+------------------------------------------------------------------+
//|                                                    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:

Die Logik in den Expert Advisors ist definitiv schuld (der Code besteht entweder nicht alle Prüfungen oder berücksichtigt nicht den Handelsmodus).

Zumindest funktioniert solch einfacher Code auf dem Server "BCS5-Real" problemlos:

Bitte beraten Sie, wenn ich Ihren Code kompilieren wollen: gehen Sie zu erstellen (EA-Vorlage) zusätzliche Event-Handler, was zu wählen?
 
Sergey Ponomarev:
Bitte beraten Sie mich, wenn ich Ihren Code kompilieren möchte: Ich möchte (EA-Vorlage) einen zusätzlichen Event-Handler erstellen, die man wählen?
Dies ist ein Skript. Dieses Skript soll prüfen, ob Positionen im automatischen Modus auf diesem Handelsserver eröffnet werden können.
 
Karputov Vladimir:
Dies ist ein Skript. Mit diesem Skript wird geprüft, ob auf diesem Handelsserver noch Positionen im automatischen Modus eröffnet werden können.
Ich verstehe... Der Server meines Brokers benötigt also eine andere Logik?)))
 
Karputov Vladimir:
Dies ist ein Skript. Dieses Skript soll überprüfen, ob auf diesem Handelsserver noch Positionen im automatischen Modus eröffnet werden können.
Vielen Dank für Ihre Bemühungen :)
Grund der Beschwerde: