present
注册即可在首次购物时获得 $50 优惠
Trading product for Doji Engulf 指标, image 1
Doji Engulf
指标
3 下载
版本 1.0, Jul 2025
Windows 版、Mac 版
3
免费安装

说明

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

public double DojiSize { get; set; }


[Parameter("Long Candle Ratio", DefaultValue = 0.7, MaxValue = 1, Step = 0.1)]

public double LongCandleRatio { get; set; }


[Parameter("Use Volume Filter?", DefaultValue = false)]

public bool UseVolumeFilter { get; set; }


[Parameter("Volume Moving Average Period", DefaultValue = 24)]

public int VolumeMA { get; set; }


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

public int RSIPeriod { get; set; }


[Parameter("Wick-to-Body Ratio", 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]; // 在图表上标记十字星

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


// 用实线突出显示十字星蜡烛的高点和低点,延伸至接下来的3根蜡烛

HighlightDojiHighLow(index, timeFrameNumber, label);

}


// SMT背离检测现在应用于所有时间框架

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


// 在十字星蜡烛的高点和低点绘制实线水平线,延伸至接下来的3根蜡烛

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;


// 在蓝线旁边添加时间框架编号或标签文本

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

}


private void DetectSMTDivergence(int index)

{

// 检查当前高点或低点是否与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)

{

// 看跌背离:价格创出更高高点,RSI创出更低高点

if (currentHigh > prevHigh && currentRSI < prevRSI)

{

// 在图表上用该时间框架的唯一标识符标记背离

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

}


// 看涨背离:价格创出更低低点,RSI创出更高低点

if (currentLow < prevLow && currentRSI > prevRSI)

{

// 在图表上用该时间框架的唯一标识符标记背离

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;


// 判断当前蜡烛是否具有小实体和长影线

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

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


// 判断前一个蜡烛是否具有小实体和长影线

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

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


return currentHasLongWicks || prevHasLongWicks;

}

}

}

摘要

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.
指标配置

客户评价

0.0
评价:0
客户评价
该产品尚无评价。已经试过了?抢先告诉其他人!

讨论

常见问答

cTrader Store 提供的所有产品,包括交易机器人、指标和插件,均由第三方开发者提供,仅供信息参考和技术访问之用。cTrader Store 并非经纪商,不提供投资建议、个人推荐或任何未来业绩保证。

该作者的其他作品

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

猜您喜欢

指标
ADX
ATR
+1
Indicador de Sinais Visuais para Spotcrude (WTI) ou SpotBrent com filtros de tendência, operacional de 10 e 15 minutos.
指标
VWAP
NAS100
+5
Key NY session opens for NASDAQ (US100) & SP500 to find Tick Precise Entrys for High R:R intraday setups.
指标
AI
ATR
+10
FX Sniper: Multi-pair Forex analysis tool. Features trend logic, adaptive pivots, and momentum filtering for major pairs
指标
Indices
Stochastic Rsi V1.0
指标
ATR
EMA
+3
EMA trend, RSI reclaim and divergence signals with ATR stop and two targets, swing levels and a 16-row dashboard.
指标
SMC
Forex
+5
ICT liquidity engine for Gold: maps stop clusters, scores zones & projects the next target. Now with 4 ICT killzones.
指标
ATR
RSI
+5
Binary Options Signals Pro – Precision Trading at Your Fingertips
指标
ATR
Forex
+6
UT Bot Alerts Nova: Advanced trend-following indicator using ATR for signals. Precise entries/exits.
指标
ATR
RSI
+4
Adaptive Ichimoku with nine-factor confluence scoring, five signal types, smart TP/SL and an MTF panel.
指标
SmartFibonacci — automatic Fibonacci retracements & extensions with swing detection, alerts and clean labels for cTrader
指标
ADX
ATR
+5
SuperTrend signals scored on five confluence factors, with an ATR stop, three targets and a dashboard.
指标
AI
SMC
+14
Refined cleaner version of Key Levels indicator with broker UTC offset, styles & label alignment.
指标
ATR
SMC
+18
Super Wick detects powerful candle rejections: fractal long-wicks, HTF resonance zones, and a WSI gauge.
指标
Prop
Forex
+12
Half Trend Cloud
指标
ATR
RSI
+1
Super Trend Rsi ,ATR + trend change distance + dynamic Alpha, divergence/convergence
指标
ATR
Upgrade to ATR-RMA! Experience the precise ATR using Relative Moving Average for accurate volatility analysis in cTrader
指标
Forex
Crypto
+3
Track major trading sessions (Tokyo, London, New York) with customizable colors and visual sessions on your chart.
指标
ADX
ATR
+5
Ten confluence layers scored on every closed bar, with an anti-chop gate, pivot levels and a live dashboard.

价格

3
免费安装