Fehler, Irrtümer, Fragen - Seite 1929

 

Jetzt ist es unmöglich festzustellen, ob der Expert Advisor im Handelsmodus oder im Frame-Empfangsmodus läuft. Bitte fügen Sie eine entsprechende Erwähnung im EA-Namen hinzu, wie es bereits mit Debug-start gemacht wird.

 

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Wanzen, Wanzen, Fragen

A100, 2017.07.11 17:50

Geben Sie mir ein Beispiel für diesen Anwendungsfall

         const int a;
const uchar Tmp[]; // 'Tmp' - 'const' variable must be initialized  
FrameAdd(Name, ID, Value, Tmp); // Нужно передать только Value
 
fxsaber:

Wir brauchen ein Analogon zu IndicatorParameters für EAs - ExpertParameters.

Aufgrund seines Fehlens ist es unmöglich, in OnTesterPass nachzuvollziehen, welche Eingabeparameter des berechneten Durchlaufs angekommen sind.

Ist die Funktion FrameInputs nicht hilfreich? Vielleicht verstehe ich aber auch nicht, was und wie es verwendet werden soll.

 
Stanislav Korotky:

Ist die Funktion FrameInputs nicht hilfreich? Oder ich verstehe nicht, was und wie es verwendet werden soll.

Ja, das ist es, was Sie brauchen! Ich konnte es nicht sehen.

 

Früher konnte man eine DLL zu mir ziehen und die Liste der verfügbaren Funktionen sehen, jetzt geht das nicht mehr, oder hat sich das irgendwie geändert?

 

Erneut der HistorySelect-Fehler im Tester. Ich glaube nicht, dass es 1626 eine gab. Im Jahr 1629 gibt es.

#include <Trade\Trade.mqh>

void OnTick()
{
  static CTrade Trade;

  const datetime NowTime = TimeCurrent();
  
  if (Trade.Buy(1) && Trade.PositionClose(_Symbol) && HistorySelect(NowTime, NowTime))
  {
    Print(HistoryDealsTotal()); // 0 - это при том, что мы открыли и закрыли позицию в NowTime-время
      
    ExpertRemove();
  }
}
 
fxsaber:

Erneut der HistorySelect-Fehler im Tester. Ich glaube nicht, dass es 1626 eine gab. Im Jahr 1629 - gibt es.

Expert Advisor wird auf Ihrem Computer mit vorinstallierten Informationen ausgeführt.

Es dauert einige Zeit (weniger als 10 Sekunden), bis die jetzt durchgeführte Aktion angezeigt wird:

1. Ihr Terminal sendet eine Anfrage an den Server

2. Der Server verarbeitet sie.

3) aktualisiert Ihre Terminalinformationen

4. Danach erhalten Sie die korrekten Werte für HistorySelect und HistoryDealsTotal

Das bedeutet: Um die letzte Aktion in der Historie zu sehen, müssen Sie Sleep nach Trade und vor HistorySelect ausführen.

... oder prüfen Sie auf andere Weise, ob der Verlauf nicht veraltet ist.

(dasselbe gilt für die Zitate - Sie haben sie, aber sie sind dieselben wie zum Zeitpunkt des Herunterladens)

 
Ivan Ivanov:
fxsaber:

Erneut der HistorySelect-Fehlerim Tester. Ich glaube nicht, dass es 1626 eine gab. Im Jahr 1629 gibt es.

 

Hier ist ein Beispiel:

//--- отправка запроса
    if ( !OrderSend(request,result) )
      PrintFormat("OrderSend error %d",GetLastError());
    else
    { Sleep(9999); // Time to get result
      ..... // Здесь мне нужен result
    }

Ohne Schlaf funktioniert es bei mir nicht, aber wenn es 10 Sekunden gibt, ist es in Ordnung.

https://www.mql5.com/ru/docs/trading/ordersend
Документация по MQL5: Торговые функции / OrderSend
Документация по MQL5: Торговые функции / OrderSend
  • www.mql5.com
Торговые функции / OrderSend - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Ivan Ivanov:

Hier ist ein Beispiel:

Es geht um einen Tester.