[ARCHIV]Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Ohne dich kann ich nirgendwo hingehen - 5. - Seite 21

 
rigonich:


Haben SieFlag als lokale Variable?

P.S. Wenn es nicht ganz klar ist, was vor sich geht, ist es besser, die Werte vor und nach der zu prüfenden Funktion oder Anweisung auszudrucken, um zu sehen, wie sie sich verändern. Manchmal sind die Eingabewerte nicht so, wie wir sie erwarten, und es ist viel einfacher, im Code herauszufinden, wo und warum sie zu dem werden, was sie sind, als zu erraten, warum das Programm nicht richtig funktioniert.


oh shit...genau...wenn man int flag,flagg; aus der Funktion Start nimmt...dann funktioniert alles auf einmal :)) ein weiterer dummer Anfängerfehler :) DANKESCHÖN!

 
lottamer:

oh shit...genau...wenn man int flag,flagg; aus der Start-Funktion nimmt...dann funktioniert alles auf einmal :)) ein weiterer dummer Anfängerfehler :) DANKESCHÖN!


Nicht nur Anfängern können solche Fehler unterlaufen, z. B. können Sie unachtsam eine lokale Variable mit einem Namen deklarieren, den die globale Variable bereits hat. Der Compiler erzeugt in diesem Fall keine Fehler, aber das Programm funktioniert nicht "richtig". Die Hauptsache ist, dass man solche Fehler erkennen kann.
 

Ich verwende diese Funktion, um die Anzahl der gleichzeitig gehandelten Aufträge zu begrenzen, aber in Wirklichkeit ist die Anzahl der Aufträge um 1 höher als die in der Variablen MaxOrders festgelegte Anzahl. Was könnte der Grund dafür sein?

   for(i=0; i<=OrdersTotal(); i++)
    {
     if(OrderSelect(i,SELECT_BY_POS)==true)
      {
       if(OrderMagicNumber()==ExpertID)
        {
         if(i>=MaxOrders)
          return;
        }
      }
    }
 
silhouette:

Ich verwende diese Funktion, um die Anzahl der gleichzeitig gehandelten Aufträge zu begrenzen, aber in Wirklichkeit ist die Anzahl der Aufträge um 1 höher als die in der Variablen MaxOrders festgelegte Anzahl. Was könnte der Grund dafür sein?


Wir registrieren Aufträge, die bei Null beginnen. Deshalb sieht es auch so aus:

 for(i=0; i<=OrdersTotal()-1; i++)
    {
     if(OrderSelect(i,SELECT_BY_POS)==true)
      {
       if(OrderMagicNumber()==ExpertID)
        {
         if(i>=MaxOrders)
          return;
        }
      }
    }
 
Roman.:

Die Abrechnung der Aufträge erfolgt von Anfang an. Es ist also folgendermaßen:



Dankeschön
 
Roman.:

Hier ist ein Blick darauf, wie die Stochastik aus dem Lehrbuch zählt.





Ich danke Ihnen!!!
 

Wie kann das sein? ich habe einen EA, er funktioniert. Es kauft, verkauft ... alle klaren Stops und takei. aber der Verlust ist eine Menge, so dass ich beschließe, einen anderen Trend-Filter zu verschreiben. zwei Durchschnitte - schnell und langsam - auf einem sehr großen TF. auf H4.

Der Expert Advisor sollte wie folgt aussehen

wenn (....)

{....

...}

noch einmal - alles funktioniert!

und hier setze ich einen Filter (davor definiere ich MA1=iMA...) und fast ganz oben in den if-Baum (die zweite Bedingung - und die erste - Zeit if ( Hour()>=7 && Hour()<20)

wenn (....)

wenn MA1>MA2

{

{....

...}}

keine Fehler.

Aber 95 % des Handels sind abgeschnitten! Und auf H4 sagt das Bild das Gegenteil - es muss viele Trades geben, dennMA1>MA2 wird seit Wochen ausgeführt!

Kann jemand erklären, was falsch ist?

 

Wenn es viele Linien auf dem Diagramm gibt (horizontal), "verstopfen" die Beschriftungen (Linienpreis) auf der Preisskala von diesen Linien die gesamte Skala.

Was ist dieser "Tail"-Parameter mit dem Zeilenpreis? Und ist es möglich, sie irgendwie zu deaktivieren? (Ich habe noch nicht einmal einen manuellen Weg gefunden, aber ich brauche einen Softwareweg)

Und ich werde einfach den Preis in den Zeilennamen einfügen - das reicht aus.

 
Hilfe, um zu wissen, was ist der Fehler "EURUSD,M30: uninit Grund 5", wenn der Berater arbeitet oft, wenn es eine neue Position öffnen muss es schreibt diesen Fehler und das ganze System bricht zusammen (( wenn es irgendeinen Code für die Behebung dieses Fehlers senden Sie mir bitte ein Beispiel.
 
Frostr:
Helfen Sie mir überprüfen, was ist der Fehler "EURUSD,M30: uninit Grund 5", wenn mein Berater läuft oft, wenn es braucht, um eine neue Position zu öffnen es schreibt diesen Fehler und das ganze System bricht zusammen (( wenn es irgendeinen Code zu helfen, diesen Fehler zu korrigieren bitte ein Beispiel posten


Von UninitializeReason() zurückgegebene Grundcodes, die einen der folgenden Werte annehmen können:

Konstant.WertBeschreibung
0Das Skript hat seine Arbeit selbstständig abgeschlossen
REASON_REMOVE1Das Programm wurde aus der Tabelle gelöscht
REASON_RECOMPILE2Programm neu kompiliert
REASON_CHARTCHANGE3Das Diagrammsymbol oder die Periode wurde geändert
REASON_CHARTCLOSE4Das Diagramm ist geschlossen
GRUND_PARAMETER5Eingabeparameter wurden vom Benutzer geändert
REASON_ACCOUNT6Ein weiteres Konto wurde aktiviert
Grund der Beschwerde: