浮動高低をベースにしたブレイクアウト戦略

作者: リン・ハーンチャオチャン, 日付: 2023-09-15 11:47:13
タグ:

この記事では,価格変動の高値と低値に基づいた定量的なブレイクアウト取引戦略を詳細に説明します.主要価格レベルのブレイクを特定することによって取引信号を生成します.

I. 戦略の論理

主な取引論理は:

  1. 現在の短期振動の最新3バーの最高高値と最低低値を計算します.

  2. 短期間の範囲で最近の50バーの最高高値と最低低値を計算します.

  3. 価格が短期低値を下回り,短期低値を下回ると買い信号が生成されます.

  4. 売り信号は,価格が短期高値を超えて近期高値を超えると生成されます.

  5. ストップ・ロスはリスクをコントロールするために設定されています

キーレベルのブレイクを特定することで,新しい新興傾向を効果的に検出できます.

戦略の利点

主な利点は以下の通りです.

第一に 脱出規則はシンプルで 実行も簡単です

2つ目は,ストップ・ロストと 収益の設定が 貿易リスクを直接制御するということです

最後に,バックテストの時間帯は,異なるテスト期間のために設定できます.

III.潜在的な弱点

しかし,いくつかの潜在的な問題があります.

まず ブレイクだけで 誤った信号が生み出し 傾向を正確に判定できないのです

2つ目は,パラメータの調整がないことが 安定性が限られていること

最後に,ストップ・ロストとテイク・プロフィートのレベルは リスク・リターンの最適化が必要です

IV.要約

この記事では,価格変動の高低をベースとした定量的なブレイクアウト取引戦略について説明しています.主要レベルのブレイクを通じて機会を発見することを目的としています.コンセプトはシンプルで明確ですが,パラメータチューニングの改善が必要です.全体として,ユニークなブレイクアウトアプローチを提供します.


/*backtest
start: 2023-08-15 00:00:00
end: 2023-09-14 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("JetzGiantz Strategy", overlay=true)

// Getting inputs
StopTgt = input(10, minval=1, title="Stop Loss $")
ProfTgt = input(100, minval=1, title="Profit Target $")

//Filter backtest month and year
startMonth = input(1, minval=1, maxval=12, title="Month")
startYear = input(2021, minval=2000, maxval=2100, title="Year")
//Filter funtion inputs


//Calculations
Low3 = lowest(low,3)
Low50 = lowest(low,50)
High3 = highest(high,3)
High50 = highest(high,50)

if (month>=startMonth and year>=startYear)
    if(close[1] < open[1] and close > open and close > open[1] and (Low3 < Low50[1] or Low3 < Low50[2] or Low3 < Low50[3]))
		strategy.order("BuyEntry", strategy.long, when=strategy.position_size == 0, comment="BuyEntry")

if (month>=startMonth and year>=startYear)
    if(close[1] > open[1] and close < open and close > open[1] and (High3 > High50[1] or High3 > High50[2] or High3 > High50[3]))
		strategy.order("SellEntry", strategy.short, when=strategy.position_size == 0, comment="SellEntry")

strategy.exit("bracket", loss=StopTgt, profit=ProfTgt, when=strategy.position_size > 0)
strategy.exit("bracket", loss=StopTgt, profit=ProfTgt, when=strategy.position_size < 0)



もっと