present
Kaydolun ve ilk alışverişinizde $50 indirim kazanın
Trading product for Doji Engulf Gösterge, image 1
Doji Engulf
Gösterge
3 i̇ndirmeler
Sürüm 1.0, Jul 2025
Windows, Mac
3
Ücretsiz yüklemeler

Açıklama

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

public double DojiSize { get; set; }


[Parameter("Uzun Mum Oranı", DefaultValue = 0.7, MaxValue = 1, Step = 0.1)]

public double LongCandleRatio { get; set; }


[Parameter("Hacim Filtresi Kullanılsın mı?", DefaultValue = false)]

public bool UseVolumeFilter { get; set; }


[Parameter("Hacim Hareketli Ortalama Periyodu", DefaultValue = 24)]

public int VolumeMA { get; set; }


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

public int RSIPeriod { get; set; }


[Parameter("Fitil-Gövde Oranı", DefaultValue = 2.5, MinValue = 1.0, Step = 0.1)]

public double WickToBodyRatio { get; set; }


private MovingAverage volumeMA;

private RelativeStrengthIndex rsi;


[Output("Doji Sinyali", 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]; // Dojiyi grafikte işaretle

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


// Doji mumunun yüksek ve düşük seviyelerini sonraki 3 mum boyunca uzanan dolu çizgilerle vurgula

HighlightDojiHighLow(index, timeFrameNumber, label);

}


// SMT Uyumsuzluk tespiti artık tüm zaman dilimlerine uygulanıyor

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];


// Doji mumunun yüksek ve düşük seviyelerinde sonraki 3 mum boyunca uzanan dolu yatay çizgiler çiz

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;


// Mavi çizginin yanına zaman dilimi numarası veya etiket metni ekle

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

}


private void DetectSMTDivergence(int index)

{

// Mevcut yüksek veya düşük seviyenin RSI ile uyumsuzluk oluşturup oluşturmadığını kontrol et

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)

{

// Ayı Uyumsuzluğu: Fiyat daha yüksek bir zirve yapar, RSI daha düşük bir zirve yapar

if (currentHigh > prevHigh && currentRSI < prevRSI)

{

// Bu zaman dilimi için benzersiz bir tanımlayıcı ile uyumsuzluğu grafikte işaretle

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

}


// Boğa Uyumsuzluğu: Fiyat daha düşük bir dip yapar, RSI daha yüksek bir dip yapar

if (currentLow < prevLow && currentRSI > prevRSI)

{

// Bu zaman dilimi için benzersiz bir tanımlayıcı ile uyumsuzluğu grafikte işaretle

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;


// Mevcut mumun küçük gövdesi ve uzun fitilleri olup olmadığını belirle

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

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


// Önceki mumun küçük gövdesi ve uzun fitilleri olup olmadığını belirle

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

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


return currentHasLongWicks || prevHasLongWicks;

}

}

}

Özet

AI summary
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.
Gösterge profili

Müşteri değerlendirmeleri

0.0
Değerlendirmeler: 0
Müşteri değerlendirmeleri
Bu ürün için henüz bir değerlendirme yok. Ürünü denediniz mi? O zaman ona dair görüşlerini paylaşan ilk kişi olun!

Tartışma

SSS

cTrader Store üzerinden erişilebilen işlem botları, göstergeler ve eklentiler gibi ürünler, üçüncü taraf sağlayıcılar tarafından sağlanır ve yalnızca bilgilendirme ve teknik erişim amaçlarıyla sunulur. cTrader Store bir broker değildir ve yatırım tavsiyesi, kişisel öneriler vermez veya gelecekteki performansı garanti etmez.

Bu oluşturanın diğer ürünleri

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

Şunları da beğenebilirsiniz

Gösterge
cTrader indicator with mini-timeframe candlesticks. Customize timeframe, colors, margins. Perfect for traders.
Gösterge
AI
ATR
+5
"Advanced VSA & CVD indicator with 'A+ Setup' filtering based on Support & Resistance levels."
Gösterge
Forex
BTCUSD
+5
Multi-timeframe moving averages with session lines for structured trend analysis directly on the chart.
Gösterge
MACD
Prop
+14
Customize the MACD! Choose colors, get real-time tick updates, and see crossover points for enhanced trading precision.
Gösterge
Forex
Multi-timeframe candlesticks!
Gösterge
Doji
Wedge
+5
Angora Pattern Recognition is a cTrader indicator that finds, draws and tracks classic chart patterns automatically.
Gösterge
MSS
Key Levels
+4
Auto-detects support/resistance, draws clean levels, and confirms breakouts with volume and wick rejection signals.
Gösterge
Doji
Volume
+5
Instantly spot high-liquidity institutional moves with clean, non-obtrusive triangle alerts on cTrader charts.
Gösterge
AI
Prop
+9
A cutting‑edge trading indicator that fuses AI and mathematics with adaptive logic to classify market regimes.
Gösterge
Forex
Customizable multi-timeframe pivot point indicator for cTrader with alerts, Fibonacci, CPR, and more!
Gösterge
SMC
Grid
+16
Institutional Supply & Demand Mapping Across Five Timeframes — Automatically.
Gösterge
Imbalance
Fair Value Gap
+1
Multi-symbol, multi-timeframe Fair Value Gaps in one panel.
Gösterge
ADX
ATR
+5
Multi-indicator confluence HUD & real-time backtest engine to detect trend alignment and filter high-probability setups.
Gösterge
Breakout
FlexSR auto‑detects pivot highs/lows to plot dynamic support & resistance lines Features customizable styling and option
Gösterge
EMA
Forex
+5
ALMA Smoothed Gaussian Moving Average (ASGMA) – by LudwigICT
Gösterge
Prop
Forex
+10
IBS Indicator – Measures price position within bars for smarter trades. Works on all markets & timeframes.
Gösterge
RSI
RSI on the main chart with 45/55 momentum levels, overbought/oversold levels, averaged RSI, and multi-timeframe support.
Gösterge
Volume
Order Block
+4
Volume Profile with fixed period, custom range and buy/sell pressure.

Fiyat

3
Ücretsiz yüklemeler