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

これも好きかも

インジケーター
SMC
Forex
+5
Detect institutional breakout zones with smart volume & channel analysis — by PrimeQuant.
インジケーター
ADX
ATR
+5
Identifies TRENDING, RANGING and VOLATILE markets with pullback detection. Anti-noise filter. Works on ANY chart.
インジケーター
Overlay HTF context on any chart: color bars by HTF and draw filled HTF bodies with optional High/Low lines.
「ORB v1.1」ロゴ
人気
4.0
(4)
$25
インジケーター
Breakout
Opening Range Breakout v1.1 - Visuals + Stats
インジケーター
EMA
MACD
+5
Multi-timeframe MACD with color-changing line, 4-color histogram & triangle signals.
インジケーター
AI
ATR
+23
Candle Timer best used for Scalper
インジケーター
Prop
Forex
+12
Half Trend Cloud
インジケーター
MACD
Signal
+1
Version 1.2: Advanced Trend Detection & Visualization System
インジケーター
RSI
RSI on the main chart with 45/55 momentum levels, overbought/oversold levels, averaged RSI, and multi-timeframe support.
インジケーター
ZigZag Pro – Multi-Swing Indicator for cTrader Description: ZigZag Pro is a powerful and fully customizable swing indica
インジケーター
ATR
BOS
+5
Clean Smart Money zones with filtered FVGs, confirmed BOS, Order Blocks, and automatic mitigation tracking.
インジケーター
Auto Fibonacci Retracement Indicator for cTrader
インジケーター
ATR
BOS
+5
Know how strong each Supertrend flip is: scored BUY/SELL, structure stop + 3 targets, live win-rate dashboard, alerts.
インジケーター
ATR
Forex
+3
Lightweight adaptive filter with dynamic bands. Clean, noise-free trend structure.
インジケーター
Forex
BTCUSD
+9
🎯 Automatically identify significant breakouts from price consolidation zones.
インジケーター
ZigZag
Indices
+2
Auto Trendlines, Fibonacci, Pitchfork and Patterns from non‑repainting pivots. One‑click Presets, targeted Alerts, and a
インジケーター
Prop
ZigZag
+5
All-in-One ICT/SMC Institutional Framework — Ranges, Structure, Liquidity, Fibonacci & Time Engine.
インジケーター
ATR
RSI
+4
RSI bands drawn on price, confluence-scored BUY/SELL signals, an ATR stop with three targets

価格

3
無料インストール