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("ขนาดโดจิ", DefaultValue = 0.05, MinValue = 0.01, Step = 0.01)]

public double DojiSize { get; set; }


[Parameter("อัตราส่วนแท่งเทียนยาว", DefaultValue = 0.7, MaxValue = 1, Step = 0.1)]

public double LongCandleRatio { get; set; }


[Parameter("ใช้ตัวกรองปริมาณ?", DefaultValue = false)]

public bool UseVolumeFilter { get; set; }


[Parameter("ช่วงค่าเฉลี่ยเคลื่อนที่ของปริมาณ", DefaultValue = 24)]

public int VolumeMA { get; set; }


[Parameter("ช่วง RSI", DefaultValue = 14)]

public int RSIPeriod { get; set; }


[Parameter("อัตราส่วนไส้เทียนต่อแท่งเทียน", DefaultValue = 2.5, MinValue = 1.0, Step = 0.1)]

public double WickToBodyRatio { get; set; }


private MovingAverage volumeMA;

private RelativeStrengthIndex rsi;


[Output("สัญญาณโดจิ", 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 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.
โปรไฟล์อินดิเคเตอร์

รีวิวจากลูกค้า

0.0
รีวิว: 0
รีวิวจากลูกค้า
ยังไม่มีรีวิวสำหรับผลิตภัณฑ์นี้ หากเคยลองแล้ว ขอเชิญมาเป็นคนแรกที่บอกคนอื่น!

การสนทนา

คำถามที่พบบ่อย

ผลิตภัณฑ์ที่มีให้บริการผ่าน cTrader Store รวมถึงบอทการเทรด อินดิเคเตอร์ และปลั๊กอิน มีให้บริการโดยนักพัฒนาบุคคลที่สามและมีไว้เพื่อวัตถุประสงค์ในการเข้าถึงข้อมูลและทางเทคนิคเท่านั้น cTrader Store ไม่ใช่โบรกเกอร์และไม่ได้ให้คำแนะนำการลงทุน คำแนะนำส่วนบุคคล หรือการรับประกันผลการดำเนินงานในอนาคต

เพิ่มเติมจากผู้เขียนคนนี้

อินดิเคเตอร์
The Session Golden Hours indicator is designed for serious traders looking to visualize high-probability

นอกจากนี้คุณยังอาจชอบ

อินดิเคเตอร์
SMC
VWAP
+5
Most advanced Volume Profile Pivot Box indicator — auto pivots, volume zones, smart candle coloring & SMC trading tool.
อินดิเคเตอร์
EMA
Forex
+5
ALMA Smoothed Gaussian Moving Average (ASGMA) – by LudwigICT
อินดิเคเตอร์
Volume
Key Levels
+1
Session Volume Profile for London and New York sessions showing POC levels
อินดิเคเตอร์
Doji
Wedge
+5
Angora Pattern Recognition is a cTrader indicator that finds, draws and tracks classic chart patterns automatically.
อินดิเคเตอร์
Show Renko Wicks / Tails. Solid Performance!
อินดิเคเตอร์
ATR
EMA
+3
EMA cross filtered by a trend average and its ATR channel, with long, short and close marks and colored candles.
"RangePulsePro" โลโก้
ใหม่
5.0
(1)
$35
อินดิเคเตอร์
Risk Dashboard
AI-powered daily range forecasts help traders spot volatility opportunities and plan stops and targets.
อินดิเคเตอร์
ADX
ATR
+5
Configure, simulate, and analyze trading strategies with custom filters, multi-target exits, and detailed performance me
อินดิเคเตอร์
ATR
Prop
+5
Anchor volume profiles to pivots with POC, VAH, VAL and real-time insights for clearer trade decisions.
"Auto Fibonacci Retracement" โลโก้
เรตติ้งสูง
4.2
(4)
$19
/
$20
อินดิเคเตอร์
Auto Fibonacci Retracement Indicator for cTrader
อินดิเคเตอร์
AI
SMC
+17
Smart Support/Resistance lines auto calculated from D1/H4/H1/M15. Highly customizable visuals + built in Backtest Mode.
อินดิเคเตอร์
Forex
Crypto
+1
Heikin Ashi (Heiken Ashi) - This indicator displays Heikin Ashi candles.
"HTF Power 3" โลโก้
ยอดนิยม
4.5
(4)
$19
/
$20
อินดิเคเตอร์
ATR
SMC
+2
HTF POWER 3 ICT Power of 3 · M1 Precision · H4 Intelligence Auto-detect Accumulation → Manipulation → Distribution
"Dynamic Swing Anchored VWAP" โลโก้
ยอดนิยม
4.6
(3)
$49
อินดิเคเตอร์
VWAP
Forex
+5
Dynamic Swing Anchored VWAP
อินดิเคเตอร์
BOS
Imbalance
+4
Automatically detects and highlights both Bullish and Bearish Fair Value Gaps (FVGs).
อินดิเคเตอร์
EMA
AI-assisted
+1
Multi EMA Timeframes lets you stay on your chart and see the exact EMA from any timeframe you choose — up to 5 at once.
อินดิเคเตอร์
Forex
Indices
+1
Detects HTF bias using CRT, Expansion & Swing Point patterns with SMT/PSP divergence — visualised in a floating candle
อินดิเคเตอร์
MACD
Signal
+1
Version 1.2: Advanced Trend Detection & Visualization System

ราคา

3
ติดตั้งฟรี