Gratis Theil-Sen Indicator voor MetaTrader 4: Jouw Tool voor Trendanalyse

Mike 2020.08.28 04:13 27 0 0
Bijlage

De Theil-Sen Indicator is een handige tool om de algemene richting van een lijn te schatten die is getrokken uit een verzameling datapunten. Deze geschatte lijn wordt verkregen door eerst een regressie uit te voeren op de reeks waarden en vervolgens de helling van deze regressielijn te berekenen.

Je kunt eenvoudig verschillende datatypes selecteren, zoals een eenvoudige voortschrijdende gemiddelde, exponentieel voortschrijdend gemiddelde, sluitprijzen of hoog/laag prijzen. Deze gegevens worden automatisch verzameld van de MetaTrader-grafiek. Kies gewoon het type data dat je wilt analyseren. Het ondersteunt meerdere valuta tegelijk.

iTSlope(asymbol,timeframe,regperiod,adataset,rmp,rtc,slope,line_nickname,enable_text,ashift);
// Dit is de hoofd functie om te gebruiken in je EA. Vul je eigen parameters in.
// Handmatige traders kunnen dit gebruiken of de indicator direct toepassen.

theil_sen_indicator

Zoals gewoonlijk ondersteunt deze indicator meerdere valuta tegelijkertijd. Daarnaast heb ik hier de "BreakPoint" tool toegevoegd, maar deze is niet noodzakelijk voor de indicator zelf.


Hieronder zie je hoe de trendlijn eruitziet in een zijwaarts markt:

ranging market


ranging market with tendency


En zo ziet de trendlijn eruit in een trending markt:

trending


Hier is een demo van de Expert Advisor:

//+------------------------------------------------------------------+
//| demo.mq4 |
//| Copyright 2020, Everybody Software Corp. |
//| https://anywhere.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, Everybody Software Corp."
#property link "https://anywhere.com"
#property version "1.00"
#property strict
#include <TheilSen_Indicator.mqh>
#include <BreakPoint.mqh>//<--- niet vereist
//+------------------------------------------------------------------+
//| Expert initialisatiefunctie |
//+------------------------------------------------------------------+
int OnInit()
{
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialisatiefunctie |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
}
//+------------------------------------------------------------------+
//| Expert tick functie |
//+------------------------------------------------------------------+
void OnTick()
{
//---------deze variabelen zijn leeg, maar zullen data bevatten na gebruik van iTSlop() hieronder.------//
double slope=0;//de helling van de regressielijn.
ENUM_TIMEFRAMES timeframe=0;//dit is de tijdframe voor het symbool. 0 betekent huidige grafiek tijdframe.
int regperiod=20,//de regressieperiode. hoeveel bars wil je regressie uitvoeren.
ashift=1;//de shift van de bar waar je de regressielijn wilt tekenen.
string asymbol="",//dit is het symbool/valutapaar waarop je de berekeningen wilt uitvoeren. "" betekent huidig symbool.
adataset="ema_close",//het type data waarop je regressie wilt uitvoeren.
line_nickname="anything_goes_here",
rmp,//de berekende "marktfase" die een specifieke beschrijving van de markt is.
rtc;//de berekende "markttendens" die een algemene beschrijving van de markt is.
bool enable_text=true;//wanneer ingesteld op true, wordt tekstuele data weergegeven op de huidige grafiek.
iTSlope(asymbol,timeframe,regperiod,adataset,rmp,rtc,slope,line_nickname,enable_text,ashift);//enkele valuta
//if(rmp == "trending")BreakPoint("","",true,"rmp",rmp,"rtc",rtc,"asymbol",asymbol);
}
//+------------------------------------------------------------------+

Speciale dank aan whroeder en anderen die hebben geholpen om het concept te verduidelijken.

Lijst
Reactie 0