Lo stocastico ha una brutta proprietà di cambiare i suoi valori retroattivamente, specialmente se i valori sono presi da timeframe più alti.
Se non fosse per questo problema - sarebbe difficile trovare un indicatore migliore!
Ed è difficile trovare un indicatore migliore!
Lo stocastico ha una brutta proprietà di cambiare i suoi valori retroattivamente, specialmente se i valori sono presi da timeframe più alti.
Se non fosse per questo problema, sarebbe difficile trovare un indicatore migliore!
Questa è una sciocchezza. Dove avete visto un tale stocastico?
Lo stocastico non è affatto un indicatore simmetrico. Come molti pensano. La gamma dinamica dell'indicatore a causa della sua struttura rappresenta in modo diverso i movimenti di prezzo verso l'alto e verso il basso!
No. 99/1.
Sapevate che il codice stocastico completo è disponibile su: 'Stochastic Oscillator, Stochastic'.
Vi dispiacerebbe puntare il dito dove nel codice che è responsabile di:
- quando l'apertura di una posizione SELL a volte ci porta inizialmente in svantaggio"?
- "La stocastica ha la brutta proprietà di cambiare i suoi valori retroattivamente"?
Ecco una chiara prova dell'asimmetria della stocastica.
Il canale appeso all'indicatore si restringe costantemente in basso e si allarga in alto. O dobbiamo passare noiosamente attraverso i numeri qui per capire la formula?
Cosa farebbe una formula "a specchio"?
%K = 100*SOMMA (MAX (HIGH, Pk)-CLOSE), Sk) / SOMMA (MAX (HIGH, Pk) - MIN (LOW, Pk)), Sk)
È difficile dirlo subito. Probabilmente dovrai scrivere il codice per l'indicatore dello specchio. Confronta la loro configurazione sul grafico.
Per il trading automatico qualsiasi differenza di visualizzazione sarà significativa. Entrare in Buy usando un indicatore normale. Usa un indicatore a specchio per entrare in Sell.
Beh, il codice sorgente è disponibile, è facile da sostituire. Ma per la percezione sarà più naturale per idea
%K = 100*(1-SOMMA (MAX (HIGH, Pk)-CLOSE), Sk) / SOMMA (MAX (HIGH, Pk) - MIN (LOW, Pk)), Sk)
Se diamo un'occhiata superficiale alla formula stocastica, possiamo già assumere con grande probabilità che l'unipolarità dell'indicatore è "colpa" dell'asimmetria!
E non posso dire nulla sul cambiamento dei "valori arretrati", non l'ho affrontato.
- Nell'indicatore standard
iStochastic
High e Close formati da Bid - questo è il punto. Questo è un errore grossolano!!! Soprattutto per lo stocastico!!! E soprattutto nei piccoli periodi!!!Non sono un programmatore, non giudicate severamente, ho migliorato lo stocastico standard per me stesso. Funziona correttamente:
//+------------------------------------------------------------------+ //| $Stochastic. mq4 | //| Vladimir | //+------------------------------------------------------------------+ #property indicator_separate_window #property indicator_minimum 0 #property indicator_maximum 100 #property indicator_level1 80 #property indicator_level2 50 #property indicator_level3 20 #property indicator_buffers 2 #property indicator_color1 LightSeaGreen #property indicator_color2 Red //---- input parameters extern int KPeriod=6; extern int DPeriod=2; extern int Slowing=1; //---- buffers double MainBuffer[]; double SignalBuffer[]; double HighesBuffer[]; double LowesBuffer[]; //---- int draw_begin1=0; int draw_begin2=0; double CHigh,CClose; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int init() { string short_name; //---- 2 additional buffers are used for counting. IndicatorBuffers(4); SetIndexBuffer(2, HighesBuffer); SetIndexBuffer(3, LowesBuffer); //---- indicator lines SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(0, MainBuffer); SetIndexStyle(1,DRAW_LINE); SetIndexBuffer(1, SignalBuffer); //---- name for DataWindow and indicator subwindow label short_name="Stochastic("+KPeriod+","+DPeriod+", "+Slowing+")"; IndicatorShortName(short_name); SetIndexLabel(0,short_name); SetIndexLabel(1,"Signal"); //---- draw_begin1=KPeriod+Slowing; draw_begin2=draw_begin1+DPeriod; SetIndexDrawBegin(0,draw_begin1); SetIndexDrawBegin(1,draw_begin2); //---- CHigh=MarketInfo(Symbol(),MODE_SPREAD)*MarketInfo(Symbol(),MODE_POINT);// Вычисляем спред CClose=CHigh/2.0;// Спред пополам //---- return(0); } //+------------------------------------------------------------------+ //| Stochastic oscillator | //+------------------------------------------------------------------+ int start() { int i,k; int counted_bars=IndicatorCounted(); double price; //---- if(Bars<=draw_begin2) return(0); //---- initial zero if(counted_bars<1) { for(i=1;i<=draw_begin1;i++) MainBuffer[Bars-i]=0; for(i=1;i<=draw_begin2;i++) SignalBuffer[Bars-i]=0; } //---- minimums counting i=Bars-KPeriod; if(counted_bars>KPeriod) i=Bars-counted_bars-1; while(i>=0) { double min=1000000; k=i+KPeriod-1; while(k>=i) { price=Low[k]; if(min>price) min=price; k--; } LowesBuffer[i]=min; i--; } //---- maximums counting i=Bars-KPeriod; if(counted_bars>KPeriod) i=Bars-counted_bars-1; while(i>=0) { double max=-1000000; k=i+KPeriod-1; while(k>=i) { price=High[k]+CHigh; if(max<price) max=price; k--; } HighesBuffer[i]=max; i--; } //---- %K line i=Bars-draw_begin1; if(counted_bars>draw_begin1) i=Bars-counted_bars-1; while(i>=0) { double sumlow=0.0; double sumhigh=0.0; for(k=(i+Slowing-1);k>=i;k--) { sumlow+=Close[k]+CClose-LowesBuffer[k]; sumhigh+=HighesBuffer[k]-LowesBuffer[k]; } if(sumhigh==0.0) MainBuffer[i]=100.0; else MainBuffer[i]=sumlow/sumhigh*100; i--; } //---- last counted bar will be recounted if(counted_bars>0) counted_bars--; int limit=Bars-counted_bars; //---- signal line is simple movimg average for(i=0; i<limit; i++) SignalBuffer[i]=iMAOnArray(MainBuffer,Bars,DPeriod, 0, MODE_SMA, i); //---- return(0); } //+------------------------------------------------------------------+
- 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
Penso che lo stocastico sia un indicatore abbastanza promettente per il trading automatico.
Ma si scopre che non è così semplice! Ho fatto un Expert Advisor molto semplice (una decina di righe) basato sullo stocastico senza alcun "eccesso".
Entrata - attraversamento della linea principale della linea del segnale. Pertanto, l'algoritmo si basa sull'attraversamento della linea del segnale:
Poi l'ho ottimizzato a occhio e l'ho fatto girare nel tester per un anno e mezzo. E qui ho scoperto, o meglio dimostrato la mia osservazione di lunga data! Lo stocastico non è un indicatore simmetrico, come molti pensano. La gamma dinamica dell'indicatore, a causa della sua struttura, riflette in modo diverso i movimenti di prezzo verso l'alto e verso il basso!
Questo è il motivo per cui nel trading manuale e automatico siamo a volte inizialmente in svantaggio quando apriamo posizioni SELL.
Simbolo GBPUSD (Sterlina britannica contro dollaro USA) Periodo 4 ore (H4) (2006.01.01 - 2007.08.31)
Modello Tutti i tick (basato su tutti i più piccoli periodi disponibili con interpolazione frattale di ogni tick)
Qualità di modellazione 90.00% Deposito iniziale 10000.00
Utile netto 3667.00
Profitto totale 9801.02
Perdita totale -6134.02 Redditività 1.60
Payoff atteso 13,94 Drawdown assoluto 202,02 Drawdown massimo 438,24 (3,25%) Drawdown relativo 3,25% (438,24)
Totale scambi 263
Posizioni corte (% vittoria) 134 (51,49%)
Posizioni lunghe (% vittoria) 129 (67,44%)
Operazioni redditizie (% di tutte) 156 (59,32%)
Operazioni in perdita (% di tutte) 107 (40,68%)
Il trade più redditizio è 130.00
Deal Deal perdita -60.56
Media degli scambi redditizi 62,83
accordo perdente -57.33
Con qualsiasi layout, variante e parametro risulta sempre che le operazioni lunghe con l'indicatore su diverse coppie sono più promettenti di quelle corte.
Risulta sempre che il numero di affari redditizi di quelli lunghi è fino all'80
E di quelli corti - nel migliore dei casi il 50/55%.
E questo è vero per le entrate dalla linea di segnale, così come dai livelli di ipercomprato/ipervenduto, e anche da iOnArray.
La conclusione è che quando si usa Stochastic, i parametri per comprare e per vendere dovrebbero essere impostati separatamente. Cioè applicare due indicatori.