present
Daftar dan dapatkan potongan bernilai $50 untuk pembelian pertama anda
Trading product for Doji Engulf Indikator, image 1
Doji Engulf
Indikator
3 muat turun
Versi 1.0, Jul 2025
Windows, Mac
3
Pemasangan percuma

Penerangan

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("Saiz Doji", DefaultValue = 0.05, MinValue = 0.01, Step = 0.01)]

public double DojiSize { get; set; }


[Parameter("Nisbah Lilin Panjang", DefaultValue = 0.7, MaxValue = 1, Step = 0.1)]

public double LongCandleRatio { get; set; }


[Parameter("Gunakan Penapis Isipadu?", DefaultValue = false)]

public bool UseVolumeFilter { get; set; }


[Parameter("Tempoh Purata Pergerakan Isipadu", DefaultValue = 24)]

public int VolumeMA { get; set; }


[Parameter("Tempoh RSI", DefaultValue = 14)]

public int RSIPeriod { get; set; }


[Parameter("Nisbah Wick-ke-Badan", DefaultValue = 2.5, MinValue = 1.0, Step = 0.1)]

public double WickToBodyRatio { get; set; }


private MovingAverage volumeMA;

private RelativeStrengthIndex rsi;


[Output("Isyarat Doji", 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]; // Tandakan Doji pada carta

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


// Sorot tinggi dan rendah lilin Doji dengan garis pepejal yang melanjut ke 3 lilin berikutnya

HighlightDojiHighLow(index, timeFrameNumber, label);

}


// Pengesanan Divergensi SMT kini digunakan pada semua bingkai masa

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 = "M";

return true;

}

else if (TimeFrame == TimeFrame.Monthly)

{

timeFrameNumber = 720;

label = "W";

return true;

}


return false;

}


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

{

double dojiHigh = MarketSeries.High[dojiIndex];

double dojiLow = MarketSeries.Low[dojiIndex];


// Lukis garis mendatar pepejal pada tinggi dan rendah lilin Doji yang melanjut ke 3 lilin berikutnya

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;


// Tambah nombor bingkai masa atau teks label di sebelah garis biru

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

}


private void DetectSMTDivergence(int index)

{

// Semak jika tinggi atau rendah semasa membentuk divergensi dengan RSI

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)

{

// Divergensi Bearish: Harga membuat tinggi lebih tinggi, RSI membuat tinggi lebih rendah

if (currentHigh > prevHigh && currentRSI < prevRSI)

{

// Tandakan divergensi pada carta dengan pengecam unik untuk bingkai masa ini

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

}


// Divergensi Bullish: Harga membuat rendah lebih rendah, RSI membuat rendah lebih tinggi

if (currentLow < prevLow && currentRSI > prevRSI)

{

// Tandakan divergensi pada carta dengan pengecam unik untuk bingkai masa ini

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;


// Tentukan jika lilin semasa mempunyai badan kecil dan wick panjang

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

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


// Tentukan jika lilin sebelumnya mempunyai badan kecil dan wick panjang

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

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


return currentHasLongWicks || prevHasLongWicks;

}

}

}

Ringkasan

Ringkasan AI
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.
Profil indikator

Ulasan pelanggan

0.0
Ulasan: 0
Ulasan pelanggan
Belum ada ulasan untuk produk ini. Anda sudah mencuba produk tersebut? Jadilah yang pertama untuk berkongsi pendapat anda!

Perbincangan

Soalan Lazim

Produk yang tersedia melalui cTrader Store, termasuk bot dagangan, indikator dan plugin, disediakan oleh pembangun pihak ketiga dan diberikan akses untuk tujuan maklumat dan teknikal sahaja. cTrader Store bukan broker dan tidak memberikan nasihat pelaburan, syor peribadi atau sebarang jaminan prestasi masa hadapan.

Lebih banyak produk daripada penulis ini

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

Anda juga mungkin suka

Indikator
ADX
ATR
+5
Range-filter BUY/SELL flips with an ATR or swing stop, three targets, five confluence stars and a live panel
Indikator
Forex
Crypto
+5
ICT Order Block Advanced
Indikator
ADX
ATR
+5
SuperTrend signals scored on five confluence factors, with an ATR stop, three targets and a dashboard.
Indikator
AI
Grid
+17
Editions: Free (core VWAP + bands) · Pro (multi‑VWAP, click‑to‑anchor, alerts).
Indikator
SMC
Breakout
+1
Delta Peak Bubbles is a tick‑chart overlay for cTrader that highlights the strongest momentum spikes.
Indikator
Forex
Crypto
+2
PREMIUN INDICATOR
Indikator
ATR
EMA
+4
Range-filter BUY/SELL signals scored by four confluence layers, with a stop, five targets and a trend panel
Indikator
Track VWAP for Asia, London, NY, Sydney, Daily, Weekly, Monthly & Custom Sessions. Perfect for FX & intraday trading!
Indikator
Bollinger
Indicatore di volatilità che filtra quando le bande di Bollinger sono in espansione
Indikator
RSI
Stochastic
+2
Composite mean-reversion oscillator merging Z-Score, RSI & Bollinger %B into one clear overbought/oversold signal.
Indikator
AI
ATR
+5
"Advanced VSA & CVD indicator with 'A+ Setup' filtering based on Support & Resistance levels."
Indikator
Advanced customizable volume-profile indicator with buy/sell levels, delta analysis, multi-TF support and vivid gradient
Indikator
EMA
Forex
+5
ALMA Smoothed Gaussian Moving Average (ASGMA) – by LudwigICT
Indikator
Prop
Forex
+5
Pivot Point with base zone daily Asia-London-New york Session.
Indikator
ATR
RSI
+5
Multi-factor VWAP mean-reversion signals with ATR bands, volume exhaustion, and RSI gate on cTrader.
Indikator
Forex
EURUSD
+3
Forex Strength Meter for cTrader: 4 custom currencies, cross alerts, visual arrows. Trade smarter!
Indikator
SMC
Forex
+5
The only cTrader FVG indicator with Breakaway Gap detection, mitigation tracking, and full multi-asset compatibility.
Indikator
AI
ATR
+20
Algorithmic trend precision for cTrader.

Harga

3
Pemasangan percuma