Grazieeevviill,ma le mie competenzesonotroppo complicate.Stoiniziandocon la programmazione,sonoautodidattaed è difficileper me capirealcune cose. Grazie di tutto,Massimo.
omissamf: Grazieeevviill,ma le mie competenzesonotroppo complicate.Stoiniziandocon la programmazione,sonoautodidattaed è difficileper me capirealcune cose. Grazie di tutto,Massimo.
int seconds=3;
intOnInit()
{
EventSetTimer(seconds);
IndicatorBuffers(2);
SetIndexBuffer(0, Buffer1);
SetIndexEmptyValue(0, 0);
SetIndexArrow(0, 241);
SetIndexBuffer(1, Buffer2);
SetIndexEmptyValue(1, 0);
SetIndexArrow(1, 242);
//initialize myPoint
myPoint = Point();
if(Digits() == 5 || Digits() == 3)
{
myPoint *= 10;
}
return(INIT_SUCCEEDED);
}
//_____________________________________________//_____________________________________________int start()
{
return(0);
}
voidOnTimer(){
//Indicator Buffer 1if(iRSI(NULL, PERIOD_CURRENT, 2, PRICE_CLOSE, 0) < 30
)
{
Buffer1[0] = Low[0] - iATR(NULL, PERIOD_CURRENT, 14, 0); //Set indicator value at Candlestick Low - Average True Rangeif(0 == 0 && Time[0] != time_alert) { myAlert("indicator", "Buy"); time_alert = Time[0]; } //Instant alert, only once per bar
}
else
{
Buffer1[0] = 0;
}
//Indicator Buffer 2if(iRSI(NULL, PERIOD_CURRENT, 2, PRICE_CLOSE, 0) > 70
)
{
Buffer2[0] = High[0] + iATR(NULL, PERIOD_CURRENT, 14, 0); //Set indicator value at Candlestick High + Average True Rangeif(0 == 0 && Time[0] != time_alert) { myAlert("indicator", "Sell"); time_alert = Time[0]; } //Instant alert, only once per bar
}
else
{
Buffer2[0] = 0;
}
}
}
Grazieeevviill, il tuocodice funziona,ma non mida il segnale dopotre secondiche ha apertola candela,ma se,per esempio,RSIè sopra il livello70dopo 30 secondiche la candelaè aperta,il codicelasciaancora3/2e poifa salirelafreccia. Per orail codice chesi avvicina di piùè quelloche mi ha suggerito GumRai,mami dàil segnale eimposta l'aperturadella candelae nondopo 3secondi.
Grazie di tutto,Massimo.
int start(){
if (BarStart !=Time[0])
{
BarStart = Time[0];
//This is the code suggested by GumRai. This works well, but the arrow appears and fixed the opening of the candle, instead of 3 seconds after its opening.
Questo dovrebbe controllare al primo tick ricevuto che è almeno 3 secondi dopo il tempo di apertura della barra
Si noti che se la barra è stata aperta n secondi quando l'indicatore è inizializzato e n è >3, sarà controllato in quel momento. Inoltre, ovviamente, non funzionerà con le barre storiche.
Questo dovrebbe controllare al primo tick ricevuto che è almeno 3 secondi dopo il tempo di apertura della barra
Notate che se la barra è stata aperta n secondi quando l'indicatore è inizializzato e n è >3, sarà controllata in quel momento. Inoltre, ovviamente, non funzionerà con le barre storiche.
:))))
1)Vorrei modificare questo codice in modo che l'allarme, invece di apparire all'apertura della candela, rilevi le condizioni dopo alcuni secondi.
2)ma nonsono dalsegnale dopotre secondiche ha aperto lacandela
Ciao ragazzi,sietegrandi!!! Non socome ringraziarviper la vostra collaborazione. Il codicepostatoeevviillfunziona molto bene, è quello che intendevo. IlcodiceGumRaiinvecefarepaintedàil segnaleogni volta chel'RSIattraversailivelli30/70. Inserisco ilcodice funzionantesecondo isuggerimenti dieevviill,sperando cheservaancora a qualcosa.
Consenti l'uso dei cookie per accedere al sito MQL5.com.
Abilita le impostazioni necessarie nel browser, altrimenti non sarà possibile accedere.
Hai effettuato l'accesso. L'autenticazione a due fattori è stata disattivata. Configurala di nuovo e scansiona un nuovo codice QR, oppure continua con l'autenticazione a due fattori disattivata.
Grazie di tutto, Massimo.
Grazie eevviill, ma le mie competenze sono troppo complicate. Sto iniziando con la programmazione, sono autodidatta ed è difficile per me capire alcune cose.
Grazie di tutto, Massimo.
Per ora il codice che si avvicina di più è quello che mi ha suggerito GumRai, ma mi dà il segnale e imposta l' apertura della candela e non dopo 3 secondi.
Grazie di tutto, Massimo.
ma nonsono dalsegnale dopotre secondiche ha apertola candela
Meglio scriverlo prima e non "ho bisogno di un allarme ogni 3 secondi".
Questo dovrebbe controllare al primo tick ricevuto che è almeno 3 secondi dopo il tempo di apertura della barra
Si noti che se la barra è stata aperta n secondi quando l'indicatore è inizializzato e n è >3, sarà controllato in quel momento. Inoltre, ovviamente, non funzionerà con le barre storiche.
Questo dovrebbe controllare al primo tick ricevuto che è almeno 3 secondi dopo il tempo di apertura della barra
Notate che se la barra è stata aperta n secondi quando l'indicatore è inizializzato e n è >3, sarà controllata in quel momento. Inoltre, ovviamente, non funzionerà con le barre storiche.
:))))
1)Vorrei modificare questo codice in modo che l'allarme, invece di apparire all'apertura della candela, rilevi le condizioni dopo alcuni secondi.
2)ma nonsono dalsegnale dopotre secondiche ha aperto lacandela
P.S. Non usare Time[0], usa Bars
:))))
1)Vorrei modificare questo codice in modo che l'allarme, invece di apparire all'apertura della candela, rilevi le condizioni dopo alcuni secondi.
2)ma nonsono dalsegnale dopotre secondiche ha aperto lacandela
Qual è il tuo punto?
:))))
P.S. Non usare Time[0], usa Bars
Perché no? Non c'è niente di sbagliato nell'usare Time[0] per rilevare una nuova barra.
Non so come ringraziarvi per la vostra collaborazione.
Il codice postato eevviill funziona molto bene, è quello che intendevo.
Il codice GumRai invece fa repaint e dà il segnale ogni volta che l' RSI attraversa i livelli 30/70.
Inserisco il codice funzionante secondo i suggerimenti di eevviill, sperando che serva ancora a qualcosa.
Grazie di tutto, Massimo.