Ho provato a costruire l’indicatore in oggetto che ha la seguente caratteristica, che ho sintetizzato anche come commento nel codice: da come output per ogni candela il prezzo di chiusura dello strumento incrementato del range dell’ultima ora di contrattazione e sottratto del range dei primi 30′ di contrattazione. La motivazione è che nella prima parte della seduta intervengono gli small traders mentre nella parte finale i big investor. L’ho costruito in maniera che funzioni solo su m30 con due variabili di inizio e fine ma non mi funziona e non riesco a capire l’errore. Allego il codice. Se fosse possibile farlo funzionare su ogni TF sarebbe utile, grazie
//LHI (LAST HOUR INDICATOR) SMI (SMART MONEY FLOW INDEX)
//Nella prima ora sono gli small traders ad intervenire (generalmente in acquisto!)
//Nella ultima ora intervengono i BIG investor
//Valore SMI = SMI di ieri - rialzo o ribasso di inizio seduta (30') + rialzo o ribasso di fine seduta (60')
//NELLE FASI DI DISTRIBUZIONE (INDEX E’ NEGATIVO E DECRESCENTE)
// ATTENZIONE!!!!
//
// FUNZIONA SOLO SU m30
//
SMIgb=0
IF OpenTime= oraini then
SMIgb=-(close-open)
else
SMIgb=SMIgb[1]
endif
IF OpenTime= orafine then
SMIgb=+(close-open[1])
else
SMIgb=SMIgb[1]
endif
SMIgb=close+SMIgb
RETURN SMIgb coloured (255,0,0) as "SMI"
Grazie, ma non è quello che mi serviva. Il valore dovrebbe essere per ogni candela aggiunto al close del prezzo.
Prova a vedere se questo può andare, prende il range da H1 e la prima metà dalla candela a 30 minuti quanto il minuto è 00 (oppure 30, ma quella mezz’ora li non t’interessa):
//OraIni = 110000
//OraFine = 170000
//
Timeframe(1h,UpdateOnClose)
RangeH1 = range
//
Timeframe(30 minute,UpdateOnClose)
IF OpenMinute = 0 THEN
Range00 = range
ENDIF
//
Timeframe(default)
IF (OpenTime >= OraIni) AND (OpenTime <= OraFine) THEN
SMIgb = close + RangeH1 - Range00
ENDIF
RETURN SMIgb coloured (255,0,0) as "SMI"
Può andare su qualsiasi TF da 30 minuti in giù.
Ha il problema che resta costante fuori dagli orari interessati mentre dovrebbe fare lo stesso movimento del prezzo.
Basta che metti come orari dalle 000000 alle 240000.