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

 

Leute, bitte beratet mich, ich habe Probleme bei der Implementierung von TrailingStop.... (ich versuche, einen EA zu schreiben)

Ich benutze eine Alpari MT4 Plattform mit Trailing Stop Funktion (d.h. ich kann einen Trailing Stop von 18 Pips setzen). Frage zur Klärung: Ist es möglich, die Plattformfunktionalität zu nutzen, wenn eine Order eröffnet wird (z.B. programmatisch ein TrailingStop-Tick setzen)?

 
001:

Es scheint zu funktionieren, aber aus irgendeinem Grund öffnet es zwei entgegengesetzte Positionen.


Sie sind also etwas verwirrt - dies sind Ausschnitte aus meinem "Lawinen"-Code - für Sie mit kleinen Änderungen. Bei mir funktioniert alles einwandfrei. Sehen Sie sich zusätzlich dieses (ähnliche Snippet) hier an - alles funktioniert einwandfrei, suchen Sie nach Ihrem Fehler, es ist in Ordnung... Dies ist die Basisversion von Avalanche - hier ist alles detailliert beschrieben - für Sie selbst (wie Sie es brauchen) sicher etwas Besonderes

Es wäre nicht schwer, es neu zu machen, es gibt ein ähnliches Fragment...

Dateien:
av02.mq4  17 kb
 
artmedia70:
Die Logik ist so einfach wie 2x2:
1. Zunächst stellen Sie fest, dass die vorherige Pose am Fuß geschlossen ist.
2. Prüfen Sie dann das Fehlen von und öffnen Sie bereits die gegenüberliegende Position.
Und dann, nachdem Sie festgestellt haben, dass es noch nicht da ist, öffnen Sie es (die entgegengesetzte Position, die beim Anhalten geschlossen war).

Hier gibt es eine kleine Auslassung. Wenn die entgegengesetzte Position geöffnet und dann bei Stop oder Take geschlossen wird, werden die Bedingungen für die Öffnung erneut angezeigt. Und ich brauche EIN Mal.
 

Habe ich die Daten richtig verstanden? Ich frage, weil es nicht funktioniert. Bei der Kompilierung sind keine Fehler aufgetreten. Deshalb glaube ich, dass etwas mit der Logik nicht stimmt. Prüfen Sie es.

Auf dem Bild sind nur zwei Balken zu sehen, obwohl es noch mehr gibt.

FX Fish-Anzeige. Ich brauche Kaufsignale - beim ersten Balken ist das Histogramm höher als das Kaufniveau und das Histogramm des ersten Balkens ist höher als das des zweiten.

bei Verkauf - beim ersten Balken ist das Histogramm niedriger als das Verkaufsniveau und das Histogramm des ersten Balkens ist niedriger als das Histogramm des zweiten Balkens

Ich habe den Code wie folgt geschrieben

      double fx_fishUp1=iCustom(NULL,0,"FX Fish",FX_Period,FX_Price,ModeFast,Signals,0,1);
      double fx_fishUp2=iCustom(NULL,0,"FX Fish",FX_Period,FX_Price,ModeFast,Signals,0,2);
      double fx_fishDn1=iCustom(NULL,0,"FX Fish",FX_Period,FX_Price,ModeFast,Signals,1,1);
      double fx_fishDn2=iCustom(NULL,0,"FX Fish",FX_Period,FX_Price,ModeFast,Signals,1,2);
      
      if(fx_fishUp1-UpLevel>0 && fx_fishUp1-fx_fishUp2>0){fx_fUp=true; fx_fDown=false;}
      if(DnLevel-fx_fishDn1<0 && fx_fishDn2-fx_fishDn1<0){fx_fDown=true; fx_fDown=false;}


      if(fx_fUp) res=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,0,"",MAGICMA,0,Blue);    
        
      if(fx_fDown) res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,0,0,"",MAGICMA,0,Red);
                 
Dateien:
fxdfish.mq4  5 kb
 
Eine weitere Frage. Ich habe die Datei FX Fish angehängt. Sie hat den gleichen Namen im Indikatorenordner, aber nachdem ich sie angehängt hatte, erschien der neue Name FXdFish.mq4.
 
Roman.:


Sie sind also etwas verwirrt - dies sind Ausschnitte aus meinem "Lawinen"-Code - für Sie mit kleinen Änderungen. Bei mir funktioniert das alles einwandfrei. Schauen Sie sich zusätzlich dieses (ähnliche Snippet) hier an - alles funktioniert gut, suchen Sie Ihren Fehler, alles ist gut... Dies ist die Basisversion von Avalanche - hier ist alles detailliert - für Sie selbst (wie Sie es brauchen) gibt es sicher eine spezielle

schwer wiederherzustellen, ist ein solches Fragment vorhanden...


Hier ist das Ergebnis. Ich habe sie entfernt:

1.lots = NormalizeLots(lots); einen festen Wert von 0,1 setzen

2. Ich habe if (lastType == OP_SELL) OrderSend(Symbol(), OP_BUY, lots,...); festgelegt, da ich zuerst Long-Transaktionen teste.

Das ist alles.

Dateien:
2.mq4  3 kb
 
001:

Hier gibt es eine kleine Auslassung. Wenn die gegenüberliegende Pose sich öffnet und dann bei Stop oder Take wieder schließt, werden die Bedingungen für die Öffnung erneut auftreten. Und ich brauche EIN Mal.


Schreiben Sie die normalen Eröffnungsbedingungen auf, was EINE Zeit bedeutet - pro Tag, pro Sekunde, im Allgemeinen im Handel...

Formulieren Sie NORMALE Eröffnungsbedingungen und schreiben Sie z.B. - geben Sie ein Zeitlimit ein, sagen wir, wenn innerhalb eines Tages bereits eine Order eröffnet wurde, dann werden nachfolgende Orders nicht eröffnet - dies ist einmal am Tag gehandelt - ein Zeitlimit für den EA - bereits in diesem Thread gepostet, nutzen Sie die Suche, formulieren Sie z.B. den Code unten in der Eröffnungsbedingung, d.h. wenn in diesem Zeitbereich bereits gehandelt wurde, dann werden nachfolgende Orders nicht eröffnet, etc... Formulieren Sie konkret, was Sie brauchen, nicht unverständlich wie "EINMAL", was einmal im Leben ist? Formulieren Sie normale Handelsbedingungen, anstatt sich das Hirn rauszuvögeln. Ganz zu schweigen von der Website - dieser Thread enthält bereits alles...

2. Подскажите, пожалуйста, как сделать, чтобы советник прекращал торговать в 21 ч00 мин и потом начинал только в 01 ч00 мин следующего дня. 

int start()
  { 

   if (Hour()>20 && Hour<2) return(0);

.....

  }
 
Roman.:


Schreiben Sie die normalen Eröffnungsbedingungen auf, was EINE Zeit bedeutet - pro Tag, pro Sekunde, im Allgemeinen im Handel...

Formulieren Sie NORMALE Eröffnungsbedingungen und schreiben Sie z.B. - geben Sie ein Zeitlimit ein, sagen wir, wenn innerhalb eines Tages bereits eine Order eröffnet wurde, dann werden nachfolgende Orders nicht eröffnet - dies ist einmal am Tag der Fall - das Zeitlimit für den EA - bereits in diesem Thread gepostet, nutzen Sie die Suche, formulieren Sie z.B. den Code unten in der Eröffnungsbedingung, d.h. wenn in diesem Zeitbereich bereits gehandelt wurde, dann werden nachfolgende Orders nicht eröffnet, etc. Formulieren Sie konkret, was Sie brauchen, nicht unverständlich wie "EINMAL", was einmal im Leben ist? Formulieren Sie normale Handelsbedingungen, anstatt sich das Hirn rauszuvögeln. Ganz zu schweigen von der Website - dieser Thread enthält bereits alles...

001:

Ich versuche, eine einfache Umdrehung zu implementieren. Bei Erreichen einer Halteposition --> Öffnen der gegenüberliegenden Position. Ich kann nicht erreichen, dass er einmal die gegenüberliegende Position öffnet und dann nichts anderes mehr. Bitte beraten Sie mich.

Wenn eine Position einen Stopp erreicht . Es gibt eine Position, sie hat einen Anschlag. Wenn der Kurs den Stopp erreicht, eröffnen Sie die Gegenposition. Öffnen Sie nichts anderes in der ersten Position.
 
001:
Wenn eine Position einen Stopp erreicht . Es gibt eine Position, sie hat einen Anschlag. Wenn der Kurs den Stopp erreicht, eröffnen Sie die Gegenposition. Öffnen Sie nichts anderes in der ersten Position.

Auf der Website https://www.mql5.com/go?link=http://www.kimiv.ru// gibt es eine Funktion, die genau definiert, wie ein Auftrag durch einen Stop-Loss geschlossen werden soll. D.h., wenn Sie diese Funktion anschließen, sollten Sie die Bedingung vorgeben, ob die Position nach Erreichen des Stop-Loss geschlossen wird, wenn dies der Fall ist, sollten Sie die entgegengesetzte Position öffnen und die Bedingung ihrer einmaligen Öffnung zur Bedingung Ihrer Basisposition hinzufügen...
 
Gibt es eine zusätzliche Dokumentation über die Namen aller im Programm verwendeten Elemente? Zum Beispiel: case, switch, os, bool, ++, ==, Nachdem einige Kenntnisse, die Sie beginnen, um ein Fahrrad zu machen, und dann stellt sich heraus, dass es eine spezielle Funktion, die dieses Problem löst. Wie ich in dem Tutorial nicht alles verstanden, und wie man für etwas, das Sie nicht einmal erraten zu suchen?
Grund der Beschwerde: