present
Registrieren Sie sich und erhalten Sie $50 Rabatt auf Ihren ersten Kauf
Trading product for Doji Engulf Indikator, image 1
Doji Engulf
Indikator
3 downloads
Version 1.0, Jul 2025
Windows, Mac
3
Kostenlose Installationen

Beschreibung

using cAlgo.API;

using cAlgo.API.Indicators;

using cAlgo.API.Internals;

using System;


namespace cAlgo.Indicators

{

[Indicator(TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]

public class DojiStrategyIndicator : Indicator

{

[Parameter("Doji-GrĂ¶ĂŸe", DefaultValue = 0.05, MinValue = 0.01, Step = 0.01)]

public double DojiSize { get; set; }


[Parameter("VerhÀltnis langer Kerzen", DefaultValue = 0.7, MaxValue = 1, Step = 0.1)]

public double LongCandleRatio { get; set; }


[Parameter("Volumenfilter verwenden?", DefaultValue = false)]

public bool UseVolumeFilter { get; set; }


[Parameter("Periode des gleitenden Volumendurchschnitts", DefaultValue = 24)]

public int VolumeMA { get; set; }


[Parameter("RSI-Periode", DefaultValue = 14)]

public int RSIPeriod { get; set; }


[Parameter("Docht-zu-Körper-VerhÀltnis", DefaultValue = 2.5, MinValue = 1.0, Step = 0.1)]

public double WickToBodyRatio { get; set; }


private MovingAverage volumeMA;

private RelativeStrengthIndex rsi;


[Output("Doji-Signal", Color = Colors.Orange, PlotType = PlotType.Points, Thickness = 2)]

public IndicatorDataSeries DojiSignal { get; set; }


protected override void Initialize()

{

if (UseVolumeFilter)

volumeMA = Indicators.MovingAverage(MarketSeries.TickVolume, VolumeMA, MovingAverageType.Simple);


rsi = Indicators.RelativeStrengthIndex(MarketSeries.Close, RSIPeriod);

}


public override void Calculate(int index)

{

double body = MarketSeries.Close[index] - MarketSeries.Open[index];

double range = MarketSeries.High[index] - MarketSeries.Low[index];

double abody = Math.Abs(body);

double ratio = abody / range;


bool isDoji = abody <= range * DojiSize;

bool goStar = isDoji && (!UseVolumeFilter || MarketSeries.TickVolume[index] > volumeMA.Result[index]);


if (goStar && IsHigherTimeFrame(out int timeFrameNumber, out string label))

{

DojiSignal[index] = MarketSeries.Close[index]; // Markiere den Doji im Chart

Chart.DrawIcon("Doji" + TimeFrame.ToString() + index, ChartIconType.Diamond, index, MarketSeries.Close[index], Color.Orange);


// Hebe das Hoch und Tief der Doji-Kerze mit durchgehenden Linien hervor, die sich ĂŒber die nĂ€chsten 3 Kerzen erstrecken

HighlightDojiHighLow(index, timeFrameNumber, label);

}


// SMT-Divergenz-Erkennung wird jetzt auf alle Zeitrahmen angewendet

DetectSMTDivergence(index);

}


private bool IsHigherTimeFrame(out int timeFrameNumber, out string label)

{

timeFrameNumber = 0;

label = string.Empty;


if (TimeFrame == TimeFrame.Minute15)

{

timeFrameNumber = 15;

label = "0.25";

return true;

}

else if (TimeFrame == TimeFrame.Minute30)

{

timeFrameNumber = 30;

label = "0.5";

return true;

}

else if (TimeFrame == TimeFrame.Minute45)

{

timeFrameNumber = 45;

label = "0.75";

return true;

}

else if (TimeFrame == TimeFrame.Hour)

{

timeFrameNumber = 1;

label = "1";

return true;

}

else if (TimeFrame == TimeFrame.Hour2)

{

timeFrameNumber = 2;

label = "48";

return true;

}

else if (TimeFrame == TimeFrame.Hour4)

{

timeFrameNumber = 4;

label = "4";

return true;

}

else if (TimeFrame == TimeFrame.Daily)

{

timeFrameNumber = 24;

label = "24";

return true;

}

else if (TimeFrame == TimeFrame.Weekly)

{

timeFrameNumber = 168;

label = "W";

return true;

}

else if (TimeFrame == TimeFrame.Monthly)

{

timeFrameNumber = 720;

label = "M";

return true;

}


return false;

}


private void HighlightDojiHighLow(int dojiIndex, int timeFrameNumber, string label)

{

double dojiHigh = MarketSeries.High[dojiIndex];

double dojiLow = MarketSeries.Low[dojiIndex];


// Zeichne durchgehende horizontale Linien am Hoch und Tief der Doji-Kerze, die sich ĂŒber die nĂ€chsten 3 Kerzen erstrecken

Chart.DrawTrendLine("DojiHighLine" + TimeFrame.ToString() + dojiIndex, dojiIndex, dojiHigh, dojiIndex + 3, dojiHigh, Color.Blue, 2, LineStyle.Solid).IsInteractive = true;

Chart.DrawTrendLine("DojiLowLine" + TimeFrame.ToString() + dojiIndex, dojiIndex, dojiLow, dojiIndex + 3, dojiLow, Color.Red, 2, LineStyle.Solid).IsInteractive = true;


// FĂŒge neben der blauen Linie die Zeitrahmennummer oder den Label-Text hinzu

Chart.DrawText("TimeFrameHigh" + TimeFrame.ToString() + dojiIndex, label, dojiIndex + 3, dojiHigh, Color.Green).IsInteractive = true;

}


private void DetectSMTDivergence(int index)

{

// PrĂŒfe, ob das aktuelle Hoch oder Tief eine Divergenz mit dem RSI bildet

double currentHigh = MarketSeries.High[index];

double currentLow = MarketSeries.Low[index];


double prevHigh = MarketSeries.High[index - 1];

double prevLow = MarketSeries.Low[index - 1];


double currentRSI = rsi.Result[index];

double prevRSI = rsi.Result[index - 1];


bool isWickDivergence = IsWickDivergence(index, currentHigh, currentLow, prevHigh, prevLow);


if (isWickDivergence)

{

// BÀrische Divergenz: Preis macht ein höheres Hoch, RSI macht ein niedrigeres Hoch

if (currentHigh > prevHigh && currentRSI < prevRSI)

{

// Markiere die Divergenz im Chart mit einer eindeutigen Kennung fĂŒr diesen Zeitrahmen

Chart.DrawIcon("BearishDivergence" + TimeFrame.ToString() + index, ChartIconType.DownArrow, index, currentHigh, Color.Red);

}


// Bullische Divergenz: Preis macht ein niedrigeres Tief, RSI macht ein höheres Tief

if (currentLow < prevLow && currentRSI > prevRSI)

{

// Markiere die Divergenz im Chart mit einer eindeutigen Kennung fĂŒr diesen Zeitrahmen

Chart.DrawIcon("BullishDivergence" + TimeFrame.ToString() + index, ChartIconType.UpArrow, index, currentLow, Color.Green);

}

}

}


private bool IsWickDivergence(int index, double currentHigh, double currentLow, double prevHigh, double prevLow)

{

double currentBody = Math.Abs(MarketSeries.Close[index] - MarketSeries.Open[index]);

double currentRange = currentHigh - currentLow;


double prevBody = Math.Abs(MarketSeries.Close[index - 1] - MarketSeries.Open[index - 1]);

double prevRange = prevHigh - prevLow;


// Bestimme, ob die aktuelle Kerze einen kleinen Körper und lange Dochte hat

bool currentHasLongWicks = (currentHigh - MarketSeries.Close[index]) > currentBody * WickToBodyRatio &&

(MarketSeries.Open[index] - currentLow) > currentBody * WickToBodyRatio;


// Bestimme, ob die vorherige Kerze einen kleinen Körper und lange Dochte hat

bool prevHasLongWicks = (prevHigh - MarketSeries.Close[index - 1]) > prevBody * WickToBodyRatio &&

(MarketSeries.Open[index - 1] - prevLow) > prevBody * WickToBodyRatio;


return currentHasLongWicks || prevHasLongWicks;

}

}

}

Zusammenfassung

KI-Zusammenfassung
Doji Engulf is a technical indicator designed for use on multiple higher timeframes including 1 hour, 4 hours, and daily charts. It identifies Doji candlestick patterns—candles with small bodies relative to their range—and validates these signals by checking volume filters and relative strength index (RSI) conditions. The indicator marks detected Doji candles on the chart with orange diamond icons and highlights their high and low prices with solid horizontal lines extending over subsequent candles. It also detects Smart Money Technique (SMT) divergences by comparing price highs and lows with RSI values, marking bullish and bearish divergences with green up arrows and red down arrows respectively. Parameters allow customization of Doji size, candle body ratios, volume filtering, volume moving average period, RSI period, and wick-to-body ratio. The indicator supports multiple timeframes from 15 minutes up to monthly, adapting its analysis accordingly. It provides visual cues directly on the trading chart to assist traders in identifying potential reversal or continuation signals based on Doji patterns and divergence analysis.
Indikatorprofil

Kundenbewertungen

0.0
Bewertungen: 0
Kundenbewertungen
Bisher gibt es keine Bewertungen fĂŒr dieses Produkt. Haben Sie es schon ausprobiert? Dann können Sie die erste Person sein, die andere darĂŒber informiert!

Diskussion

HĂ€ufig gestellte Fragen (FAQ)

Über den cTrader Store verfĂŒgbare Produkte, einschließlich Handelsbots, Indikatoren und Plugins, werden von externen Entwicklern bereitgestellt und nur zu Informations- und technischen Zugriffszwecken verfĂŒgbar gemacht. cTrader Store ist kein Broker und erbringt keine Anlageberatung, persönlichen Empfehlungen oder eine Garantie fĂŒr zukĂŒnftige Performance.

Mehr von diesem Autor

Indikator
The Session Golden Hours indicator is designed for serious traders looking to visualize high-probability

Das könnte Sie auch noch interessieren

Indikator
Breakout
Fibonacci
Statistically-grounded trend channels via linear regression — clear trend & reversal zones.
Indikator
Prop
Forex
+4
It draws Pivot Levels on the chart.
Indikator
RSI
XAUUSD
+2
Automatic ZigZag swings with dynamic support & resistance levels, labeling highs/lows for clear trend signals.
Indikator
VWAP
Volume
+2
VWAP Bands and Swing Wick Structure Indicator
Indikator
Prop
Forex
+13
Volume Meter
Indikator
Pin Bar
Inside Bar
+2
Advanced candlestick pattern recognition with structural quality scoring, alerts and adaptive chart visuals.
Indikator
Prop
Scalping
Shows bars from different Time Frame on zoom out and hides the current bars. Perfect tool for Multi TF "Market Reply"
Indikator
ATR
RSI
+5
Supply and demand zones with break of structure, higher timeframe MA signals, a percent stop and three targets.
Indikator
ATR
EMA
+4
The FULL-MARKET-VIEW-DASHBOARD is a professional-grade trading suite for cTrader that eliminates market noise.
Indikator
Indices
Breakout
+1
You can use the cTrader Pivot Points Pro indicator to find a good pullback entry in a trend
Indikator
AI
ATR
+27
Trade the Trend Flip. Control the Risk. 🎯📈”
Indikator
ADX
ATR
+5
SuperTrend signals scored on five confluence factors, with an ATR stop, three targets and a dashboard.
Indikator
Forex
Signal
+1
Swing Flow is an advanced trend-following indicator that displays directly on the price chart
Indikator
SMC
Prop
+14
BoS ChoCH Pro,Strict Mode,False Breakout Filter,Average hit rate: 72-78%
Indikator
ADX
MACD
+3
Displays Boshi Chanlun Structure Indicator chart structures for supported Pepperstone cTrader symbols and timeframes.
Indikator
Forex
BTCUSD
+13
Multi-symbol Inside Bar Scanner with dashboard & breakout alerts
„FBX VWAP“-Logo
Beste Ratings
4.5
(4)
$19
Indikator
Prop
VWAP
+12
FBX VWAP Anchored — Professional VWAP
Indikator
ATR
EMA
+2
Eight-EMA ribbon with ATR trade zones, a nine-symbol screener and a five-timeframe trend dashboard.

Preis

3
Kostenlose Installationen