22.10.17
|
Gesperrter Benutzer
|
|
Registriert seit: Feb 2016
Ort: 2100 Österreich
Beiträge: 313
|
|
Stochastik - Differenz %K-%D berechnen und anzeigen
Auf mql5.com wurde gefragt wie man die Differenz von %K und %D in der Stochastik berechnet.
Ich habe es in einem MiniEA geproggt und möchte es euch nicht vorenthalten.
Code:
//+------------------------------------------------------------------+
//| StochDiff.mq5 |
//| Copyright © 2017 Ing. Otto Pauser |
//| http://www.spider4x.com |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2017 Ing. Otto Pauser"
#property link "http://www.spider4x.com"
#property version "1.00"
input int inp_Kperiod = 5; // %K Periode
input int inp_Dperiod = 3; // %D Periode
input int inp_slowing = 3; // Verlangsamung
input ENUM_MA_METHOD inp_method = MODE_SMA; // Methode
input ENUM_STO_PRICE inp_pricef = STO_LOWHIGH; // Preisbereich
int haStoch; // handle für iStochastik
double prozD[1], // statischer buffer für %D
prozK[1]; // statischer buffer für %K
double delta;
int OnInit()
{
haStoch=iStochastic(_Symbol,_Period,inp_Kperiod,inp_Dperiod,inp_slowing,inp_method,inp_pricef); // handle iStochastik erstellen
if(haStoch==INVALID_HANDLE) // ErrCheck
{
MessageBox("*ERROR* creating handle iStochastic",MQLInfoString(MQL_PROGRAM_NAME),MB_ICONERROR); // Info
return(INIT_FAILED); // da ging was schief
}
return(INIT_SUCCEEDED); // alles OK
}
void OnDeinit(const int reason)
{
IndicatorRelease(haStoch); // handle freigeben (nicht unbedingt erforderlich, sind aber gute Sitten)
}
void OnTick()
{
if(CopyBuffer(haStoch,0,0,1,prozK)!=1) return; // Werte aus Buffern holen
if(CopyBuffer(haStoch,1,0,1,prozD)!=1) return;
delta=prozK[0]-prozD[0];
Comment("Stochastik Differenz %K-%D: ",DoubleToString(delta,2));
}
Grüße, Otto
Geändert von Kronenchakra (22.10.17 um 04:10 Uhr)
Grund: Korrektur
|