Fehler, Irrtümer, Fragen - Seite 1897

 
Konstantin:
Meine Berechnung sieht folgendermaßen aus:
Wie wird sie letztendlich richtig sein?

Meine Logik ist einfach: Berechnen Sie, wie viel für den Kauf von Vermögenswerten insgesamt ausgegeben wurde (wenn wir die Gewinnspanne außer Acht lassen), und teilen Sie durch die Gesamtzahl der gekauften Einheiten - dies ist der Durchschnittspreis eines Vermögenswerts, d. h. der Break-even-Punkt.

 

Ich erinnere mich, dass die Entwickler über die Möglichkeit des Datenaustauschs zwischen Agenten sprachen. Wo kann ich ein Beispiel sehen?

Es scheint, dass der Rahmenkanal nur in eine Richtung funktioniert - vom Agenten zum Terminal, aber nicht umgekehrt.

 
Fehler bei der Ausführung
void OnStart()
{
  int Array[];
  
  Array[ArrayResize(Array, ArraySize(Array) + 1) - 1] = 0; // array out of range
}
 
Fehler bei der Ausführung
struct INT
{
  int Array[];
};

void OnStart()
{
  INT i = {0}; //  Если убрать "= {0}" - ошибка выполнения исчезает
  
  Print(ArrayResize(i.Array, 5)); // -1
}
 
Wenn die Struktur Strings und Arrays wie diese {0} enthält, sollte sie besser nicht initialisiert werden, da sie bei mir eine Ausnahme auslöst.
 

Lokale Agenten geben denselben TerminalInfoInteger(TERMINAL_DLLS_ALLOWED)-Wert zurück, bis Sie das Terminal neu laden.

Sie möchten zum Beispiel, dass DLL-Agenten nicht ausgeführt werden. Sie deaktivieren das DLL-Kontrollkästchen im Terminal, und die Agenten sind weiterhin "zufrieden".


 
Комбинатор:
Wenn es Strings und Arrays in der Struktur wie diese {0} besser nicht initialisieren, es warf eine Ausnahme in meinem Fall.
Hier scheint es eine potenzielle Schwachstelle zu geben.
 
fxsaber:

Ich erinnere mich, dass die Entwickler über die Möglichkeit des Datenaustauschs zwischen Agenten sprachen. Wo kann ich ein Beispiel sehen?

Es scheint sich um einen einseitigen Rahmenkanal zu handeln - von den Agenten zum Terminal, aber nicht andersherum.

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Arbeiten mit den Expert Advisor-Dateien im Strategy Tester

Renat Fatkhullin, 2012.08.27 01:41

Bei der Arbeit mit Clud oder Remote-Agenten müssen die verwendeten Dateien (zum Lesen) durch #property tester_file "myfile1.dat" eindeutig spezifiziert werden. In diesem Fall übergibt der Prüfer diese Dateien zusammen mit dem Quell-EA an die Cloud, wobei Änderungen an dieser Datei kontrolliert und auf den Cloud-Servern und Agenten zwischengespeichert werden.

Es ist möglich, große Mengen von Rohdaten in die Clouds zu übertragen und Berechnungen mit Massendaten über FrameAdd() im Bericht zu erhalten.

Kann ich die tester_file-Dateien in OnTesterPass ändern und so die benötigten Informationen in die Cloud übertragen?
 
fxsaber:

In der Standarddatei MQL5\Experts\Examples\Moving Average\Moving Average.mq5

Die magische Prüfung wurde in TradeSizeOptimized übersehen.

Bitte prüfen Sie diese Variante.

Ich für meinen Teil habe 9 Instanzen dieses EA mit verschiedenen Einstellungen und Magie zum Online-Handel auf dem eingebetteten VPS laufen lassen - ich werde https://www.mql5.com/ru/signals/305333 beobachten .

Торговые сигналы для MetaTrader 5: Standard Moving Average 9 instances
Торговые сигналы для MetaTrader 5: Standard Moving Average 9 instances
  • Rashid Umarov
  • www.mql5.com
Торговый Сигнал Standard Moving Average 9 instances для MetaTrader 5: копирование сделок, мониторинг счета, автоматическое исполнение сигналов и социальный трейдинг
Dateien:
 
Rashid Umarov:

Schauen Sie sich bitte diese Option an.

Ich für meinen Teil habe 9 Instanzen dieses EAs mit verschiedenen Einstellungen und Magie zum Online-Handel auf dem eingebauten VPS laufen lassen - ich werde https://www.mql5.com/ru/signals/305333 beobachten .

Die Lot-Auswahl dieses EAs wird von jedem Handel Dritter (einschließlich anderer Instanzen) auf dem Quellsymbol beeinflusst.

In diesem Stück geschieht es

      HistorySelect(0,TimeCurrent());
      //---
      int    orders=HistoryDealsTotal();  // total history deals
      int    losses=0;                    // number of losses orders without a break

      for(int i=orders-1;i>=0;i--)
        {
         ulong ticket=HistoryDealGetTicket(i);
         if(ticket==0)
           {
            Print("HistoryDealGetTicket failed, no trade history");
            break;
           }
         //--- check symbol
         if(HistoryDealGetString(ticket,DEAL_SYMBOL)!=_Symbol)
            continue;
         //--- check profit
         double profit=HistoryDealGetDouble(ticket,DEAL_PROFIT);
         if(profit>0.0)
            break;
         if(profit<0.0)
            losses++;
        }
      //---
      if(losses>1)
         lot=NormalizeDouble(lot-lot*losses/DecreaseFactor,1);
Grund der Beschwerde: