Thursday, 2 November 2017

Mql Auffrischungsanzeige Forex


Eigenschaft Indikatorchartfenster Eigenschaft Indikatorpuffer2 Eigenschaftsindikatorwolke1 Eigenschaftsindikatorwolke2 Eigenschaftsindikatorwidth1 4 Eigenschaftsindikatorwidth2 4 doppelte CrossUp doppelte CrossDown extern int FasterEMA1 6 externe int SlowerEMA1 12 externe int FasterEMA2 7 externe int SlowerEMA2 14 externe int RSInowPeriod 6 extern int barsBack 2000 extern bool AlertsMessage true extern Bool AlertsSound true extern bool Fehlerbehebung false extern double K 1.0 ---- return (0) ------------------------------- ----------------------------------- Benutzerdefinierte Indikator-Iterationsfunktion ----------- -------------------------------------------------- ----- int start () int Grenzwert, i, Zähler für (counteri counterlti 9 Zähler) LB9 double fasterEMA1now, slowerEMA1now, schnellerEMA1previous, slowerEMA1previous, schnellerEMA2now, slowerEMA2now, schnellerEMA2previous, slowerEMA2previous double RSInow double Range für (i limit igt 0 i -) CrossUpi EMPTYVALUE CrossDowni EMPTYVALUE Bereich 0 fasterEMA1now iMA (NULL. 0. FasterEMA1, 0. MODEEMA. PREISE. I) schnellerEMA1vorhergehendes iMA (NULL 0.FasterEMA1, 0. MODEEMA PRICECLOSE i 1) schnellerEMA2now iMA (NULL 0.FasterEMA2, 0. MODEEMA PRICECLOSE i) schnellerEMA2vorhergehendes iMA (NULL 0.FasterEMA2, 0. MODEEMA. (1) langsameres MODEEMA1, 0. MODELLE MODELLE (1) langsameres MODEEMA1, 0. MODELLERAUFNAHME i) langsameremMA1vorauseilendem iMA (NULL 0. LangsameremA1, 0.MODEEMA PRICECLOSE i 1) . MODEEMA. PRICECLOSE. i) slowerEMA2previous iMA (NULL. 0. SlowerEMA2, 0. MODEEMA. PRICECLOSE i. 1) EMACrossedUp fasterEMA1now gt slowerEMA1now ampamp fasterEMA1previous lt slowerEMA1previous ampamp fasterEMA2now gt slowerEMA2now ampamp fasterEMA2previous lt slowerEMA2previous EMACrossedDown fasterEMA1now lt slowerEMA1now ampamp fasterEMA1previous gt slowerEMA1previous ampamp (RSInow gt 50) if (Debug) Drucken (TimeToStr (Zeit i, TIMEDATE) TimeToStr (Zeit i, TIMESECONDS) RSI UP) RSICrossedUp True RSICrossedUp false RSICrossedDown true, wenn ((schnelleremAnalyseGt langsameremEMA1nicht) ampamp (schnelleremEMA1vorhergehendem lt langsameremEMA1previous) ampamp (RSP) (fasterEMA2now gt slowerEMA2now) ampamp (fasterEMA2previous lt slowerEMA2previous)) EMACrossedUp wahr EMACrossedDown falsch if ((fasterEMA1now lt slowerEMA1now) ampamp (fasterEMA1previous gt slowerEMA1previous) ampamp (fasterEMA2now lt slowerEMA2now) ampamp (fasterEMA2previous gt slowerEMA2previous)) EMACrossedUp falsch EMACrossedDown wahr if ((EMACrossedUp (TimeI, TIMESED) TimeToStr (Time i, TIMESECONDS) SIGNAL UP) if (ilt 2 ampamp AlertsMessage ampamp upalert) Alert (Zeitüberschreitung) Amperestunde (RSICrossedUp) ampamp (Signalbeschriftet 1) Symbol (),. ()))))))))))))))))))))))))))))))))))))))))))))))))))))))))))), Ampamp (RSICrossedDown) ampamp (SignalLabeled 2)) CrossDowni High i KRange wenn (Debug) Drucken (TimeToStr (Zeit i, TIMEDATE) TimeToStr (Zeit i, TIMESECONDS) SIGNAL DOWN) wenn (ilt 2 ampamp AlertsMessage ampamp downalert) ) () () () () () () () () () () () (), (), Und geben Sie den Wert an, ) Ende habe ich die Änderungen, aber ohne Auswirkungen. Die Pfeile werden nicht angezeigt. Soweit ich sehen kann, wenn der ursprüngliche Code, den Sie posted funktioniert korrekt, außer für geänderte Signale während der aktuellen bar nicht gelöscht werden alles, was Sie tun müssen, ist hinzufügen, was ich früher vorgeschlagen. IndicatorCount () ---- Überprüfung auf mögliche Fehler, wenn (Countedbarslt 0) zurückgegeben wird (- 1) ---- die zuletzt gezählte Bar wird nachgezählt wenn (Countedbarsgt 0) CountedBars - Begrenzung MathMin (Bars - countedbar, BarsBack), weshalb ich Sie gefragt, wo Grenze einen Wert zugewiesen bekommt, haben Sie den Code entfernt So weit wie ich sehen kann, wenn der ursprüngliche Code, den Sie geschrieben korrekt funktioniert, außer für Geänderte Signale während der aktuellen Bar nicht gelöscht werden alles, was Sie tun sollten, fügen, was ich vorhin vorgeschlagen. IndicatorCount () ---- Überprüfung auf mögliche Fehler, wenn (Countedbarslt 0) zurückgegeben wird (- 1) ---- die zuletzt gezählte Bar wird nachgezählt wenn (Countedbarsgt 0) Zählbars - Begrenzung MathMin (Bars - countedbars, BarsBack), weshalb ich Sie gefragt, wo Grenze einen Wert zugewiesen bekommt, haben Sie den Code, den ich versucht habe auch mit dem Teil des Codes, aber ich hatte keine Änderungen entfernt. Ich habe versucht, eine Ema-rsi-Indikator zu bearbeiten, der einen Pfeil nach oben oder nach unten zeigen kann, wenn 4 Ema-Kreuz passiert und rsi ist gt oder lt 50. Mein Problem ist, dass die Pfeile nicht Aktualisieren Sie für jede Zecke, sobald sie erschienen, ich muss den Zeitrahmen zu ändern, wenn ich überprüfen wollen, ob die Bedingungen sind immer noch gut zu zeigen, Pfeil. Können Sie mir sagen, wo ist das Problem. Ich poste den Code. Eigenschaft Indikatorchartfenster Eigenschaft Indikatorpuffer2 Eigenschaftsindikatorwolke1 Eigenschaftsindikatorwolke2 Eigenschaftsindikatorwidth1 4 Eigenschaftsindikatorwidth2 4 doppelte CrossUp doppelte CrossDown extern int FasterEMA1 6 externe int SlowerEMA1 12 externe int FasterEMA2 7 externe int SlowerEMA2 14 externe int RSInowPeriod 6 extern int barsBack 2000 extern bool AlertsMessage true extern Bool AlertsSound true extern bool Fehlerbehebung false extern double K 1.0 ---- return (0) ------------------------------- ----------------------------------- Benutzerdefinierte Indikator-Iterationsfunktion ----------- -------------------------------------------------- ----- int start () int Grenzwert, i, Zähler doppelter schnellerEMA1now, slowerEMA1now, schnellerEMA1previous, slowerEMA1previous, schnellerEMA2now, slowerEMA2now, schnellerEMA2previous, slowerEMA2previous doppelter RSInow doppelter Bereich, AvgRange int Countedbars IndicatorCount () ---- auf mögliche Fehler überprüfen If (countedbarslt 0) return (- 1) ---- der zuletzt gezählte Balken wird zurückgerechnet, wenn (Countedbarsgt 0) Countedbars - MathMin (Bars - countedbars, barsBack) für (i limit igt 0 i--) counteri Bereich 0 AvgRange 0 für (counteri counterlti 9 Zähler) AvgRangeAvgRange MathAbs (High Counter-Low Zähler) RangeAvgRange 10 schnellerEMA1now iMA (NULL. 0. FasterEMA1, 0. MODEEMA. PREISE. I) schnellerEMA1vorhergehendes iMA (NULL 0.FasterEMA1, 0. MODEEMA PRICECLOSE i 1) schnellerEMA2now iMA (NULL 0.FasterEMA2, 0. MODEEMA PRICECLOSE i) schnellerEMA2vorhergehendes iMA (NULL 0.FasterEMA2, 0. MODEEMA. (1) langsameres MODEEMA1, 0. MODELLE MODELLE (1) langsameres MODEEMA1, 0. MODELLERAUFNAHME i) langsameremMA1vorauseilendem iMA (NULL 0. LangsameremA1, 0.MODEEMA PRICECLOSE i 1) (RSInow gt 50) if (Debug) Drucken (i) SLOWEMA2previous iMA (null 0. SlowerEMA2, 0. MODEEMA PRICECLOSE i 1) RSInow iRSI (NULL 0, RSInowPeriod, PRICECLOSE, TimeToStr (Time i, TIMEDATE) TimeToStr (Zeit i, TIMESECONDS) RSI UP) RSICrossedUp true RSICrossedDown false wenn (RSInow lt 50) if (Debug) (Schnelleres EMA1nächstes lt langsamereEMA1vorhergehendes) ampamp (schnellerem EMA2now gt langsamerEMA2now) ampamp (schnelleremEMA2previous lt langsamerEMA2previous)) if (debug) Drucken (TimeToStr (Zeit i, TIMEDATE) TimeToStr (Zeit i, TIMESECONDS) EMA UP) EMACrossedUp true EMACrossedDown false if ((schnelleremAnalarm) (am stärksten vorkommendemGalamemon), ampamp (schneller) (TIMESECONDS) EMACrossedUp false EMACrossedDown true wenn ((EMACrossedUp true) ampamp (RSICrossedUp true) ampamp (Signalbeschriftet 1)) CrossUpi Niedrig i - KRange wenn (Debug) Drucken (TimeToStr (Zeit i, TIMEDATE) TimeToStr (Zeit i, TIMESECONDS) SIGNAL UP) if (ilt 2 ampamp AlertsMessage ampamp upalert) Warnung (Symbol (),. (EMAIL), wenn der Wert (true) falsch ist ) () () Wenn Sie die Funktion "Amperestunden" (Amplifier) ​​verwenden, können Sie mit der Funktion "Amperestunden" (Amplifier) ​​ampamp (RSICrossedDown true) ampamp (SignalLabeled 2)) CrossDowni High i KRange if (Debug) (TimeToStr (Time i, TIMEDATE) TimeToStr (Time i, TIMESECONDS) SIGNAL DOWN) wenn (ilt 2 ampamp AlertsMessage ampamp downalert) (Ertönt 2 ampamp AlertsSound ampamp downalert) SpielSound (alert. wav) downalert true upalert false SignalLabeled 2 return (0) end int countedbars IndicatorCount () ---- Überprüfung auf mögliche Fehler if (Countedbarslt 0) return (- 1) ---- zuletzt gezählter Balken wird rückgemeldet, wenn (Countedbarsgt 0) Countedbars - limit MathMin (Bars - (I Grenzwert ig 0 i--) extern int FasterEMA1 6 extern int SlowerEMA1 12 extern int FasterEMA2 7 extern int SlowerEMA2 14 extern intern RSInowPeriod 6 für (counteri counterlti 9 Zähler) LB9 AvgRange 0 für (counteri counterlti 9 counter ) AvgRangeAvgRange MathAbs (High Counter-Low-Zähler) RangeAvgRange 10 Danizani95: Mein Problem ist, dass die Pfeile nicht für jedes Tick-Update, wenn sie erschienen sonst, wenn ((EMACrossedDown true) ampamp (RSICrossedDown true) ampamp (SignalLabeled 2)) CrossDowni High i KRange : SignalLabeled 2 Sie setzen Puffer, wenn die erste Hälfte wahr ist, aber nie deaktivieren, wenn es falsch ist. Legen Sie sie auf EMPTYVALUE als Keith Watford schlägt aber auch 6 Ihre SignalLabeled, upalert, downAlert sind auch falsch. Speichern Sie den vorherigen Wert Ihrer globalen Variablen. Verarbeiten Sie die Schleife. Dann nach der Schleife wachen Sie, wenn nötig. Entfernen Sie den Test innerhalb der Schleife. if ((fasterEMA1now gt slowerEMA1now) ampamp (fasterEMA1previous lt slowerEMA1previous) ampamp (fasterEMA2now gt slowerEMA2now) ampamp (fasterEMA2previous lt slowerEMA2previous)) EMACrossedUp wahr EMACrossedDown falsch if ((fasterEMA1now lt slowerEMA1now) ampamp (fasterEMA1previous gt slowerEMA1previous) ampamp (fasterEMA2now lt slowerEMA2now) ampamp (SchnellerEMA2previous gt slowerEMA2previous)) EMACrossedUp false EMACrossedDown true Welchen Wert haben diese Variablen, wenn kein Kreuz in dieser Leiste vorhanden ist, werden die Variablen nie gelöscht. EMACrossedUp fasterEMA1now gt slowerEMA1now ampamp fasterEMA1previous lt slowerEMA1previous ampamp fasterEMA2now gt slowerEMA2now ampamp fasterEMA2previous lt slowerEMA2previous EMACrossedDown fasterEMA1now lt slowerEMA1now ampamp fasterEMA1previous gt slowerEMA1previous ampamp fasterEMA2now lt slowerEMA2now ampamp fasterEMA2previous gt slowerEMA2previous Diese Tests ergeben, dass beide gleitenden Durchschnitt in der gleichen Bar überqueren müssen. Wenn Sie nicht möchten, dass Sie für eine Änderung der Bedingungen testen müssen bool risingCurr schnellerEMA1now gt slowerEMA1now ampamp schnelleremAnalyse gt slowerEMA2now bool risingPrev schnelleremEMA1previous gt slowerEMA1previous ampamp schnelleremEMA2previous gt slowerEMA2previous EMACrossedUp risingCurr ampamp risingPrev Sie würden nie schreiben, wenn ((22 4) true) würden Sie, wenn (22 4) ausreicht. Also nicht schreiben, wenn (bool true). Verwenden Sie einfach if (bool) oder if (bool). Code wird selbst dokumentieren, wenn Sie sinnvolle Variablennamen verwenden, wie bool isLongEnabled. LongEntry klingt wie ein Trigger-Preis oder eine Ticket-Nummer und wenn lange Eintrag ist ein unvollständiger Satz. Wenn (EMACrossedDown ampamp RSICrossedDown) besser ist. Habt ihr getan, was ich früher vorgeschlagen habe. Wenn ja, welche Wirkung hatte sie ja plus oder minus. Ich habe getan, was ich konnte, weil ich nicht sehr erfahren bin in mql4. Wenn Sie sagen, dass ich keine Zeilen Code benötigen, meinen Sie, dass diese Zeilen nicht zulassen, dass mein Indikator richtig funktioniert oder einfach, dass sie nutzlos sind. Vielen Dank für Ihre Unterstützung keith Haben Sie getan, was ich vorgeschlagen, früher Wenn ja, welche Wirkung hatte es leid keith Ich verwirrt Sie mit whroeder1. So dass ich tat, was Sie gesagt haben, aber jetzt die Anzeige zeigt den Pfeil nur, wenn die aktuelle Kerze geschlossen hat und der Pfeil appardisapper unter Berücksichtigung der nächsten Kerze Bewegungen. Danizani95: sorry keith ich verwirrt dich mit whroeder1. So dass ich tat, was Sie gesagt haben, aber jetzt die Anzeige zeigt den Pfeil nur, wenn die aktuelle Kerze geschlossen hat und der Pfeil appardisapper unter Berücksichtigung der nächsten Kerze Bewegungen. Ich sehe nicht, warum das passieren sollte. Im arbeiten an einem Job im Augenblick, wenn ich Zeit später habe, kann ich einen Blick an Ihrem Code haben.

No comments:

Post a Comment