Il grano c'è, ma è necessario un mulino adatto.
L'idea non è nuova, cercate nel codebase e nel forum. Anche negli indicatori forniti con MT5.
// Il nome intelligente "filtri digitali adattivi" significa fondamentalmente la stessa cosa. Più precisamente, generalizza un po' l'idea.
Очень много индикаторов используют для рассчета своих значений так называемый "период". Обычно это количество баров которое учавствует в расчете очередного значения. Возьмем например RSI. Если очень грубо - этот индикатор показывает отношение длинны "пробега" цены вверх по отношению к аналогичной длине пробега цены вниз. При очень маленьких периодах получается жуткая болтанка, при очень длинных - нечто слабопульсирующее около нуля. Однако рынок не всегда равномерен. Точнее всегда не равномерен. После выхода новостей смены торговых сессий да еще на коротких таймах, чтобы поймать все движения период нужно выбирать не очень большой. С другой стороны во время длинного "затяжного" тренда (или флэта) этот период вполне разумно увеличить чтобы отслеживать тенденцию самого тренда, а не колебаний внутри его канала.
Кто нибудь пробовал строить индикаторы которые сами адаптируют длину периода под меняющиеся условия? Вот, например "здесь", когда какойто другой индикатор (или какието вычисления внутри текущего индикатора) в таком то диапазоне мы пропорционально сокращаем длинну перода для этого бара, а при таких то условиях (уже на другом баре) - наоборот увеличиваем.
Если да - то какие получались результаты? да и вообще - есть ли здравое зерно в этой идее (автоподстройки длинны периода)?
Ho provato questo attraverso la correlazione con le armoniche di riferimento,
Ma si scopre che a volte i periodi saltano bruscamente per poi tornare a quello iniziale, rovinando così l'intero quadro,
E inoltre questo metodo è molto lungo, se in tempo reale può ancora essere usato nel tester, ma nell'ottimizzazione è un fallimento totale,
Beh, in generale, è un argomento promettente.
Очень много индикаторов используют для рассчета своих значений так называемый "период". Обычно это количество баров которое учавствует в расчете очередного значения. Возьмем например RSI. Если очень грубо - этот индикатор показывает отношение длинны "пробега" цены вверх по отношению к аналогичной длине пробега цены вниз. При очень маленьких периодах получается жуткая болтанка, при очень длинных - нечто слабопульсирующее около нуля. Однако рынок не всегда равномерен. Точнее всегда не равномерен. После выхода новостей смены торговых сессий да еще на коротких таймах, чтобы поймать все движения период нужно выбирать не очень большой. С другой стороны во время длинного "затяжного" тренда (или флэта) этот период вполне разумно увеличить чтобы отслеживать тенденцию самого тренда, а не колебаний внутри его канала.
Кто нибудь пробовал строить индикаторы которые сами адаптируют длину периода под меняющиеся условия? Вот, например "здесь", когда какойто другой индикатор (или какието вычисления внутри текущего индикатора) в таком то диапазоне мы пропорционально сокращаем длинну перода для этого бара, а при таких то условиях (уже на другом баре) - наоборот увеличиваем.
Если да - то какие получались результаты? да и вообще - есть ли здравое зерно в этой идее (автоподстройки длинны периода)?
Sì, l'ho fatto. Molte volte e in modi diversi. Il risultato migliora certamente (per le applicazioni standard), ma è ancora - come ho già scritto più volte - un adattamento di una coppia di frasi su un polipo, poiché si considera la BP e non una serie di impulsi. Per esempio, un metodo molto semplice (oltre a quello che ho già presentato nel codice base): se l'ampiezza della barra è inferiore a una soglia specificata, allora il periodo dell'indicatore viene aumentato di 1. Cioè la lunghezza del campione sarà uguale alla lunghezza del segmento in cui si trovano le barre significative (con ampiezza superiore alla soglia). Le condizioni, naturalmente, possono essere inventate (logicamente, ovviamente) in una varietà di modi.
Per esempio, l'RSI per questa selezione elementare sarà così: selezionano le barre con uno swing maggiore di 2 pips (il periodo aumenta fino a raggiungere il min necessario; il periodo è limitato in alto da un dato parametro - qui da 14 a 33 (blu - RSI normale, rosso - con la soglia). La finestra qui sotto mostra come è cambiato il periodo.
Non guardare la finestra 0 - semplicemente non ha cancellato l'indicatore. Non c'entra niente. // ))) anche se l'adattamento del periodo tramite il coefficiente EMA è usato anche lì.
Sì. Ma - ripeto - è meglio di niente, ma...)))
A proposito, nel caso non lo sapessi, esiste il cosiddetto DMI (Dynamic Momentum Index), dove anche il periodo RSI cambia, ma a seconda del RMS. Potete vedere la descrizione in Williams e Chand.
===
E il semplice approccio che ho descritto può essere applicato a qualsiasi cosa, dove c'è una lunghezza di campionamento. Se avete bisogno di qualcosa di più complesso, c'è un indicatore di direzione speciale - MsterSlave (vedi nella base).
===========
E qui, dove il limite superiore della lunghezza del periodo è praticamente illimitato. Cioè il periodo di RSI aumenterà fino a raggiungere 14 barre con più di 2 pip di spread. Come potete vedere, come regola, 100 barre per un dato strumento e timeframe sono sufficienti per questo - in altre parole, il periodo non va oltre le 100 barre.
Ma sostituire un'incertezza con un'altra non sembra dare un risultato qualitativo. dannazione, quasi una filosofia, madre di tutte le scienze.
Grazie a tutti quelli che hanno risposto - cercherò di digerire il tutto, pensarci e trovare qualcosa.
Un indicatore period-adaptive è un trasferimento di una parte del sistema e dell'idea di trading nel suo codice. Cioè il timing non dipende dall'indicatore, ma dall'idea di trading, e l'indicatore è solo una trasformazione del prezzo.
L'AT cerca di identificare i processi che si verificano oggettivamente nel mercato e permette di utilizzarli quando esistono ancora. Cioè il processo iniziale, e gli eventi sul grafico sono l'opportunità di rilevare in quale fase si trova. In questo modo, per l'adattività non è necessario calcolare il valore del periodo, ma i nuovi punti di riferimento. Cioè c'è un certo evento AT (svolta, impulso, ecc., ecc.) - c'è un nuovo punto nel tempo da cui il riferimento è fatto. Infatti è un nuovo t-stop. L'indicatore conta sulla finestra adattiva con un periodo uguale allo spostamento del momento attuale dal caso t di riferimento. Se viene identificato un nuovo dato, il periodo viene calcolato a partire da esso. Ma forse la variante è utile, quando alla comparsa di un nuovo evento TA il periodo dell'indicatore diventa un valore predefinito, che in realtà significa la cattura del prezzo di formazione di questo evento. Oppure per calcolare il periodo dell'indicatore usare il tempo tra gli eventi TA più vicini
Ho deciso di unirmi alla conversazione tra gli scienziati e contribuire con la mia ricetta di cucina. Negli ultimi due anni ho realizzato quasi tutti gli indicatori con parametri che cambiano in modo adattivo. Le soluzioni primitive non funzionano sul mercato, sono arrivato a questa conclusione molto tempo fa, e ho coltivato l'idea di fare un sistema completamente adattivo, ma non ho ancora il tempo di farlo, faccio frammenti di adattamento separati negli indicatori. Ecco un esempio di un frammento dell'ultimo indicatore. In generale, l'indicatore è composto da diversi blocchi funzionali, ogni blocco forma i suoi segnali target, in tutto ci sono 24 segnali, citerò solo un blocco che forma i canali. Non ho ancora fatto l'autotuning per il cambio di timeframes e simboli, quindi ogni variante deve essere regolata individualmente.
//===================================================================================================================================== extern int PIB= 33; extern int PIS= 37; extern double PMB= 3.98; extern double PMS= 3.98; //==================================================================================================================================== //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { PPB=NormalizeDouble(PIB*Point,Digits); PPS=NormalizeDouble(PIS*Point,Digits); PMB=NormalizeDouble(PMB*Point,Digits); PMS=NormalizeDouble(PMS*Point,Digits); }funzione di avvio esperto :
PR=NormalizeDouble((High[1]-Low[1])+(High[2]-Low[2])+(High[3]-Low[3])+(High[4]-Low[4])+(High[5]-Low[5])+(High[6]-Low[6])+(High[7]-Low[7]),Digits); PRB=NormalizeDouble(PMB/PR,Digits); PRS=NormalizeDouble(PMS/PR,Digits); BTH[0]=High[0]-PR/17-PRB/2; if ((MathAbs(BTH[0]-BTH[1])<=PPB)) BTH[0]=BTH[1]; BTC[0]=Close[0]-PR/10; if ((MathAbs(BTC[0]-BTC[1])<=PPB)) BTC[0]=BTC[1]; BTC[0]=0.4*BTC[0]+0.6*BTC[1]; BTL[0]=Low[0]-PR/17+PRB/2; if ((MathAbs(BTL[0]-BTL[1])<=PPB)) BTL[0]=BTL[1]; STH[0]=High[0]+PR/17-PRS/2; if ((MathAbs(STH[0]-STH[1])<=PPS)) STH[0]=STH[1]; STC[0]=Close[0]+PR/10; if ((MathAbs(STC[0]-STC[1])<=PPS)) STC[0]=STC[1]; STC[0]=0.4*STC[0]+0.6*STC[1]; STL[0]=Low[0]+PR/17+PRS/2; if ((MathAbs(STL[0]-STL[1])<=PPS)) STL[0]=STL[1];Come potete vedere, i parametri dei canali sono regolati in modo adattivo a seconda degli indicatori dinamici medi delle ultime barre.
Il risultato è la seguente immagine:
VTN - blu, BTL - giallo, BTL - rosa, STH - blu, STC - rosso, STL - viola;
Naturalmente, questo è un approccio semplificato, per un adattamento più accurato alle mutevoli fasi del mercato abbiamo bisogno di una soluzione più complessa, ma tuttavia questa variante migliora significativamente le caratteristiche dell'indicatore.
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Accetti la politica del sito e le condizioni d’uso
Qualcuno ha provato a costruire indicatori che adattano la lunghezza del periodo al cambiamento delle condizioni? Per esempio, "qui", quando un altro indicatore (o alcuni calcoli all'interno dell'indicatore corrente) in un tale intervallo, diminuiamo proporzionalmente la lunghezza del periodo per questa barra, e in tali condizioni (su un'altra barra) - viceversa.
Se sì - quali risultati sono stati ottenuti? E in generale - c'è un senso comune in questa idea (autotuning della lunghezza del periodo)?