終値ブレイクアウトに基づく購入戦略


作成日: 2024-02-21 14:48:59 最終変更日: 2024-02-21 14:48:59
コピー: 0 クリック数: 624
1
フォロー
1617
フォロワー

終値ブレイクアウトに基づく購入戦略

概要

この戦略の核心思想は,株価の閉盘価格が開盤価格より高いときに買い操作を行うことである.購入条件を満たしたときに,戦略は,このK線の閉盘時に閉盘価格で多ポジションに入るであろう.その後,ストップ・ロス価格とストップ・価格を設定し,価格がこれらの2つの価格に触れたときに平仓するであろう.

戦略原則

当日のK線の閉盘価格が開盘価格より高く,当日の株価が上昇していることを示す.これは買入シグナルである.閉盘価格が当日の開盤価格を突破し,買い手の力が比較的強いことを示す.株価が上昇し続ける見込みである.

したがって,この戦略の取引シグナルは,当日のK線閉店価格 >当日のK線開店価格である.この条件を満たす場合,そのK線閉店時に閉店価格で購入し,日ごとに保有する.

この戦略には2つのパラメータがあります.

  1. エントリー価格: 購入価格で, 0 をデフォルトで, 終了価格で購入

  2. Take Profit Parameter: ストップパラメータ,ストップ価格の計算式は:Entry Price * (1 + ストップパラメータ),デフォルトは0.5%で,購入価格の0.5%に相当する

具体的には以下の通りです.

  1. K線が閉じるのを待って,当日の閉じる価格をチェック > 当日の開いた価格
  2. 条件が満たされると, 閉店価格で購入する
  3. ポジション開設後,ストップ・ロストとストップ・アップ価格を設定する.
  4. 価格が上昇し,価格が下がったときに,平仓は止まります.
  5. 価格が次のK線の最低点まで下がると,平仓のストップ
  6. ステップ1から5を毎日繰り返します

戦略的優位性

この戦略は以下の利点があります.

  1. シンプルで理解し,実行できる
  2. 取引シグナル判断は,K線の開値と閉値のみを使用し,データ需要は小さい
  3. 撤回リスクが低く,ストップ・ストップ・メカニズムを使用して損失を制御する

リスク分析

この戦略にはいくつかのリスクがあります.

  1. その日,複数の購入機会が潜在的に発生し,戦略は閉店時に1回の購入しか行われず,一部の機会を逃す可能性があります.
  2. 閉店後,価格が反調する可能性があるため,ストップダスの発生の可能性が高い.

リスクは以下の方法で軽減できます.

  1. AdjustAmount functionは,購入条件をトリガーした後,その日の最高値を追跡し,ポジションを動的に調整します.
  2. 閉店後,一定期間遅延して,ストップ・ストップ・価格を設定し,ストップ・損失が直接触発されないようにする.

戦略最適化の方向性

この戦略は,以下の点で最適化できます.

  1. 取引量増加や市場の熱度などの条件を買取シグナルの確認として追加
  2. 購入後に動的なストップ・ストップ・損失を適用し,ストップ・ストップ・損失の価格をリアルタイムで調整する
  3. 個々の設定パラメータに対して,機械学習の方法を使用してパラメータを自動的に最適化
  4. ポジション管理機構の増強,ポジション調整による撤回リスクを回避

要約する

この戦略は,閉盤価格の突破をベースに買い信号を生成し,考え方はシンプルで,引き戻しのリスクは小さい.確認指標,ダイナミックストップ・ストップ・損失,パラメータ最適化などの手段を追加することによって,戦略の安定性と収益性をさらに向上させることができます.全体的に,この戦略は,開盤突破戦略に興味のある投資家の使用と最適化に適しており,優れた実用性を持っています.

ストラテジーソースコード
/*backtest
start: 2024-02-19 00:00:00
end: 2024-02-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Buy on Close Strategy", overlay=true)

// Входные параметры
var float entry_price = na
if (na(entry_price))
    entry_price := input.float(title="Entry Price", defval=0)

// Функция для расчета Take Profit
calc_take_profit(price) =>
    price * 1.005 // 0.5% от суммы сделки

// Проверяем условие для открытия позиции на покупку
buy_condition = close > open

// Переменная для отслеживания открытой позиции
var bool open_position = na

// Реализация стратегии
if (buy_condition)
    // Открываем сделку на покупку
    strategy.entry("Buy", strategy.long)
    open_position := true

// Закрываем позицию по Take Profit или при закрытии свечи
if (open_position)
    // Рассчитываем уровень Take Profit
    take_profit_level = calc_take_profit(entry_price)

    // Закрываем сделку по Take Profit
    strategy.exit("Take Profit", "Buy", limit=take_profit_level)

    // Закрываем сделку при закрытии свечи
    if (close < open)
        strategy.close("Close Candle", "Buy")