[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 784

 

Ich verstehe das Funktionsprinzip nicht ganz... wenn Sie nichts gegen ein einfaches Beispiel haben... zum Beispiel C= A + B

Dankeschön)

 

Hallo. Ich möchte wissen, wie ich den Expert Advisor so einstellen kann, dass er nur eine Order beim Crossing öffnet. Wenn er den Auftrag mit Plus oder Minus abschließen will, sollte er auf das nächste Umkehrsignal warten.

Die Taktik ist einfach

8EMA>26EMA

MACD(5,13,1)>0 (bei der zweiten MACD-Kerze wird eine Order eröffnet)

RSI 21 >(50) ÖFFNEN KAUFEN

8EMA<26EMA

MACD(5,13,1)<0 (Auftrag bei der zweiten MACD-Kerze eröffnet)

RSI 21 <(50) ÖFFNEN VERKAUFEN

Ich danke Ihnen für Ihre Aufmerksamkeit.

 
Hallo, das Problem ist folgendes. Wenn ich das Prüfprogramm ausführe, gibt es keine Vorgänge.
 

Kann jemand einen Algorithmus vorschlagen, um zu prüfen, ob die letzten X-Aufträge für ein bestimmtes Symbol

unrentabel waren? Ich habe eine Idee, was ich tun könnte, aber ich fürchte, dass es nicht die beste Option ist, denn die wichtigsten Kriterien sind

Geschwindigkeit der Prüfung und minimale Belastung des Prozessors.

Ich danke Ihnen!

 
chief2000:

Kann jemand einen Algorithmus vorschlagen, um zu prüfen, ob die letzten X-Aufträge für ein bestimmtes Symbol

unrentabel waren? Ich habe eine Idee, was ich tun könnte, aber ich fürchte, dass es nicht die beste Option ist, denn die wichtigsten Kriterien sind

Geschwindigkeit der Prüfung und minimale Belastung des Prozessors.

Ich danke Ihnen!

double GetLastOrderProfit()
{
    double profit = 0;
    datetime lastCloseTime = 0;
    int cnt = OrdersHistoryTotal();
    for (int i=0; i < cnt; i++)
    {
        if (!OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) continue;
        if (OrderSymbol() != Symbol()) continue;
        if (OrderMagicNumber() != MagicNumber) continue;

        if (lastCloseTime < OrderCloseTime())   // find most recent order
        {
            lastCloseTime = OrderCloseTime();
            profit = OrderProfit();
        }
    }
    return (profit);
}

die Funktion ist nicht von mir, aber ich glaube nicht, dass es schwer ist, sie an die Bedingungen anzupassen
 

Hilfe wer kann.... jemand weiß, wie man einen Trailing-Stop nicht linear.... und nicht konstant, sondern nur eine bestimmte Anzahl von Malen macht

zum Beispiel, wenn der Preis bewegt sich auf A pips Verlust bewegt sich auf B pips.... und dann, wenn es bewegt sich auf C bewegen, um D

wobei die Buchstaben nicht den gleichen Wert haben, sondern unterschiedlich sind....

 
IgorM:

Die Funktion ist nicht von mir, aber ich denke, es ist einfach, sie entsprechend den notwendigen Bedingungen zu ändern

Das sind die "Blumen" :) Der interessanteste Teil beginnt danach.

Ich dachte, in der ersten Schleife, um Aufträge für ein bestimmtes Symbol zu sortieren und erstellen Sie ein Array von Ticket.

In der zweiten Schleife sortieren Sie das Array nach der Schließzeit.

Aber dann sollten wir die Auftragsgewinne aus ihrer Schlusszeit erhalten - ist es möglich, sie irgendwie zu verbinden?

ohne alle Aufträge durchzugehen? - Sonst bekommen wir zu viele Schleifen.

 
chief2000:

Das sind die "Blumen" :) Der interessanteste Teil beginnt danach.

Ich dachte, in der ersten Schleife, um Aufträge für ein bestimmtes Symbol zu sortieren und erstellen Sie ein Array von Ticket.

In der zweiten Schleife sortieren Sie das Array nach der Schließzeit.

Aber dann sollten wir die Auftragsgewinne aus ihrer Schlusszeit erhalten - ist es möglich, sie irgendwie zu verbinden?

ohne alle Aufträge durchzugehen? - Sonst bekommen wir zu viele Schleifen.



es bedeutet, dass die Tickets sofort in Arrays gespeichert werden sollten, wenn eine Bestellung erfolgreich aufgegeben wurde, und dass dann eine Analyse der Tickets durchgeführt werden kann

Eine andere Variante besteht darin, einen zusätzlichen Expert Advisor zu erstellen, der diese Aufgabe übernimmt - "Wiederherstellung der Historie" des Terminals und Ausgabe der Daten, die in eine Datei gesendet werden können

 
IgorM:


Das bedeutet, dass Sie die Tickets sofort in Arrays speichern sollten, wenn eine Bestellung erfolgreich aufgegeben wurde, und sie dann auswerten

Als Option würde ich gerne einen zusätzlichen Expert Advisor erstellen, der dies tun würde - "Wiederherstellung der Geschichte" des Terminals und Entladen der fertigen Daten in eine Datei

Ich möchte grundsätzlich nicht mit Dateien arbeiten, um den Expert Advisor nicht an einen bestimmten Computer zu binden...

Es sieht so aus, als müsste ich in der ersten Schleife ein neues Array für die Tickets eines bestimmten Symbols erstellen. Und dann, in zwei Zyklen, sortieren Sie es

nach Datum, indem Sie sich die Tickets im neuen Array merken. Führen Sie aus dem resultierenden Array eine neue Schleife aus, um den Gewinn zu überprüfen

für die letzten Bestellungen.

 
chief2000:

Ich möchte prinzipiell nicht mit Dateien hantieren, um den EA nicht an einen bestimmten Computer zu binden...

Es sieht so aus, als müsste ich in der ersten Schleife ein neues Array für die Tickets eines bestimmten Symbols erstellen. Und dann, in zwei Zyklen, sortieren Sie es

nach Datum, indem Sie sich die Tickets im neuen Array merken. Führen Sie aus dem resultierenden Array eine neue Schleife aus, um den Gewinn zu überprüfen

für die letzten Bestellungen.


Integer hat Code für die Arbeit mit der Historie veröffentlicht. Nach Öffnung sortieren, nach Schließung sortieren. Ich muss es nur nachschlagen.
Grund der Beschwerde: