アルーン指標に基づく定量戦略


作成日: 2023-09-19 15:47:21 最終変更日: 2023-09-19 15:47:21
コピー: 0 クリック数: 681
1
フォロー
1617
フォロワー

概要

この戦略は,市場トレンドの方向を判断するためにアロン指数のみを使用して,簡単な買入と売却の信号を発信する.アロン指数のトレンドキャプチャ能力を組み合わせ,その指数の判断に純粋に依存する機械的取引システムを開発することを目指す.

戦略原則

  1. 7日間の最高値と最低値の柱を計算します.

  2. 最高価格柱形と総柱形数の比を上線として計算する

  3. 最低価格柱形と総柱形数の比を下線として計算する

  4. 上軌道値が下軌道値より大きいときに買取信号を生成する

  5. 現軌道値が上軌道値より大きい時に出荷信号を生成する

  6. 特定の入場方向を戦略パラメータで制御する

  7. 指定された期間内に注文を完了する平面

優位分析

  1. アロン指数の判断に完全に依存し,純粋に指数駆動の取引を実現

  2. シンプルで分かりやすく最適化できる指標パラメータ

  3. 柔軟な空き方向の選択により,異なる品種に適応できます.

  4. カスタマイズ可能な時間帯で反測または実盤取引

  5. 操作信号は非常に明確で,簡単に理解し実行できます.

リスク分析

  1. 単一の指標として,誤信号を発生させる可能性が高い.

  2. 市場が現実のトレンドで上昇・下降を正確に判断できない.

  3. 遅滞があり,変化を把握できない.

  4. 市場の変化に合わせて動的に調整できない

  5. 退却のリスクはある

最適化の方向

  1. 異なる品種と周期パラメータをテストする

  2. フィルタリング条件を増やし,信号の質を向上させる

  3. トレンド指数と組み合わせて,大トレンドの方向性を決定する

  4. 動的な出場メカニズムを開発し,トレンドに合わせて調整

  5. パラメータの最適化,複数の指標の組み合わせテスト

  6. ポジション増やし リスク管理

要約する

この戦略は,アロン指数によって簡単なトレンド判断の買入シグナルを提供します. 誤導信号を回避し,リスク管理の面で最適化の余地があります. しかし,その考え方はシンプルで明快で,定量取引の基本戦略として改善することができます. 全体的に,この戦略は実用性が強く,さらなるテストと最適化の価値があります.

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

//Noro
//2018
//@version=2

strategy(title = "Noro's Aroon Strategy v1.0", shorttitle = "Aroon str 1.0", overlay = false, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(false, defval = false, title = "Short")
length = input(7, defval = 7, minval = 1, maxval = 1000)
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From Day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To Day")

//Aroon
upper = 200 * (highestbars(high, length+1) + length)/length
lower = 200 * (lowestbars(low, length+1) + length)/length
plot(upper, color=#FF6A00)
plot(lower, color=#0094FF)

//Signals
up = upper > lower
dn = upper < lower

//Trading
if up
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na)
    
if dn
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na)
 
if true
    strategy.close_all()