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

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

"Trend Direction Force Index  - TDFI (Alerts)" โลโก้
เรตติ้งสูง
4.7
(7)
$19
อินดิเคเตอร์
Spot Strong Trends Early & Filter Market Noise
อินดิเคเตอร์
ATR
Forex
+11
Elliott Wave 2 indicator with Markov probability analysis and a confidence score to assess Wave 3 continuation quality.
อินดิเคเตอร์
Forex
Crypto
+5
🚀 Automated Elliott Wave & Fibonacci tool for cTrader. Spot trends, corrections & retracements fast.
อินดิเคเตอร์
Forex
BTCUSD
+9
This indicator implements an Opening Range Breakout (ORB) trading strategy, designed to capture momentum during the most
อินดิเคเตอร์
ATR
EMA
+3
EMA trend, RSI reclaim and divergence signals with ATR stop and two targets, swing levels and a 16-row dashboard.
อินดิเคเตอร์
Key Levels
Liquidity Sweep
+2
Complete intraday market structure tool tracking session killzones, Asian range projections, and PDH/PDL levels.
"Swing AVWAP Pro" โลโก้
ยอดนิยม
5.0
(4)
$29
/
$49
อินดิเคเตอร์
ATR
SMC
+17
Adaptive Swing-Anchored VWAP that tracks market structure shifts with precision and clarity.
อินดิเคเตอร์
MSS
Volume
+3
Rejection-based volume profile with tiered heat zones, POC levels and a fully draggable anchor on cTrader.
"AutoAVWAP" โลโก้
เรตติ้งสูง
4.5
(4)
$19
/
$25
อินดิเคเตอร์
Prop
VWAP
+11
The best automatic anchored VWAP indicator every trader can get help from.
"TDI Signal Pro" โลโก้
ยอดนิยม
4.8
(5)
$19
/
$38
อินดิเคเตอร์
EMA
RSI
+2
Advanced TDI indicator with Shark Fin signals, chart arrows, MTF RSI, divergence detection and smart alerts.
อินดิเคเตอร์
Forex
Crypto
+3
Volume profiler applying Wyckoff effort vs result and spread analysis with visual bar graphs.
อินดิเคเตอร์
ADX
ATR
+5
Range-filter BUY/SELL flips with an ATR or swing stop, three targets, five confluence stars and a live panel
"FX Sniper" โลโก้
ยอดนิยม
4.6
(6)
$20
/
$40
อินดิเคเตอร์
AI
ATR
+10
FX Sniper: Multi-pair Forex analysis tool. Features trend logic, adaptive pivots, and momentum filtering for major pairs
อินดิเคเตอร์
Volume
Key Levels
+1
Fixed-grid volume profile: bull and bear volume at every price level, with Point of Control and value area.
"RenkoProfit" โลโก้
ยอดนิยม
5.0
(2)
$20
/
$25
อินดิเคเตอร์
AI
Prop
+14
Professional Trading Indicator Transform Your Trading with Intelligent Signal Detection RenkoProfit
อินดิเคเตอร์
Forex
Crypto
+3
Volume distribution analysis with Market Profile TPO integration.
อินดิเคเตอร์
Flexible VWAP indicator with timezone-aware, custom time periods and automatic DST handling.
"ICT Killzones & Macros" โลโก้
เรตติ้งสูง
4.7
(4)
$20
/
$30
อินดิเคเตอร์
SMC
Prop
+8
KILLZONES AND MACRO SESSIONS

ราคา

3
ติดตั้งฟรี