Tuesday 24 October 2017

Mql Indicatore Di Aggiornamento Forex


proprietà indicatorchartwindow indicatorbuffers immobili 2 immobili indicatorcolor1 proprietà Verde indicatorcolor2 Rosso proprietà indicatorwidth1 4 immobili indicatorwidth2 4 doppia CrossUp doppia Crossdown extern int FasterEMA1 6 extern int SlowerEMA1 12 extern int FasterEMA2 7 extern int SlowerEMA2 14 extern int RSInowPeriod 6 extern int barsBack 2000 extern bool AlertsMessage vero extern bool AlertsSound vero extern bool di debug falso extern doppia K 1.0 ---- ritorno (0) ------------------------------- ----------------------------------- personalizzato funzione di indicatore di iterazione ----------- -------------------------------------------------- ----- int start () limite int, i, contatore per (counteri counterlti 9 contatore) LB9 doppio fasterEMA1now, slowerEMA1now, fasterEMA1previous, slowerEMA1previous, fasterEMA2now, slowerEMA2now, fasterEMA2previous, slowerEMA2previous doppia RSInow doppia scala per (i limite igt 0 I -) CrossUpi EMPTYVALUE CrossDowni EMPTYVALUE Range 0 fasterEMA1now iMA (NULL. 0. FasterEMA1, 0. MODEEMA. PRICECLOSE. i) fasterEMA1previous iMA (NULL. 0. FasterEMA1, 0. MODEEMA. PRICECLOSE. I 1) fasterEMA2now iMA (NULL. 0. FasterEMA2, 0. MODEEMA. PRICECLOSE. i) fasterEMA2previous iMA (NULL. 0. FasterEMA2, 0. MODEEMA. PRICECLOSE. I 1) slowerEMA1now iMA (NULL. 0. SlowerEMA1, 0. MODEEMA. PRICECLOSE. i) slowerEMA1previous iMA (NULL. 0. SlowerEMA1, 0. MODEEMA. PRICECLOSE. I 1) slowerEMA2now iMA (NULL. 0. SlowerEMA2, 0 . 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 fasterEMA2now lt slowerEMA2now ampamp fasterEMA2previous gt slowerEMA2previous RSInow Irsi (NULL. 0, RSInowPeriod, PRICECLOSE, i) se (RSInow GT 50) if (debug) Stampa (TimeToStr (Tempo I, TIMEDATE) TimeToStr (Time I, TIMESECONDS) RSI UP) RSICrossedUp vero RSICrossedDown false se (RSInow lt 50) if (debug) Stampa (TimeToStr (Tempo I, TIMEDATE) TimeToStr (Time I, TIMESECONDS) RSI GIÙ) RSICrossedUp vero ampamp falso RSICrossedDown if ((fasterEMA1now gt slowerEMA1now) (fasterEMA1previous lt slowerEMA1previous) ampamp (fasterEMA2now gt slowerEMA2now) ampamp (fasterEMA2previous lt slowerEMA2previous)) EMACrossedUp vero EMACrossedDown false se ((fasterEMA1now lt slowerEMA1now) ampamp (fasterEMA1previous GT slowerEMA1previous) ampamp (fasterEMA2now lt slowerEMA2now) ampamp (fasterEMA2previous GT slowerEMA2previous)) EMACrossedUp falso EMACrossedDown vero se ((EMACrossedUp ) ampamp (RSICrossedUp) ampamp (SignalLabeled 1)) CrossUpi Bassa I - KRange if (debug) Stampa (TimeToStr (Tempo I, TIMEDATE) TimeToStr (Time I, TIMESECONDS) SEGNALE SU) se (ILT 2 ampamp AlertsMessage ampamp upalert) Alert ( simbolo (),. Periodo (), M BUY SIGNAL) sendmail (EMA Croce Up on Simbolo (),) upalert vero downalert false se (ILT 2 ampamp AlertsSound ampamp upalert) PlaySound (alert. wav) upalert vero downalert falso SignalLabeled 1 else if ((EMACrossedDown) ampamp (RSICrossedDown) ampamp (SignalLabeled 2)) CrossDowni alto i KRange if (debug) Stampa (TimeToStr (Tempo I, TIMEDATE) TimeToStr (Time I, TIMESECONDS) SIGNAL DOWN) se (ILT 2 ampamp AlertsMessage ampamp downalert) Alert (Symbol ( ),. Periodo (), M SELL SIGNAL) sendmail (EMA Croce giù sul simbolo (),) downalert vero upalert false se (ILT 2 ampamp AlertsSound ampamp downalert) PlaySound (alert. wav) downalert vero upalert falso SignalLabeled 2 di ritorno (0 ) fine ho fatto theese modifiche, ma senza effetti. Le frecce doesnt apparire. Per quanto posso vedere, se il codice originale che hai postato correttamente ad eccezione di segnali modificati opere durante la barra di corrente non venga eliminato tutto ciò che dovrebbe essere necessario fare è aggiungere quello che ho suggerito in precedenza. int Nel codice scritto più recente, per qualche ragione, avete cancellato countedbars IndicatorCounted () ---- verificare la presenza di eventuali errori if (countedbarslt 0) ritorno (- 1) ---- ultimo conteggiato bar sarà raccontata se (countedbarsgt 0) countedbars-- limitare MathMin (Bar - countedbars, barsBack) che è per questo che ho chiesto dove limite viene assegnato un valore, è stato rimosso il codice per quanto posso vedere, se il codice originale che hai postato correttamente lavori, ad eccezione segnali cambiato durante la barra di corrente non venga eliminato tutto ciò che dovrebbe essere necessario fare è aggiungere quello che ho suggerito in precedenza. int Nel codice scritto più recente, per qualche ragione, avete cancellato countedbars IndicatorCounted () ---- verificare la presenza di eventuali errori if (countedbarslt 0) ritorno (- 1) ---- ultimo conteggiato bar sarà raccontata se (countedbarsgt 0) countedbars-- limitare MathMin (Bar - countedbars, barsBack) è per questo che ho chiesto dove limite viene assegnato un valore, è stato rimosso il codice che ho provato anche con quella parte del codice, ma ho avuto nessun cambiamento. Scarica MetaTrader 5 Copyright 2000-2017, MQL5 Ltd. Hi ragazzi Nel tentativo di modificare un indicatore ema-rsi che può mostrare una freccia su o giù quando 4 ema croce accade e RSI è GT o lt 50. Il mio problema è che theese frecce dont di aggiornamento per ogni tick, una volta che è apparso, ho bisogno di cambiare periodo di tempo se voglio verificare se le condizioni sono ancora buone per mostrare freccia. Puoi dirmi dove è il problema. I post il codice. proprietà indicatorchartwindow indicatorbuffers immobili 2 immobili indicatorcolor1 proprietà Verde indicatorcolor2 Rosso proprietà indicatorwidth1 4 immobili indicatorwidth2 4 doppia CrossUp doppia Crossdown extern int FasterEMA1 6 extern int SlowerEMA1 12 extern int FasterEMA2 7 extern int SlowerEMA2 14 extern int RSInowPeriod 6 extern int barsBack 2000 extern bool AlertsMessage vero extern bool AlertsSound vero extern bool di debug falso extern doppia K 1.0 ---- ritorno (0) ------------------------------- ----------------------------------- personalizzato funzione di indicatore di iterazione ----------- -------------------------------------------------- ----- inizio int () limite int, i, contatore doppio fasterEMA1now, slowerEMA1now, fasterEMA1previous, slowerEMA1previous, fasterEMA2now, slowerEMA2now, fasterEMA2previous, slowerEMA2previous doppia RSInow doppia scala, AvgRange int countedbars IndicatorCounted () ---- controllo per eventuali errori if (countedbarslt 0) ritorno (- 1) ---- ultimo conteggiato bar sarà raccontata se (countedbarsgt 0) countedbars-- limitare MathMin (bar - countedbars, barsBack) per (i limito igt 0 i--) Gamma counteri 0 AvgRange 0 per (counteri counterlti 9 contatore) AvgRangeAvgRange MathAbs (High Low antiorario contatore) RangeAvgRange 10 fasterEMA1now iMA (NULL. 0. FasterEMA1, 0. MODEEMA. PRICECLOSE. i) fasterEMA1previous iMA (NULL. 0. FasterEMA1, 0. MODEEMA. PRICECLOSE. I 1) fasterEMA2now iMA (NULL. 0. FasterEMA2, 0. MODEEMA. PRICECLOSE. i) fasterEMA2previous iMA (NULL. 0. FasterEMA2, 0. MODEEMA. PRICECLOSE. I 1) slowerEMA1now iMA (NULL. 0. SlowerEMA1, 0. MODEEMA. PRICECLOSE. i) slowerEMA1previous iMA (NULL. 0. SlowerEMA1, 0. MODEEMA. PRICECLOSE. I 1) slowerEMA2now iMA (NULL. 0. SlowerEMA2, 0 . MODEEMA. PRICECLOSE. i) slowerEMA2previous iMA (NULL. 0. SlowerEMA2, 0. MODEEMA. PRICECLOSE. I 1) RSInow Irsi (NULL. 0, RSInowPeriod, PRICECLOSE, i) se (RSInow GT 50) if (debug) Stampa ( TimeToStr (Time I, TIMEDATE) TimeToStr (Time I, TIMESECONDS) RSI UP) RSICrossedUp vero RSICrossedDown false se (RSInow lt 50) if (debug) Stampa (TimeToStr (Tempo I, TIMEDATE) TimeToStr (Time I, TIMESECONDS) RSI DOWN) RSICrossedUp falso RSICrossedDown vero se ((fasterEMA1now GT slowerEMA1now) ampamp (fasterEMA1previous lt slowerEMA1previous) ampamp (fasterEMA2now GT slowerEMA2now) ampamp (fasterEMA2previous lt slowerEMA2previous)) if (debug) Stampa (TimeToStr (Tempo I, TIMEDATE) TimeToStr (Tempo I, TIMESECONDS) EMA UP) EMACrossedUp vero EMACrossedDown false se ((fasterEMA1now lt slowerEMA1now) ampamp (fasterEMA1previous GT slowerEMA1previous) ampamp (fasterEMA2now lt slowerEMA2now) ampamp (fasterEMA2previous GT slowerEMA2previous)) if (debug) Stampa (TimeToStr (Tempo I, TIMEDATE) TimeToStr (Time I , TIMESECONDS) EMA GIÙ) EMACrossedUp falso EMACrossedDown vero se ((EMACrossedUp vero) ampamp (RSICrossedUp vero) ampamp (SignalLabeled 1)) CrossUpi Bassa I - KRange if (debug) Stampa (TimeToStr (Tempo I, TIMEDATE) TimeToStr (Tempo I, TIMESECONDS) SEGNALE SU) se (ILT 2 ampamp AlertsMessage ampamp upalert) Alert (Simbolo (),. Periodo (), M BUY SIGNAL) sendmail (EMA Croce Up on Simbolo (),) upalert vero downalert false se (ILT 2 ampamp AlertsSound ampamp upalert) PlaySound (alert. wav) upalert vero downalert falso SignalLabeled 1 else if ((EMACrossedDown vero ) ampamp (RSICrossedDown vero) ampamp (SignalLabeled 2)) CrossDowni alto i KRange if (debug) Stampa (TimeToStr (Tempo I, TIMEDATE) TimeToStr (Time I, TIMESECONDS) SIGNAL DOWN) se (ILT 2 ampamp AlertsMessage ampamp downalert) Alert ( simbolo (),. Periodo (), M SELL SIGNAL) sendmail (EMA Croce giù sul simbolo (),) downalert vero upalert false se (ILT 2 ampamp AlertsSound ampamp downalert) PlaySound (alert. wav) downalert vero upalert falso SignalLabeled 2 ritorno (0) int fine countedbars IndicatorCounted () ---- verificare la presenza di eventuali errori if (countedbarslt 0) ritorno (- 1) ---- ultimo contato bar sarà raccontata se (countedbarsgt 0) countedbars-- limitare MathMin (bar - countedbars, barsBack) per (i limitano igt 0 i--) extern int FasterEMA1 6 extern int SlowerEMA1 12 extern int FasterEMA2 7 extern int SlowerEMA2 14 extern int RSInowPeriod 6 per (counteri counterlti 9 contatore) LB9 AvgRange 0 per (counteri counterlti 9 contatore ) AvgRangeAvgRange MathAbs (High Low antiorario contatore) RangeAvgRange 10 danizani95: Il mio problema è che theese frecce dont di aggiornamento per ogni tick, una volta che è apparso else if ((EMACrossedDown vero) ampamp (RSICrossedDown vero) ampamp (SignalLabeled 2)) CrossDowni alto i KRange : SignalLabeled 2 è impostato buffer quando primo tempo è vero, ma mai non impostata quando è falsa. Impostare loro di EMPTYVALUE come suggerisce Keith Watford, ma anche 6 Il tuo SignalLabeled, upalert, downAlert sono anche sbagliato. Salva il valore precedente di variabili globali. Elaborare il ciclo. Poi, dopo il ciclo non ti avvisa se necessario. Rimuovere loro prova all'interno del ciclo. if ((fasterEMA1now GT slowerEMA1now) ampamp (fasterEMA1previous lt slowerEMA1previous) ampamp (fasterEMA2now GT slowerEMA2now) ampamp (fasterEMA2previous lt slowerEMA2previous)) EMACrossedUp vero EMACrossedDown false se ((fasterEMA1now lt slowerEMA1now) ampamp (fasterEMA1previous GT slowerEMA1previous) ampamp (fasterEMA2now lt slowerEMA2now) ampamp (fasterEMA2previous gt slowerEMA2previous)) EMACrossedUp falso EMACrossedDown vero Quali sono il valore di queste variabili, se non vi è alcuna croce su quella barra si può mai disinserire le variabili. 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 Tali prove significano entrambi media mobile deve attraversare nello stesso bar. Se non volete che si deve verificare un cambiamento nelle condizioni bool risingCurr fasterEMA1now gt slowerEMA1now ampamp fasterEMA2now gt slowerEMA2now bool risingPrev fasterEMA1previous gt slowerEMA1previous ampamp fasterEMA2previous gt slowerEMA2previous EMACrossedUp risingCurr ampamp risingPrev Lei non avrebbe mai scrivere if ((22 4) vero) sarebbe se (22 4) è sufficiente. Quindi non scrivere if (bool vero). basta usare se (bool) o se (bool). Codice diventa auto documentare quando si utilizzano nomi di variabili significative, come bool isLongEnabled. LongEntry suona come un prezzo di attivazione o di un numero di ticket e se l'ingresso è lungo una frase incompleta. if (EMACrossedDown ampamp RSICrossedDown) è meglio. Hai fatto quello che ho suggerito in precedenza Se sì, quale effetto ha avuto sì più o meno. Ho fatto quello che ho potuto, perché non sono molto esperto in MQL4. in particolare, quando si dice che non ho bisogno di tutte le righe di codice, vuoi dire che queste linee non lasciare che il mio indicatore di funzionare correttamente o semplicemente che sono inutili. grazie per il vostro sostegno Keith Hai fatto quello che ho suggerito in precedenza Se sì, quale effetto ha avuto dispiace Keith ti ho confuso con whroeder1. così ho fatto quello che hai detto, ma ora l'indicatore mostra la freccia solo quando la candela corrente ha chiuso e la freccia appeardisapper considerando i movimenti candela prossimi. danizani95: mi dispiace Keith ti ho confuso con whroeder1. così ho fatto quello che hai detto, ma ora l'indicatore mostra la freccia solo quando la candela corrente ha chiuso e la freccia appeardisapper considerando i movimenti candela prossimi. Io non vedo perché questo dovrebbe accadere. Im lavorando su un lavoro in questo momento, se ho tempo dopo, io possa avere uno sguardo al codice.

No comments:

Post a Comment