1 本ローソク足トレンド戦略
概要
OneCandleTrendStrategy は、1 本のローソク足の分析に基づいて判断を行うシンプルなトレンド戦略です。
主要コンポーネント
public class OneCandleTrendStrategy : Strategy
{
private readonly StrategyParam<DataType> _candleType;
}
戦略パラメーター
この戦略では、次のパラメーターをカスタマイズできます。
- CandleType - 使用するローソク足タイプ(既定値は 5 分)
戦略の初期化
OnStarted2 メソッドで、ローソク足購読が作成され、可視化が準備されます。
protected override void OnStarted2(DateTime time)
{
base.OnStarted2(time);
// 購読を作成
var subscription = SubscribeCandles(CandleType);
subscription
.Bind(ProcessCandle)
.Start();
// チャート上の可視化を設定
var area = CreateChartArea();
if (area != null)
{
DrawCandles(area, subscription);
DrawOwnTrades(area);
}
}
ローソク足の処理
ProcessCandle メソッドは、確定済みローソク足ごとに呼び出され、取引ロジックを実装します。
private void ProcessCandle(ICandleMessage candle)
{
// ローソク足が確定しているか確認
if (candle.State != CandleStates.Finished)
return;
// 戦略が取引可能な状態か確認
if (!IsFormedAndOnlineAndAllowTrading())
return;
// トレンド戦略: 陽線で買い、陰線で売り
if (candle.OpenPrice < candle.ClosePrice && Position <= 0)
{
// 陽線 - 買い
BuyMarket(Volume + Math.Abs(Position));
}
else if (candle.OpenPrice > candle.ClosePrice && Position >= 0)
{
// 陰線 - 売り
SellMarket(Volume + Math.Abs(Position));
}
}
取引ロジック
- 買いシグナル: 陽線(終値が始値より上)で、ロングポジションがない場合
- 売りシグナル: 陰線(終値が始値より下)で、ショートポジションがない場合
- ポジション出来高は、新しい取引ごとに現在のポジション量だけ増加します
機能
- 戦略は
GetWorkingSecurities()メソッドによって、使用する銘柄を自動的に判定します - 戦略は確定済みローソク足でのみ動作します
- 戦略はポジションエントリーに成行注文を使用します
- 戦略は 1 本のローソク足に基づくシンプルなトレンド検出ロジックを適用します
- グラフィック領域が利用可能な場合、ローソク足と約定がチャート上に可視化されます