Fehler, Irrtümer, Fragen - Seite 1142

 
ierehon:

Hallo zusammen!

Frage, wie man einen variablen Wert bei jedem Tick während einer Minute aktualisiert, und dann wird diese Summe in einen separaten Wert geschrieben, wenn die nächste Minute schließt, wird der Wert der Summe durch den neuen Wert ersetzt?

Lesen Sie den Artikel! Und andere auch.

Als Beispiel für Ihren Algorithmus habe ich einen Indikator "Tick Counter" skizziert. Wenn Sie der Variablen b bei jedem Tick den erforderlichen Wert zuweisen, erhalten Sie das, wonach Sie gefragt haben.

Dateien:
TickSum.mq5  4 kb
 
AnMigVRN

Vielen Dank für den Artikel und den Indikator! Ich werde mich darum kümmern.


 
harbor:

Leute, die mir sagen können, wie man in mql5den Betrag an freien Mitteln berechnet, der benötigt wird, um 1 Lot eines bestimmten Symbols zu eröffnen

Ich weiß, wie man es in mql4 macht, aber in mql5 kann ich es nicht finden

double marg;
OrderCalcMargin(ORDER_TYPE_BUY, sym, 1, tick.ask, marg);
 
Youtube-Videos werden nicht mit HTTPS eingefügt.
 
MigVRN:

1) Erstellen Sie nicht für jeden Tick einen Indikator!

2) Prüfen Sie, ob der Indikator angelegt ist oder nicht, bevor Sie auf seine Werte zugreifen.

3) Prüfen Sie, ob die gewünschten Werte aus dem Kennzeichen übernommen werden.

4) Löschen Sie den Berechnungsteil des Indikators immer nach Beendigung des Experten, da sonst irgendwann der Arbeitsspeicher erschöpft sein kann.

Das Problem lag darin, dass Sie versucht haben, die Werte aus dem Indikator zu kopieren, der noch nicht erstellt worden ist. Stellen Sie eine Regel auf - prüfen Sie das Ergebnis der Funktionen, die Sie aufrufen.

Danke, ich habe es verstanden!

Aber ich ändere die Eingabeparameter der Indikatoren BP_var_s, BDev_var_s und MA_var_s "nach und nach". Was ist in diesem Fall zu tun? Erstellen und löschen Sie jedes Mal gemäß....

 
Alvin1976:

Danke, ich hab's!

Ich ändere nur die Eingabeparameter der Indikatoren BP_var_s, BDev_var_s und MA_var_s "nach und nach". Was ist in diesem Fall zu tun? Erstellen und löschen Sie jedes Mal gemäß....

Hier gibt es mehrere Möglichkeiten:

1) Die Indikatorparameter ändern sich im Laufe der Zeit in Abhängigkeit von bestimmten Kriterien (Bedingungen). Daher ist es nicht erforderlich, die Griffe bei jedem Tick neu zu erstellen. Prüfen Sie die Bedingung und stellen Sie sie, wenn sie erfüllt ist, neu ein.

Angenommen, die Bedingung ist, dass ein "neuer Balken" in einem einminütigen Zeitrahmen auftritt. Beispiele für die Definition einer "neuen Bar" gibt es viele - suchen Sie auf der Website. Diese Variante gefällt mir am besten.

2) Wenn es immer noch notwendig ist, bei jedem Tick auf die Beendigung der PrüfungCopyBuffer() in der Schleife zu warten (mit sleep()). Aber höchstwahrscheinlich werden die Zecken übersprungen. Als Alternative - um die Ticks nicht für die gesamte Historie zu berechnen, sondern für die letzten paar hundert Bars (um in den Code der Standard-Indizes zu gelangen und den Code zu korrigieren) - werden weniger Ticks übersprungen.

 

Ein weiteres Problem ist aufgetreten.

long Min_Dist;

bool Inf=(SymbolInfoInteger(Symbol(),SYMBOL_TRADE_STOPS_LEVEL,Min_Dist));
      if (Inf=true) Print("      mindist=", DoubleToString(Min_Dist)); 

Die Variable Min_Dist im Testgerät ergibt immer Null. Ich habe es noch nicht auf dem Live-Markt überprüft.

Warum Null? Sie lautet erfolgreich.....

 
Alvin1976:

Ein weiteres Problem ist aufgetreten.

Die Variable Min_Dist im Prüfgerät ergibt immer Null. Ich habe es noch nicht auf dem Live-Markt überprüft.

Warum Null? Sie lautet erfolgreich.....

Versuchen Sie es so:
long Min_Dist;

Min_Dist=(SymbolInfoInteger(Symbol(),SYMBOL_TRADE_STOPS_LEVEL);
      //if (Inf=true) Print("      mindist=", DoubleToString(Min_Dist)); 
Prüfen Sie den tatsächlichen Wert von SYMBOL_TRADE_STOPS_LEVEL
 
barabashkakvn:
Versuchen Sie Folgendes: Prüfen Sie den tatsächlichen Wert von SYMBOL_TRADE_STOPS_LEVEL

Das ist das Gleiche. Null. :(.

Im Testgerät.

Ich werde am Montag auf dem Markt nachsehen.

Ich habe es herausgefunden. Das ist das Problem eines Maklerunternehmens. Und nicht nur eine :-). Ich habe es nicht sofort verstanden, weil Google nichts Nützliches über SYMBOL_TRADE_STOPS_LEVEL gefunden hat, aber MODE_STOPLEVEL gab eine Menge Informationen.

Ich werde SYMBOL_SPREAD verwenden.

 
Roffild:
Youtube-Videos werden nicht mit HTTPS eingefügt.
Warum hat Youtube HTTPS? Hier ist der übliche Code für das Video -http://youtu.be/KG0PIVuJ2kU