Home Technische indicator Bericht

Doji Hunter: Een Onmisbare Indicator voor MetaTrader 4

Bijlage
9883.zip (1.55 KB, Downloaden 0 keer)

Vandaag gaan we het hebben over de Doji Hunter, een handige indicator voor MetaTrader 4 die je helpt bij het herkennen van doji-candlesticks. Dit is een waardevolle tool voor elke trader die zijn handelsstrategieën wil optimaliseren.

Als eerste heb ik een RangeOfBars variabele toegevoegd. Hiermee kun je aangeven hoeveel candles terug je wilt kijken om doji's te vinden. Dit maakt het ook mogelijk om dubbele doji's te detecteren. Door de RangeOfBars in te stellen op 2 of 3, kun je de eerste, tweede of derde candlepositie checken voor een mogelijke dubbele doji. Op deze manier kun je een methode voor IsDoji creëren die alleen naar de eerste candlepositie kijkt, en een tweede methode die naar de eerste en tweede positie kijkt voor een dubbele doji. Hierdoor kun je je code schrijven om te zeggen: als IsDoji geen trade, als IsDoubleDoji trade op extensie, enzovoorts.

De originele coding voor de Doji Reader 2 had moeite met vijf-cijferige condities. Sorry partner, maar hier zie je een efficiëntere manier om het te schrijven. Natuurlijk is mijn versie ook niet perfect, maar het is een stap in de goede richting.

Ik heb de ShowCandleBox functie behouden, want ik vond het een leuke manier om een indicator op de grafiek te plaatsen en het deed het goed tijdens de tests. De extra indicatoren waren leuk, maar ik wilde het simpel houden. De extra tekst was ook leerzaam voor de gebruiker bij het vinden van de doji, maar nogmaals, eenvoud is de sleutel.

Een belangrijke wijziging was het veranderen van de configuratiewaarden naar doubles in plaats van integers. Door dit om te zetten naar doubles, kunnen we de precisie van vijf cijfers benutten en krijg je een schonere en strakkere doji te zien wanneer je het gebruikt. Let op: bij het gebruik van een indicator die gebaseerd is op een double, gebruik nooit een integer, tenzij je het gebruikt om iets te tellen.

Tevens heb ik een counter reset toegevoegd, zodat de boxen niet eindeloos blijven tellen. Elke keer als de indicator verwerkt wordt, bleef dezelfde teller maar toenemen. Door de reset toe te voegen, krijgen we nog steeds een nauwkeurige telling, maar deze reset bij het begin van elke verwerkingscyclus.

Ik heb een buffer en een buffer schoonmaakproces toegevoegd zodat je standaard 0 of 1 kunt doorgeven als het gevonden is. Door de range klein te houden, gebruiken we geen overmatige CPU-kracht voor oude data die we niet nodig hebben.

Hier is een voorbeeld van hoe je het in je code kunt declareren:

extern string __DOJI_HUNTER_SETTINGS = "-----";
int RangeOfBars = 3;
bool ShowCandleBox = true; //false om de candle box te verbergen
extern color BoxColor = MistyRose; //voeg je favoriete kleur toe

Hier is een voorbeeld van hoe je de gegevens van de doji kunt ophalen. Let op, plaats deze aanroep in het nieuwe candle event-gedeelte van je code. Het plaatsen in het tick-event kan problemen veroorzaken:

Doji1 = iCustom(NULL,0,"Doji_Hunter", 
             RangeOfBars, ShowCandleBox, BoxColor, FindRegularDoji, 
             MinLengthOfUpTail, MinLengthOfLoTail, MaxLengthOfBody, 
             FindDragonflyDoji, MaxLengthOfUpTail1, MinLengthOfLoTail1, 
             MaxLengthOfBody1, FindGravestoneDoji, MinLengthOfUpTail2, 
             MaxLengthOfLoTail2, MaxLengthOfBody2, 0, 0);

De bovenstaande code snippet haalt de waarde van de eerste candle locatie op, die ofwel 0 of 1 is, waarbij 1 betekent dat er een doji gevonden is.

Gerelateerde berichten

Reactie (0)