脱出取引システム

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

img

概要

この戦略は,主に価格の突破に基づいて購入および販売するブレイクアウト取引システムである. システムは価格突破領域を決定するためにボリンジャーバンドを使用する. 価格がボリンジャーバンドの下部レールを上向きに突破すると,購入オーダーが配置される. 価格がボリンジャーバンド中部レールまたは下部レールを下向きに突破すると,販売オーダーが配置される.

戦略原則

この戦略は,価格突破領域を決定するためにボリンジャーバンドを使用する.ボリンジャーバンドは, n 日間の単純な移動平均線とその標準偏差倍数からなる.ここで,ボリンジャーバンドの上下レールを決定するために,最高価格と最低価格の20 日移動平均を計算し,上下レールの平均をベースラインとして計算する.

閉じる価格が下方レールを上向きに突破すると,価格は上昇し始めることを示す.これは購入信号である.閉じる価格が中部または下部レールを下向きに突破すると,上昇傾向が終了し,ポジションが売り切れする必要があることを示唆する.この戦略は,利益を得るために突破後に価格が上昇または下落し続ける傾向を利用する.

利点分析

  • この戦略は,市場の本質的な特徴に合致する価格の動向と慣性を利用する.
  • ボリンジャー・バンドは突破価格を明確に示しています
  • 戦略の論理は シンプルで明瞭で 分かりやすく 変更も容易です
  • ストップ・ロスの条件はリスクを制御するために設定できます.

リスク分析

  • ボリンジャー・バンドは価格の動きを完全に予測できないので,価格が劇的に変動する可能性があります
  • 突破信号は誤りになり,取引損失につながる可能性があります.
  • 取引時間を決めるのに 価格突破のみを頼るということは 市場の騒音に 容易に影響を受ける可能性があります

解決策:

  • 突破信号を確認するために他の指標を組み合わせる
  • 効果的な突破信号を確保するために,適切なパラメータを調整する
  • 単一の損失を制御するストップ損失を設定する

オプティマイゼーションの方向性

  • 異なるパラメータでのテスト性能と最適なパラメータを選択
  • 取引量などの偽のブレイクをフィルタリングするために他の指標を組み込む
  • 異なる市場環境での取引のためのトレンドと逆転戦略を組み合わせる
  • 異なる品種のためのパラメータ設定に基づいて最適化
  • 機械学習アルゴリズムを組み込み,価格動向と主要価格ポイントを予測する

概要

これはボリンジャーバンドに基づいた価格突破取引戦略である.取引機会を特定するために価格突破の特徴を利用する.利点はシンプルで実行が簡単であること;欠点は損失につながる偽のブレイクアウトがある可能性があります.パラメータを調整し,他の指標を組み込み,ストップロスを設定することでこの戦略を最適化してバックテストとライブ取引で良い結果を達成することができます.一般的に,この戦略は価格のトレンド傾向を完全に利用できる市場環境に適しています.


/*backtest
start: 2023-02-14 00:00:00
end: 2024-02-20 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0

//Break out trading system works best in a weekly chart and daily chart of Nifty and BankNifty
//@version=4

strategy("Eswar New",shorttitle = "ESW")
length = input(20, minval=1)
exit = input(1, minval=1, maxval=2,title = "Exit Option") // Use Option 1 to exit using lower band; Use Option 2 to exit using basis line

lower = lowest(length)
upper = highest(length)
basis = avg(upper, lower)

l = plot(lower, color=color.blue)
u = plot(upper, color=color.blue)
plot(basis, color=color.orange)
fill(u, l, color=color.blue)

longCondition = crossover(close,upper[1])
if (longCondition)
    strategy.entry("Long", strategy.long)

if(exit==1)
    if (crossunder(close,lower[1]))
        strategy.close("Long")

if(exit==2) 
    if (crossunder(close,basis[1]))
        strategy.close("Long")


もっと