Home Technische indicator Bericht

Stochastisch met Ruisonderdrukking: Een Handige Indicator voor MetaTrader 4

Bijlage
9279.zip (2.09 KB, Downloaden 0 keer)

Beschrijving:

Standaard Stochastische Oscillator met een gevoeligheidsfunctie.

Deze indicator heeft dezelfde parameters als de standaard Stochastische Oscillator, maar bevat een extra parameter genaamd Sens in het parameterscherm.

Met deze parameter kunnen we alleen oscillaties onder een vooraf gedefinieerde drempel, gespecificeerd in punten, in overweging nemen. Dit helpt om veel valse signalen te verminderen.

De klassieke Lane Stochastische Oscillator plaatst de huidige prijs tussen een maximum en een minimum prijs over een aantal bars, gedefinieerd door de %K (Kperiod) waarde. Het maakt geen onderscheid tussen extremen, bijvoorbeeld 1 punt of 100 punten. In beide gevallen zullen de resultaten hetzelfde zijn en krijgen we overgekochte/oververkochte signalen.

Maar door een drempel in te stellen, kunnen we alleen significante oscillaties in overweging nemen.

In Fig. 1 (EURUSD, 1M) worden de prijs grafiek, de standaard stochastic en de voorgestelde indicator weergegeven.

Afbeelding:

Fig 1.

Het indicatorveld is hetzelfde als voor iStochastic, met het verschil dat er een extra parameter Sens - gevoeligheid is toegevoegd.

De output buffers zijn identiek: 0 - de Stochastic waarde zelf, 1 - signaallijn.

double iCustom(string symbool, int tijdsframe, "_StochNR", int %Kperiod, int %Dperiod, 
int afremming, int methode, int prijsveld, int modus, int verschuiving); // StochNR heeft het nieuwe Sens veld toegevoegd

double iStochastic(string symbool, int tijdsframe, int %Kperiod, int %Dperiod, 
int afremming, int methode, int prijsveld, int modus, int verschuiving) // standaard stochastic 

Voor praktisch gebruik is het mogelijk om het aan te roepen zoals hierboven gespecificeerd, maar het is beter om het op een andere manier te doen. Voeg gewoon wat code toe aan je Stoch functie:

double Stoch(int Kperiod, int Afremming, int PrijsVeld, double sens, int i) {  
   // maximale en minimale prijzen
   double max,min,c;
   for(int j=i; j<i+Afremming; j++) {
      if(PrijsVeld==1) { // op Sluiten
         max+=Sluiten[ArrayMaximum(Sluiten, Kperiod,j)];
         min+=Sluiten[ArrayMinimum(Sluiten, Kperiod,j)];
        }
      else { // op Hoog/Laag
         max+=Hoog[ArrayMaximum(Hoog, Kperiod,j)];
         min+=Laag[ArrayMinimum(Laag, Kperiod,j)];
        }
      c+=Sluiten[j];
     }
  
   double delta=max-min;
   if(delta<sens) {
      sens/=2;
      max+=sens; min-=sens;
     }
   delta=max-min;
   if(delta==0) double s0=1;
   else s0=(c-min)/delta;

   return(100*s0);
  }

Het is duidelijk dat als je een signaallijn nodig hebt, je een extra voortschrijdend gemiddelde van de waarde moet hebben. Een andere manier is om het uit de iCustom's 1e buffer te halen, maar dat zal traag zijn.

Zoals je ziet, is de naam nu informatiever. Er is een type prijsberekening toegevoegd. Als de gevoeligheid groter is dan 0, wordt deze waarde aan de naam van de oscillator toegevoegd.


Opmerking van de redactie:

Let op dat dit een spiegelvertaling is van de originele Russische versie.

Als je vragen hebt voor de auteur, suggesties of opmerkingen, is het beter om ze daar te plaatsen.

Als je deze code nuttig hebt gevonden voor trading of educatieve doeleinden, vergeet dan niet de auteur te bedanken.

Gerelateerde berichten

Reactie (0)