kama indicatore e chiarimento strategia
Forums › ProRealTime forum Italiano › Supporto ProOrder › kama indicatore e chiarimento strategia
- This topic has 5 replies, 3 voices, and was last updated 5 years ago by remembers.
-
-
09/12/2019 at 6:12 PM #107376
Salve, ho visto questo post https://www.prorealcode.com/prorealtime-trading-strategies/kama-sma-trading-system-dax-mtf/ dove si parlava dell’indicatore KAMA associato alla media semplice come segnale di buy/sell su doppio timeframe 1min 1h. Io ho provato ad eliminare il doppio timeframe lasciando solo l’orario che è anche quello dove arrivano i segnali di entrata il problema è che con l’impostazione KAMA 2, 2, 30 l’indicatore dopo poche candele non funziona più!
Tra l’altro io avevo già questo indicatore ed effettivamente utilizzando il settaggio 2, 2, 30 anche l’indicatore fuori dal prorder smette di funzionare dopo x candele! La cosa strana è che sul sistema doppio timeframe “pare” invece funzioni bene e non si blocca come è possibile!?
Inserisco qui il pezzo di codice kama che su unico timeframe non funziona e non funziona neanche come indicatore impostando il settaggio 2, 2, 30
kama123456789101112131415Period = 2 //2 (standard 10)FastPeriod = 2 //standardSlowPeriod = 30 //standard//Fastest = 2 / (FastPeriod + 1)Slowest = 2 / (SlowPeriod + 1)if barindex >= (Period + 1) thenNum = abs(close-close[Period])Den = summation[Period](abs(close-close[1]))ER = Num / DenAlpha = SQUARE(ER *(Fastest - Slowest )+ Slowest)Kama = (Alpha * Close) + ((1 -Alpha)* Kama[1])elseKama = closeendifovviamente manca il return per usarlo come indicatore
Potreste illuminarmi su questa cosa?
Grazie
09/12/2019 at 8:32 PM #107389Si, in effetti basta aumentare PERIOD e funziona correttamente.
Non sono riuscito a prima vista a capire dove sia il problema, ci darò un’occhiata più in dettaglio domani.
09/13/2019 at 8:23 AM #10741009/13/2019 at 9:09 AM #107420Il codice dove stavo iniziando a lavorare (quindi è pieno di commenti inutilil eheh) è questo e lo stavo provando appunto sul dax 1h singolo time frame… mentre sul link sopra a doppio timeframe come per magia l’indicatore funziona anche con 2, 2, 30!!!
dax 1h kama sma123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249// Definizione dei parametri del codice// Impedisce al sistema di creare nuovi ordini per entrare a mercato o aumentare la taglia della posizione prima dell'orario specificato// Impedisce al sistema di piazzare nuovi ordini per entrare a mercato o aumentare la taglia della posizione dopo l'orario indicato// Impedisce al sistema di tradare in giorni specifici della settimanaDEFPARAM CumulateOrders = False // Posizioni cumulate disattivateDEFPARAM PRELOADBARS = 400// gestione posizione *********************************************************once ttrail = 30 // inizio trailing step dopo 30 di guadagnoonce ttstep = 25 // step del trailing stoponce parstop = 70 // ******************************* da parametrizzare con ATRonce tbarspd = 3 //barra entro la quale realizzare un guadagno decenteonce tfprofit = 80 // guadagno da realizzare entro TBARSPD barreonce x = 1 //numero contratti da aprireonce pbreakeven = 30// gestione indicatori ********************************************************//****************************************************************************// ********************* SETUP INDICATORI *************************************// ****************************************************************************//------------------------------------------------------------------------------------// Kama & Sma Strategy////https://www.forexstrategiesresources.com/trend-following-forex-strategies/111-kama-strategy///Period = 3 //2 due non funziona dopo un po //2 (standard 10)FastPeriod = 2 //2 //standardSlowPeriod = 25 //30 //standard//Fastest = 2 / (FastPeriod + 1)Slowest = 2 / (SlowPeriod + 1)if barindex >= (Period + 1) thenNum = abs(close-close[Period])Den = summation[Period](abs(close-close[1]))ER = Num / DenAlpha = SQUARE(ER *(Fastest - Slowest )+ Slowest)Kama = (Alpha * Close) + ((1 -Alpha)* Kama[1])elseKama = closeendif//------------------------------------------------------------------------------------Sma = average[30](close) //22//------------------------------------------------------------------------------------IF NOT ONMARKET THENnewSL = 0cbe = 0 //check breakeven// ********************* SETUP GESTIONE POSIZIONI *****************************// ****************************************************************************// controlli volatilità ***************************************************************************//controlli direzionalità *************************************************************************// ingressi BUY CHECK ***********************************************************************************************//entrata LONG ****************************************************************if Kama CROSSES OVER Sma thenpb1 = 1elsepb1 = 0endif//entrata short ***************************************************************if Kama CROSSES UNDER Sma thenps1 = 1elseps1 = 0endif//CONFERMA SEGNALI *********************************if (pb1) thengbuy = 1elsegbuy = 0endifif (ps1) thengsell = 1elsegsell = 0endif//GESTIONE PREZZO DI ENTRATA A MERCATO ***************************************************// POSIZIONAMENTO ORDINI A MERCATO// ****************************************************************************************ctime = 1//catr = 1//buy ***********************************************************IF ctime and gbuy AND NOT ONMARKET THENBUY x CONTRACT AT marketSET STOP pLOSS parstopENDIF////sell ***********************************************************if ctime and gsell AND NOT ONMARKET THENSELLSHORT x CONTRACT AT MARKETSET STOP pLOSS parstopENDIFELSIF ONMARKET THEN// GESTIONE ORDINE// **********************************************************************************************//azzera indicatori di setup entrata ****************************ctime = 0gbuy = 0gsell = 0// MONEY MANAGMENT// ***********************************************************************************************trailingstart = ttrail //SUPERATA LA SOGLIA MUOVE LO STOP LOSS IN STOP PROFITtrailingstep = ttstep // BLOCCO CHE MUOVE LO STEP PROFITnewstop = parstopnumbar = BarIndex - TRADEINDEXslnbar = 3slperc = 0.9if (numbar > slnbar) then //inizia a ridurre lo stopnewstop = parstop - (slperc * (numbar - slnbar))if newstop < 10 thennewstop = 10endifendifSET STOP pLOSS newstop //parstop //newstop // stoploss// TEMPO//*************************************************************************************************//ferma tutto il venerdì alle 21:30 ********************************//if ((OpenDayOfWeek = 5) AND (time >= 180000)) THEN//sell at market//exitshort at market//endif// POSIZIONI BUY APERTE// *************************************************************************************************IF LONGONMARKET THEN// BREAKEVEN ****************************************************if (((close - tradeprice) > pbreakeven) and (close > tradeprice)) OR (cbe) thencbe = 1SELL AT Tradeprice + 3 STOPendif// GESTIONE TRAILING STOP// ****************************************************************// Gestione trailing stop ***********************************************************************IF ((newsl = 0) AND ((close - tradeprice) >= (trailingstart * pipsize))) THENnewsl = tradeprice + (trailingstep * pipsize)ENDIF//next movesIF ((newsl > 0) AND ((close - newsl) >= (trailingstep * pipsize))) THENnewsl = newsl + (trailingstep * pipsize)ENDIF// guadagno veloce Poche candele take money and run// ************************************************************************************if LONGONMARKET and ((BarIndex - TRADEINDEX) <= tbarspd) thenSET TARGET pPROFIT tfprofitelseSET TARGET pPROFIT 0//SET TARGET pPROFIT iatr * multipvol * multiproff //fisso o take profit su atr?????ENDIFENDIF//POSIZIONI SHORT APERTE// *******************************************************************************************************IF SHORTONMARKET THEN// breakevenif (((tradeprice - close) > pbreakeven) and (tradeprice > close)) OR (cbe) thencbe = 1EXITSHORT AT TradePrice -3 STOPendif// GESTIONE TRAILING STOP// **********************************************************************************IF ((newSL = 0) AND ((tradeprice - close) >= (trailingstart * pipsize))) THENnewSL = tradeprice - (trailingstep * pipsize)ENDIFIF ((newSL > 0) AND ((newSL - close) >= (trailingstep * pipsize))) THENnewSL = newSL - (trailingstep * pipsize)ENDIF// guadagno veloce Poche candele take money and run ********************************************************if SHORTONMARKET and ((BarIndex - TradeIndex) <= tbarspd) thenSET TARGET pPROFIT tfprofitelseSET TARGET pPROFIT 0//SET TARGET pPROFIT iatr * multipvol * multiproff //fisso o take profit su atr?????endifENDIF//TAKE PROFIT TRAILING EXIT POSITIONS// **********************************************************************************IF (newSL > 0) THENIF (LONGONMARKET) AND (newSL > close) AND (close > tradeprice) THENSELL AT MARKETENDIFIF SHORTONMARKET AND (newSL < close) AND (close < tradeprice) THENEXITSHORT AT MARKETENDIFENDIFendif// DEBUG//***********************************************************************************//graph newslComunque sono sicuro che il problema è proprio nell’indicatore kama (quello che ho postato sopra) perchè come scrivevo prima, usandolo come semplice indicatore dopo poche candele l’indicatore smette di funzionare cioè rimane fermo su un valore… (accade su dax e altri)! Se può essere di aiuto sul forex eur/usd funziona anche con 2, 2, 30 anche sul coffee cash funziona mentre su quasi tutti gli altri dax, sp500, gold, etc non funziona!
Inoltre notavo che non mi fa ottimizzare più le variabili il proorder visualizzando tutti i risultati ottimizzati a zero ad esempio ottimizzando Period e/o Sme PRT non mi calcola la proiezione del sistema ma lascia tutto a 0.
Sembra state aggiornando versioni PRT oppure è un caso o un errore mio?
09/13/2019 at 3:33 PM #107485Ci sono dei problemi, su 1 minuto tra il 7 ed il 12 Marzo 2019, su H1 tra Maggio 2006 e Giugno/Luglio 2019.
Se fai il backtest con 200K barre vedrai che, su 1-minuto di default, si ferma il 7 Marzo 2019 e devi farlo ripartire dal 13 Marzo 2019.
Se usi H1 con 200K barre inizia ad Aprile 2006 e si ferma dopo un mese circa ed occorre farlo ripartire dal 15 Luglio 2019.
Ho fatto questa segnalazione https://www.prorealcode.com/topic/backtest-fails-on-march-7th-dax-1-minute-tf/#post-107484.
1 user thanked author for this post.
09/13/2019 at 8:19 PM #107509 -
AuthorPosts
Find exclusive trading pro-tools on