Fehler, Irrtümer, Fragen - Seite 1311

 
Ivan Vagin:

Jetzt öffnet sich die Seite, aber es sind keine Bilder zu sehen.

Und wenn ich versuche, die angehängte Datei zu öffnen.

Das Problem bleibt bestehen.

Leider unterstützen ältere Geräte nicht die sichere Verbindung, die auf unseren Webservern verwendet wird.

Wir empfehlen die folgenden Optionen:

  1. wenn möglich, aktualisieren Sie Ihre Android-Version
  2. Verwenden Sie einen anderen Browser (z. B. Chrome)
  3. Aktualisieren Sie Ihr Gerät
 
Alexandr Bryzgalov:

Nur zu zweit.

Hier ist der Code (alter Stil), er kann verbessert werden:

Danke für den Hinweis, aber das Skript selbst ist dazu da, überlappende Aufträge zu schließen!

Ich bin daran interessiert, dies über das Terminal-Feature selbst zu realisieren!

Dateien:
 
murad:

Ältere Rechner unterstützen leider nicht die sichere Verbindung, die auf unseren Webservern verwendet wird.

Wir empfehlen die folgenden Optionen:

  1. wenn möglich, aktualisieren Sie Ihre Android-Version
  2. Verwenden Sie einen anderen Browser (z. B. Chrome)
  3. Ihr Gerät aktualisieren

Ich kann die Werbung auch nicht sehen.

 
Wenn die Option "Trace Trades on the Chart" aktiviert ist - sollte der Trace automatisch auf dem Chart erscheinen oder muss ich zusätzliche Aktionen durchführen? Terminal MetaTrader 5 build 1135.
 

Ich habe einen Broker mit Börsenausführung.

Mein Expert Advisor verwendet die Standardbibliothek.

Wenn ich es ausführe, sehe ich im Protokoll meines Expert Advisors, dass ein Befehl ausgelöst wurde

         trade.PositionOpen(_Symbol,// инструмент
                            ORDER_TYPE_BUY,// 
                            inLot,// количество лотов для торговли
                            ask,// последняя цена  ask
                            0.0,// Stop Loss
                            0.0,// Take Profit 
                            " ");                                             // без комментариев  

Im Terminalprotokoll ist jedoch nichts zu finden. Ich habe in der Bibliothek gestöbert. Ich habe das hier gefunden.

   if(!FillingCheck(symbol))
      return(false);

Es stürzt hier ab.

Ich habe weitergesucht und bin zu diesem Ergebnis gekommen.

         //--- wrong filling policy, set error code
         m_result.retcode=TRADE_RETCODE_INVALID_FILL;
         return(false);

Ich kam zurück und fand dies

//--- get possible filling policy types by symbol
   uint filling=(uint)SymbolInfoInteger(symbol,SYMBOL_FILLING_MODE);

Gibt 0 zurück.

Ich habe versucht, mit dem Kundendienst dieses Brokers zu sprechen.

Sie haben es mir gesagt.

"Wenn Sie in Ihrem Expert Advisor die Börsenausführung einstellen, deaktivieren Sie die Typenprüfung.

Ich weiß nicht, was ich damit anfangen soll. Ich sollte meinen Makler fragen, welche Art von Fehler ich in meinem Maklervertrag habe.

 
Alexey Klenov:

Ich habe einen Broker mit Börsenausführung.

Mein Expert Advisor verwendet die Standardbibliothek.

Wenn ich es ausführe, sehe ich im Protokoll meines Expert Advisors, dass ein Befehl ausgelöst wurde

Im Terminalprotokoll ist jedoch nichts zu finden. Ich habe in der Bibliothek gestöbert. Ich habe das hier gefunden.

Es stürzt hier ab.

Ich habe weitergesucht und bin zu diesem Ergebnis gekommen.

Ich kam zurück und fand dies

Gibt 0 zurück.

Ich habe den Support dieses Brokers angerufen.

Sie haben es mir gesagt.

"Wenn Sie in Ihrem Expert Advisor die Börsenausführung einstellen, deaktivieren Sie die Typenprüfung.

Ich weiß nicht, was ich damit anfangen soll. Ich sollte meinen Makler fragen, welche Art von Fehler ich in meinem Maklervertrag habe.

Versuchen SieOrderSend() anstelle vontrade.PositionOpen() zu verwenden.
 
Михаил:
Versuchen SieOrderSend() anstelle vontrade.PositionOpen() zu verwenden.
         MqlTradeRequest req;
         req.action=TRADE_ACTION_DEAL;       // Тип выполняемого действия
         req.symbol=_Symbol;                 // Имя торгового инструмента
         req.volume=inLot;                   //Запрашиваемый объем сделки в лотах
         req.type=ORDER_TYPE_BUY;            //Тип ордера
         //req.type_filling=ORDER_FILLING_FOK; // Тип ордера по исполнению
         //+------------------------------------------------------------------+
         //|                                                                  |
         //+------------------------------------------------------------------+
         MqlTradeResult rez;

         OrderSend(req,rez);

2015.05.20 23:01:55.387 Trades '*********': fehlgeschlagener Börsenkauf 0.10 EURUSD am Markt [Nicht unterstützter Füllmodus]

mit dem kommentierten type_filling ist das Ergebnis das gleiche

 
Alexey Klenov:

2015.05.20 23:01:55.387 Trades '*********': fehlgeschlagener Börsenkauf 0.10 EURUSD am Markt [Nicht unterstützter Füllmodus]

MqlTradeRequest request = {0};
  MqlTradeResult  result  = {0};
   
//--- Fill structure
  request.magic = 987654321;
  request.symbol = _Symbol;
  request.volume = inLot; 
  request.type_filling = ORDER_FILLING_IOC; //Взять то, что можно взять :)
  request.type_time = ORDER_TIME_DAY;
  request.action = TRADE_ACTION_DEAL;

 request.type = ORDER_TYPE_BUY;            //Тип ордера 

  request.comment = "Рыночный ордер...";
 
Михаил:
Das Ergebnis ist das gleiche
 
Alexey Klenov:
Das Ergebnis ist das gleiche

Makler zur Hölle!

Sec, ich werde einen Scheck ausstellen und Sie werden die Ergebnisse veröffentlichen...

//+------------------------------------------------------------------+
//| Expert Check Market Parametrs function                           |
//+------------------------------------------------------------------+
bool CheckMarketParam( const string a_symbol )
{
//--- Check for full mode
  long trade_mode = long( SymbolInfoInteger( a_symbol, SYMBOL_TRADE_MODE ) );
  
  if ( ( SYMBOL_TRADE_MODE_FULL & trade_mode ) != SYMBOL_TRADE_MODE_FULL )
  {
    MessageBox( "Символ " + a_symbol + " не поддерживает полную торговлю!", "Ошибка", MB_OK | MB_ICONHAND );
    return( false );
  }
//--- Check trade execution mode
  long market_info = long ( SymbolInfoInteger( a_symbol, SYMBOL_TRADE_EXEMODE ) );
    
  if ( market_info != SYMBOL_TRADE_EXECUTION_EXCHANGE )
  {
    MessageBox( "Символ " + a_symbol + " не поддерживает TRADE EXECUTION EXCHANGE режим!", "Ошибка", MB_OK | MB_ICONHAND );
    return( false );
  }
//--- Check orders mode
  int order_mode = int( SymbolInfoInteger( a_symbol, SYMBOL_ORDER_MODE ) );
  
  if ( ( SYMBOL_ORDER_MARKET & order_mode )!= SYMBOL_ORDER_MARKET )
  {
    MessageBox( "Символ " + a_symbol + " не поддерживает Market Execution режим установки ордеров!", "Ошибка", MB_OK | MB_ICONHAND );
    return( false );
  }
  
  if ( ( SYMBOL_ORDER_LIMIT & order_mode )!= SYMBOL_ORDER_LIMIT )
  {
    MessageBox( "Символ " + a_symbol + " не поддерживает Limit режим установки ордеров!", "Ошибка", MB_OK | MB_ICONHAND );
    return( false );
  }
  
  if ( ( SYMBOL_ORDER_STOP_LIMIT & order_mode ) != SYMBOL_ORDER_STOP_LIMIT )
  {
    MessageBox( "Символ " + a_symbol + " не поддерживает Stop Limit режим установки ордеров!", "Ошибка", MB_OK | MB_ICONHAND );
    return( false );
  }
  
  if ( ( SYMBOL_ORDER_STOP & order_mode )!= SYMBOL_ORDER_STOP )
  {
    MessageBox( "Символ " + a_symbol + " не поддерживает Stop режим установки ордеров!", "Ошибка", MB_OK | MB_ICONHAND );
    return( false );
  }
  
  if ( ( SYMBOL_ORDER_SL & order_mode) != SYMBOL_ORDER_SL )
  {
    MessageBox( "Символ " + a_symbol + " не поддерживает Stop Loss режим установки ордеров!", "Ошибка", MB_OK | MB_ICONHAND );
    return( false );
  }
  
  if ( ( SYMBOL_ORDER_TP & order_mode) != SYMBOL_ORDER_TP )
  {
    MessageBox( "Символ " + a_symbol + " не поддерживает Take Profit режим установки ордеров!", "Ошибка", MB_OK | MB_ICONHAND );
    return( false );
  }
//---Filing mode
  int filling_mode = int( SymbolInfoInteger( a_symbol, SYMBOL_FILLING_MODE ) );
  
  if ( ( SYMBOL_FILLING_IOC & filling_mode ) != SYMBOL_FILLING_IOC )
  {
    MessageBox( "Символ " + a_symbol + " не поддерживает filling IOC режим исполнения ордеров!", "Ошибка", MB_OK | MB_ICONHAND );
    return( false );
  }
  
  if ( ( SYMBOL_FILLING_FOK & filling_mode ) != SYMBOL_FILLING_FOK )
  {
    MessageBox( "Символ " + a_symbol + " не поддерживает filling IOC режим исполнения ордеров!", "Ошибка", MB_OK | MB_ICONHAND );
    return( false );
  }      
//---Ckeck expiration
  int symbol_exp_type = int( SymbolInfoInteger( a_symbol, SYMBOL_EXPIRATION_MODE ) );
  
  if ( ( symbol_exp_type & SYMBOL_EXPIRATION_DAY ) != SYMBOL_EXPIRATION_DAY )
  {
    MessageBox( "Символ " + a_symbol + " не поддерживает экспирацию DAY!", "Ошибка", MB_OK | MB_ICONHAND );
    return( false );
  }
  return( true );
}