Antwort

Es ist möglich, den Break-Even zu erreichen/den Stop-Loss zu aktivieren/einen Handel nach...

9 Antworten

Schwellenwert

Kunde, bbp_participant, Gemeinschaft, 723 Antworten.

Profil besuchen

vor 10 Jahren #112105

Ist es möglich, den Break-Even zu erreichen/den Stop-Loss zu aktivieren/einen Handel nach 24 Stunden(Balken) zu beenden?
Meine Strategie ist eine Daily-Bar-Strategie.
Ich möchte nach genau 24 Stunden den Break-even erreichen oder aussteigen, wenn der Handel nach genau 24 Stunden nicht gewinnbringend ist.
Ich sehe, dass es eine Option "BarsSinceOrderOpen" gibt, aber diese Option hat eine Zeitrahmenoption. Können Sie sie hinzufügen? Oder gibt es andere Möglichkeiten?

0

stearno

Kunde, bbp_participant, Gemeinschaft, 379 Antworten.

Profil besuchen

vor 10 Jahren #124337

Ist es das, wonach Sie suchen?

 

-Stearno

0

Mark Fric

Administrator, sq-ultimate, 2 Antworten.

Profil besuchen

vor 10 Jahren #124363

Sie können dies tun, indem Sie eine Regel dafür aufstellen.

 

Etwa so:

 

IF(BarsSinceOrderOpen >= 1) // Handel älter als ein Tag

und OpenPL() > 0

DANN 

SL nach BE verschieben

 

 

und eine weitere Regel für den Abschluss des Geschäfts:

 

 

IF(BarsSinceOrderOpen >= 1) // Handel älter als ein Tag

und OpenPL() < 0

DANN 

ClosePosition

Mark
StrategyQuant Architekt

0

Schwellenwert

Kunde, bbp_participant, Gemeinschaft, 723 Antworten.

Profil besuchen

vor 10 Jahren #124383

Ihr habt die Frage nicht vollständig gelesen, oder vielleicht war ich unklar. Ich bitte um Entschuldigung.
BarsSinceOrderOpen>=1 ist genau das, was ich sagte, wird nicht funktionieren, weil es keine Zeitrahmen-Option hat. Was ist, wenn die Order gestern um 23:00 Uhr eingegeben wurde? Dann wird die Gewinnschwelle nach nur 1 Stunde überschritten. BarsSinceOrderOpen bedeutet nicht 24 Stunden. Es bedeutet einfach einen neuen Balken. Dies könnte 1 Stunde 2 Stunden 3 Stunden 4 Stunden 5 Stunden sein....
Ich suche den Break-Even nach genau 24 Stunden (oder 24 H1-Balken) für die D1-Strategie.
Ich muss etwas tun:

 

BarsSinceOrderOpen(Timeframe: PERIOD_H1) > 24

Es gibt jedoch keine Option für einen Zeitrahmen.

 

 

Meine Strategie ist eine Daily-Bar-Strategie.
Ich möchte nach genau 24 Stunden den Break-even erreichen oder aussteigen, wenn der Handel nach genau 24 Stunden nicht gewinnbringend ist.
Ich sehe, dass es eine Option "BarsSinceOrderOpen" gibt, aber diese Option hat *keine Zeitrahmenoption*. Können Sie diese Option hinzufügen? Oder gibt es andere Möglichkeiten?

0

Mark Fric

Administrator, sq-ultimate, 2 Antworten.

Profil besuchen

vor 9 Jahren #124435

Ok, ich habe es verstanden. Leider ist dies nicht einfach, jetzt zu lösen, ohne Hinzufügen von Zeitrahmen Option Bars Seit Order Open.

 

Sie können dies jedoch mit einer benutzerdefinierten Funktion tun. Fügen Sie die folgenden Funktionen in die Datei EA Wizard/code/CustomFunctions.mq4 ein:

 

int sqGetBarsSinceEntryH1(int orderMagicNumber) {
   for (int cc = OrdersTotal() - 1; cc >= 0; cc-) {
      if (OrderSelect(cc, SELECT_BY_POS) ) {
 
         if((orderMagicNumber == 0 || OrderMagicNumber() == orderMagicNumber) && OrderSymbol() == Symbol()) {
            return (sqGetBarsFromOrderOpenH1());
         }
      }
   }
 
   zurück(-1);
}
 
int sqGetBarsFromOrderOpenH1() {
   datetime opTime = OrderOpenTime();
   int barsTOCheck = 30;
   int numberOfBars = 0;
   
   for(int i=0; i<=barsTOCheck; i++) {
      if(opTime < iTime(NULL, PERIOD_H1,i)) {
         numberOfBars++;
      }
   }
 
   return(numberOfBars);
}

 

und dann im EA-Assistenten in Ihrer Bedingung können Sie die benutzerdefinierte Funktion aufrufen: sqGetBarsSinceEntryH1(Ihre magische Zahl) >= 24

Mark
StrategyQuant Architekt

0

Schwellenwert

Kunde, bbp_participant, Gemeinschaft, 723 Antworten.

Profil besuchen

vor 9 Jahren #124471

Wahnsinn! Gibt es eine Möglichkeit, dies auf die TS-Aktivierung anzuwenden?

 

Ich weiß jetzt, wie man mit BE umgeht.

Dies ist mein Versuch, sie auf die TS-Aktivierung anzuwenden.

 

TS-Aktivierung (variabel) = TSAktivate

 

0

Schwellenwert

Kunde, bbp_participant, Gemeinschaft, 723 Antworten.

Profil besuchen

vor 9 Jahren #124479

Der EA wird nicht erfolgreich geladen, nachdem ich die Datei CustomFunctions.mq4 geändert habe.
Ich werde es hochladen. Vielleicht war meine Bearbeitung nicht korrekt.
Ich habe den gesamten von Ihnen bereitgestellten Code kopiert und am Ende der Datei eingefügt.

 

Hier ist auch meine Arbeit:

0

JTamas

Abonnent, bbp_participant, Gemeinschaft, 26 Antworten.

Profil besuchen

vor 9 Jahren #124484

Ich würde dies versuchen:

 

1. eine Variable erstellen: 'opentime'.

2. Regel1#: WENN der in dieser Minute eröffnete Auftrag wahr ist, DANN die Variable opentime = hour(0 bars ago) zuweisen

3. Regel 2# IF bars since order open = 1 und Timecurrent = GetTime(opentime, 0, 0)

DANN

was auch immer

 

Da Sie nach 24 Stunden schließen wollen, bedeutet dies, dass dies zur gleichen Zeit geschieht, wie es nur einen Tag später geöffnet wurde.

0

Schwellenwert

Kunde, bbp_participant, Gemeinschaft, 723 Antworten.

Profil besuchen

vor 9 Jahren #124492

Ein sehr einfacher Ansatz, der mir sehr gut gefällt.
Ich habe es getestet, aber es funktioniert nicht.

0

Mark Fric

Administrator, sq-ultimate, 2 Antworten.

Profil besuchen

vor 9 Jahren #124520

Hallo,

 

Funktioniert es immer noch nicht? Können Sie Ihre Strategie hier anhängen?

Als ich die von Ihnen angehängte Datei CustomFunctions überprüfte, sah ich meine Funktionen dort nicht hinzugefügt, und sie wurde korrekt kompiliert.

Mark
StrategyQuant Architekt

0

Ansicht von 9 Antworten - 1 bis 9 (von insgesamt 9)