Strategia Ichimoku + HA
Forums › ProRealTime forum Italiano › Supporto ProOrder › Strategia Ichimoku + HA
- This topic has 15 replies, 2 voices, and was last updated 4 years ago by Sirobi.
-
-
01/09/2020 at 9:51 PM #116340
Buonasera a tutti,
vi chiedo un aiuto in merito a questa strategia. Vorrei aprire una posizione long quanto l’Heikin Ashi è blu (rialzista), solo ed esclusivamente quando il prezzo è sopra la Kumo verde (rialzista), chiudere il long, non appena la candela diventa rossa.
Vi allego il codice che ho usato ed uno screenshot della posizione aperta. Il problema è il seguente : apertura long giusta, ma avrebbe dovuto aprirne più di una (anzichè una soltanto) e la chiusura non è avvenuta alla comparsa della candela rossa, bensì prima).
Vi ringrazio fin da subito per un aiuto ad imparare come scrivere il codice corretto.
Strategia Icnimoku + HA123456789101112131415161718192021// Definizione dei parametri del codiceDEFPARAM CumulateOrders = False // Posizioni cumulate disattivate// Condizioni per entrare su posizioni longindicator1 = SenkouSpanA[9,26,52]c1 = (close[1] > indicator1[1])c2 = (close[1] >= open[1])indicator2 = SenkouSpanA[9,26,52]indicator3 = SenkouSpanB[9,26,52]c3 = (indicator2 CROSSES OVER indicator3)IF c1 AND c2 AND c3 THENBUY 1 SHARES AT MARKETENDIF// Condizioni per uscire da posizioni longc4 = (close[1] < open[1])IF c4 THENSELL AT MARKETENDIF01/10/2020 at 6:14 AM #116353A parte ogni altra verifica, tu non stai applicando la strategia alle candele HA, ma a quelle normali giapponesi.
Alla riga 3 inserisci queste righe per definire le candele HA:
1234567once haOpen = openhaClose = (open+close+high+low)/4if barindex > 0 thenhaOpen = (haOpen+haClose[1])/2endif//haLow = min(low,min(haClose,haOpen))//haHigh = max(high,max(haClose,haOpen))poi sostituisci, nelle righe successive, ogni CLOSE con haClose.
Provalo così intanto, ma credo dovremo modificare anche i calcoli delle SpanA e SpanB, perché così come sono credo anch’esse facciano i calcoli sulle candele giapponesi.
Nella definizione delle HA ho commentato le ultime due righe perché tu non usi mai Low e High.
Un’ultima cosa, tu fai sempre riferimento alla candela precedente mettendo [1] dopo CLOSE, è voluto oppure è un errore?
01/10/2020 at 10:27 PM #116409Grazie Roberto,
non sapevo come impostare le HA nel codice, grazie per avermelo insegnato.
Purtroppo però non è cambiato un gran che… evidentemente sbaglio a impostare le altre condizioni. Ti allego il nuovo codice modificato come da tua indicazione. Come dici tu, dovremo cambiare anche il settaggio della SpanA e SpanB.
Per rispondere alla tua domanda del riferimento alla candela precedente, l’ho inserita semplicemente perchè in questo modo avevo almeno 1 long aperto, nel tratto di trend che ho screenshottato, togliendo [1] non ho neppure quel segnale aperto…
Strategia Ichimoku+HA1234567891011121314151617181920212223242526272829// Definizione dei parametri del codiceDEFPARAM CumulateOrders = False // Posizioni cumulate disattivateonce haOpen = openhaClose = (open+close+high+low)/4if barindex > 0 thenhaOpen = (haOpen+haClose)/2endif//haLow = min(low,min(haClose,haOpen))//haHigh = max(high,max(haClose,haOpen))// Condizioni per entrare su posizioni longindicator1 = SenkouSpanA[9,26,52]c1 = (haclose > indicator1)c2 = (haclose >= haopen)indicator2 = SenkouSpanA[9,26,52]indicator3 = SenkouSpanB[9,26,52]c3 = (indicator2 CROSSES OVER indicator3)IF c1 AND c2 AND c3 THENBUY 1 SHARES AT MARKETENDIF// Condizioni per uscire da posizioni longc4 = (haclose < haopen)IF c4 THENSELL AT MARKETENDIF01/11/2020 at 12:29 AM #116412Prova questa (io ho solo fatto verifiche sintattiche):
12345678910111213141516171819202122232425262728293031323334353637// Definizione dei parametri del codiceDEFPARAM CumulateOrders = False // Posizioni cumulate disattivate// settaggi candele HAonce haOpen = openhaClose = (open+close+high+low)/4if barindex > 0 thenhaOpen = (haOpen+haClose)/2endifhaLow = min(low,min(haClose,haOpen))haHigh = max(high,max(haClose,haOpen))//// settaggi e parametri Ichimoku//Tenkansen = (highest[9](haHigh) + lowest[9](haLow)) / 2 //media VeloceKijunsen = (highest[26](haHigh) + lowest[26](haLow)) / 2 //media LENTASpanA = (tenkansen[26] + kijunsen[26]) / 2SpanB = (highest[52](haHigh[26]) + lowest[52](haLow[26])) / 2//Chikou = haClose[26]//// Condizioni per entrare su posizioni longindicator1 = SpanAc1 = (haclose > indicator1)c2 = (haclose >= haopen)indicator2 = SpanAindicator3 = SpanBc3 = (indicator2 CROSSES OVER indicator3)IF c1 AND c2 AND c3 THENBUY 1 SHARES AT MARKETENDIF// Condizioni per uscire da posizioni longc4 = (haclose < haopen)IF c4 THENSELL AT MARKETENDIF01/11/2020 at 12:30 AM #116413Ho dovuto ridefinire ICHIMOKU perché con IG non ho la versione 11. Avrei la 11 in formato gratuito con i dati di fine giornata, ma non ho candele intraday quindi non la uso.
01/11/2020 at 11:36 AM #11641501/11/2020 at 11:52 AM #116417E’ dovuto alla v11. La 10.3 non ha le nuove istruzioni per Ichimoku, per cui le ho definite io. Eeventualmente i due nomi, Tenkansen e Kijunsen, sono riservati sulla tua versione e dobbiamio cambiarli, basta che aggiungi una lettera qualunque, diciamo X, in modo che diventino TenkansenX e KijunsenX (sia alle righe 14 e 15 che alle successive dove si fa riferimento a quelle variabili, mi pare ci sia solo la riga 16, in ogni caso ti verrebbe segnalato se ce ne fossero altre).
01/11/2020 at 10:39 PM #11646801/15/2020 at 9:38 PM #116930Ciao Roberto,
visto che il codice funziona perfettamente grazie alle tue indicazioni, ti chiedo se è possibile implementare la seguente funzione: c’è un modo per dire alla strategia di aprire un long o uno short alle stesse condizioni ma non alla prima candela positiva in caso di long o alla prima candela negativa in caso di short, bensì dopo n candele positive o n candele negative ?
Grazie in anticipo
01/16/2020 at 12:46 AM #116945Eccolo modificato, all’inizio ho messo 3 candele consecutive, ma puoi variarlo da 1 a quello che vuoi:
1234567891011121314151617181920212223242526272829303132333435363738// Definizione dei parametri del codiceDEFPARAM CumulateOrders = False // Posizioni cumulate disattivateONCE NumeroBarre = 3// settaggi candele HAonce haOpen = openhaClose = (open+close+high+low)/4if barindex > 0 thenhaOpen = (haOpen+haClose)/2endifhaLow = min(low,min(haClose,haOpen))haHigh = max(high,max(haClose,haOpen))//// settaggi e parametri Ichimoku//Tenkansen = (highest[9](haHigh) + lowest[9](haLow)) / 2 //media VeloceKijunsen = (highest[26](haHigh) + lowest[26](haLow)) / 2 //media LENTASpanA = (tenkansen[26] + kijunsen[26]) / 2SpanB = (highest[52](haHigh[26]) + lowest[52](haLow[26])) / 2//Chikou = haClose[26]//// Condizioni per entrare su posizioni longindicator1 = SpanAc1 = (haclose > indicator1)c2 = (summation[NumeroBarre](haclose >= haopen) = NumeroBarre)indicator2 = SpanAindicator3 = SpanBc3 = (indicator2 CROSSES OVER indicator3)IF c1 AND c2 AND c3 THENBUY 1 SHARES AT MARKETENDIF// Condizioni per uscire da posizioni longc4 = (haclose < haopen)IF c4 THENSELL AT MARKETENDIFquindi ho solo aggiunto la riga 3 ed ho modificato la riga 24 (prima era la 23).
01/16/2020 at 10:09 PM #11702702/08/2020 at 10:04 PM #119057Ciao Roberto,
sto testando la strategia da alcune settimane, con discreto successo. Vorrei integrare un’ antimartingala come money managment. L’antimartingala funziona in questo modo : all’apertura del segnale di entrata a mercato, vengono fatti successivi tre ingressi a distanza fissa tra loro (in pratica la differenza tra segnale di ingresso e segnale di uscita viene divisa in 4 entrate). Gli stop loss sono effettuati nel seguente modo : lo stop loss del primo ingresso ha un R/R pari a 1:1, così come per tutti gli altri tre ingressi.
Pensi sia possibile inserire questi parametri all’interno del codice ?
Come sempre ti ringrazio per la pazienza.
02/09/2020 at 12:19 AM #119072Purtroppo non si possono fare chiusure parziali e può esserci un solo stop loss che sarà calcolato dal prezzo medio tra i vari prezzi d’ingresso.
02/10/2020 at 9:09 PM #11924102/10/2020 at 9:27 PM #119242Per i servizi a pagamento puoi visitare questa pagine e compilare la richiesta https://www.prorealcode.com/trading-programming-services/.
Però IG non consente la chiusura parziale delle posizioni aperte (almeno quelle in automatico), anche se stanno lavorando per fare in modo che in un futuro si possa, magari entro fine anno. Quindi quando fai la richiesta riformula la domanda, perché così com’è conosci già la risposta: c’è un solo stop loss per tutte le posizioni aperte.
-
AuthorPosts
Find exclusive trading pro-tools on