資源の読み込みに... 荷物...

購入戦略は,価格の接近率をベースに

作者: リン・ハーンチャオチャン,日付: 2024-02-21 14:48:59
タグ:

img

概要

この戦略の主なアイデアは,株式の閉じる価格が日の開く価格よりも高くなるときに購入することです. 購入条件が満たされると,戦略は閉じる価格でそのキャンドルスタイクの閉じる時に長引きます. ストップ損失価格と利益の価格が設定されます. 価格がこれらの2つの価格に達すると,ポジションは閉鎖されます.

戦略原則

日々のキャンドルスタイルの閉店価格が開店価格よりも高くなった場合,その日の株価が上昇したことを意味します.これは購入信号です.開店価格からの閉店価格の突破は,購買力がかなり強いことを示し,株価が上昇し続ける可能性があります.

この戦略の取引シグナルは,日々のキャンドルストック閉値 > 日々のキャンドルストック開値です.この条件を満たすと,そのキャンドルストックの閉値で購入し,毎日保持します.

この戦略は2つのパラメータを使用します.

  1. 入場価格: 購入価格,デフォルトは0で,閉店価格で購入することを意味します.

  2. Take Profit Parameter: Take Profit パラメータ,take profit 価格の公式は:エントリー価格 * (1 + Take Profit パラメータ),デフォルト値は 0.5%,エントリー価格の 0.5% に相当する

具体的な取引プロセスは次のとおりです

  1. ろうそくが閉じるのを待って,閉じる価格 >日の開く価格を確認します.
  2. 条件が満たされると,閉店価格で購入
  3. ポジションを開いた後,停止損失を設定し,利益価格を取ります
  4. 価格が上昇して利益を得る価格,利益のための閉店ポジション
  5. 次のキャンドルスティックの最低点に価格が落ちると,ストップロスのポジションを閉じる
  6. ステップ 1 から 5 まで 毎日 繰り返す

利点分析

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

  1. このアイデアはシンプルで 理解し実行しやすい
  2. 取引シグナル判断のためのキャンドルスタイルのオープンと閉鎖価格のみを必要とします.
  3. 損失を制御するためにストップ・ロスのメカニズムを使用し,引き上げリスクは小さい.

リスク分析

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

  1. 日中に複数の購入機会があるかもしれませんが,戦略は1回だけ購入し,いくつかの機会を逃す可能性があります.
  2. ストップ・ロスの引き金になる確率を増加させる.

リスクは以下によって軽減できます.

  1. 購入信号が起動した後,日の最高価格を追跡し,動的にポジションを調整する AdjustAmount 関数を使用します
  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")


もっと