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

YZ özeti
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
RSI
Signal
+2
Dynamic circles visualize price's volatility position. Like RSI for market overextension & stretch. Quantify context.
Gösterge
ATR
Forex
+9
Auto-detect swing highs/lows. Spot reversals, map structure, and filter noise with adjustable strength.
Gösterge
Candle Timer & Strength Panel for cTrader Description: Candle Timer & Strength Panel is an advanced, always-visible over
Gösterge
AI
ATR
+19
QX SessionBox ORB: Session boxes + ORB levels + clean dashboard with optional closed-candle breakout signals.
Gösterge
AI
SMC
+19
Fixed Range Volume Profile - TradingView Style (POC, VAH, VAL)
"MultiTimeFrameTrend" logosu
En yüksek puanlı
4.0
(4)
$19
/
$30
Gösterge
A compact, visual multi-timeframe trend indicator for cTrader. Easily spot bullish or bearish trends across 4 customizab
Gösterge
MSS
Volume
+3
Rejection-based volume profile with tiered heat zones, POC levels and a fully draggable anchor on cTrader.
Gösterge
ADX
MACD
+3
Displays Boshi Chanlun Structure Indicator chart structures for supported Pepperstone cTrader symbols and timeframes.
Gösterge
ATR
RSI
+5
Supply and demand zones with break of structure, higher timeframe MA signals, a percent stop and three targets.
Gösterge
AI
SMC
+7
The ultimate tool for Price Action and ICT. High, Low and Mid levels for days, weeks Inc. NY Midnight and Custom Range.
Gösterge
ADX
ATR
+1
Indicador de Sinais Visuais para Spotcrude (WTI) ou SpotBrent com filtros de tendência, operacional de 10 e 15 minutos.
Gösterge
AI
SMC
+19
ZigZag Pro — Advanced swing detection with ATR threshold, fractal confirmation, and colored segments. Clean market
Gösterge
Supply & Demand
Support & Resistance
Trade With Smile Indicator is a professional trading indicator designed to help traders identify potential market trends
Gösterge
RSI
BTCUSD
+5
Identify market structure effortlessly with swing highs, lows, CHoCH, and BOS levels for smart trading decisions! 📊🔍"
Gösterge
ATR
RSI
+5
Fusion trend line with a layered cloud, BULL and BEAR labels, scored re-entry triangles and exit markers.
Gösterge
RSI
Indices
Stochastic RSI (StochRSI) is a technical indicator used to measure the strength and weakness of the RSI.
Gösterge
AI
SMC
+11
Sync vertical lines automatically between multiple charts of the same symbol. Mark once — see it everywhere. Ideal for m
Gösterge
ATR
RSI
+5
Multi-factor VWAP mean-reversion signals with ATR bands, volume exhaustion, and RSI gate on cTrader.

Fiyat

3
Ücretsiz yüklemeler