HILFE, WER KANN!!! - Seite 4

 

Ich würde gerne einen Expert Advisor wie diese wissen... es öffnet 2 verschiedene schwebende Aufträge und schließt den Rest, wenn einer von ihnen auslöst...

Früher gab es eine Codebasis Double Pending 2 namens ... jetzt gibt es keine ...

 
Techno:
Was er meint, ist, dass er alle Operationen für alle Aufträge in einer Schleife vermischt hat, wobei eine Iteration das Ergebnis der anderen erheblich beeinflusst, und er kann nicht verstehen, warum das alles nicht funktioniert.

Wir müssen also zuerst die Koteletts von den Fliegen trennen... An so ein Chaos habe ich nicht gedacht :-)
 
sllawa3:

Ich würde gerne einen Expert Advisor wie diese wissen... es öffnet 2 verschiedene schwebende Aufträge und schließt den Rest, wenn einer von ihnen auslöst...

es wurde eine schwebende 2 im Code aufgerufen ... nicht mehr ...


Schleife durch die offenen Aufträge nach OrderType() und Setzen des Zählers:

int count=0;

if(OrderType()<2) count++;

if(count==0)

{ hier ist ein Selektor - sobald Sie auf OrderType()>1 stoßen - löschen Sie ihn: OrderDelete(.....); wenn die Löschung erfolgreich ist (siehe Dokumentation), setzen Sie aktiv: OrderSend(...); } Elementar, Watson!

Ich habe Sie ein wenig falsch verstanden: if(OrdersTotal()==0) {2 schwebende Aufträge platzieren} und dann mit dem Auftragstyp-Selektor prüfen : sobald Sie einen <2 gefunden haben, suchen Sie den zweiten >2 und löschen ihn

 

Hier ist eine Schleife, um den Zustand der Aufträge zu überprüfen, danach zu prüfen und zu schließen und Änderungen, nach jeder Aktion Return-Operator, um die Schleife zu aktualisieren den Zustand der Aufträge

for(int i=0;i<OrdersTotal();i++)
        {
          if(OrderSelect(i,SELECT_BY_POS)&&OrderSymbol()==Symbol()&&OrderMagicNumber()==MAGA)
          switch(OrderType())
          {
          case 0:DB=1;break;
          case 1:DS=1;break;
          case 4:ZB=1;break;
          case 5:ZS=1;break;
          }
        }
 
OK... ich verstehe, dass Sie mir nicht helfen können... es ist sinnlos, Ratschläge zu geben, bevor ich es nicht gesehen habe... ich werde nach einem ähnlichen suchen (es funktioniert auch nicht mit diesem Prüfzyklus... alles ist gleich... und sogar mit mehreren Schleifen pro Vorgang...)
 
JEDE SCHLEIFE, DIE NICHT BEGINNT, ZEIGT DEN LETZTEN WERT DER VARIABLEN AN... UND ES WIRD NICHT GESTARTET, WENN ES KEINEN AUFTRAG GIBT
 
sllawa3:
ok... ich dachte mir schon, dass du keine große Hilfe sein wirst... es ist sinnlos, Ratschläge zu geben, bevor ich es nicht gesehen habe... ich werde nach einem ähnlichen suchen (es funktioniert auch nicht mit dieser Prüfschleife... alles ist das gleiche... und sogar mit mehreren Schleifen pro Vorgang...)

Sie sind faul geworden... schreiben Sie eine Funktion (oder zwei, wenn Sie nicht wissen, wie), die die Anzahl der Aufträge auf dem Markt (Historie) entsprechend den gegebenen Parametern zurückgibt: Symbol, Magier, Auftragsart, d.h. in beliebigen Kombinationen...

dann auf jeden Tick (oder anderen Zeitrahmen, dass der EA beginnt mit) Sie definieren die Anzahl der Aufträge im Markt und schwebende Aufträge und mit ihren Kombinationen Sie die erforderlichen Maßnahmen durchführen...

Markt == 0 und schwebende Aufträge == 0

market == 0 und pending orders == 2 nichts tun

Markt == 1 und schwebende Aufträge == 1 einen schwebenden Auftrag löschen

Markt == 1 und Pausen == 0 Köder

Ich kann nicht glauben, dass es so schwer ist, das zu tun ...


Entschuldigung. Es ist an der Zeit, die prozedurale Programmierung zu vergessen - verwenden Sie Funktionen...

eine Variable den letzten Wert speichert, ist das lächerlich...

 

IN DER HISTORIE GIBT ES KEIN PROBLEM, ABER WOHER WEISS ICH, OB SIE OFFEN IST ODER NICHT? WENN DER SELEKTOR DEN LETZTEN WERT BEHÄLT, BIS ER NEU GESTARTET WIRD...

ES IST BUTTRIG.

 
sllawa3:
IN DER HISTORIE GIBT ES KEIN PROBLEM, ABER WOHER WEISS ICH, OB SIE OFFEN IST ODER NICHT? WENN DER SELEKTOR DEN LETZTEN WERT BEHÄLT, BIS ER NEU GESTARTET WIRD...
Dir wurde schon 5 Mal von 3 Leuten gesagt, wie es geht. Wenn Du es nicht verstehst, such Dir eine fertige Anleitung oder lass sie von jemandem für Dich schreiben.
 
DAS PROBLEM LIEGT NICHT NUR BEI DIESER EA, SONDERN BEI JEDER EA... DASS BIS ZUM NEUSTART DES SELEKTORS (BIS ZUM ERSCHEINEN DER BESTELLUNG) DER LETZTE WERT IM SELEKTOR VERBLEIBT