アルーンオシレーターに基づく株式取引戦略


作成日: 2024-01-15 14:08:33 最終変更日: 2024-01-15 14:08:33
コピー: 1 クリック数: 586
1
フォロー
1617
フォロワー

アルーンオシレーターに基づく株式取引戦略

戦略概要

この戦略は,価格変動が大きい,傾向がはっきりしない株,指数,および大商品に適用されます. この戦略は,価格の傾向を識別するために,複数のパラメータと組み合わせて,入場と退出条件を設定し,この種のリスクのある資産の自動取引を実現します.

戦略原則

この戦略は,アロンラインの創始者Tushar Chandeの考えから生まれた.Chandeは,アロン振動器が50以上または以下であるときに,多頭と空頭トレンドを識別できると考えます.これは,単純アロンラインとアロンクロスがトレンドでない市場での欠点を補うのに役立ちます.

具体的には,戦略は,最初に長さ19サイクルのアロン上線,アロン下線,アロン振動器を計算する.振動器は上線減去下線で計算する.そして,中線を25で,上線を75で,下線を85で設定する.当日の振動器上の中線を穿越すると多し,下線を穿越すると空になる.平仓条件は上線を穿越すると多し,下線を穿越すると空倉である.

このように,中線は,トレンドの方向を判断するためにフィールドに入ると,上下線は,トレンドの逆転を判断してフィールドの外に出ると,アルロン振動器指標に基づく自動取引を実現する.

戦略的優位性

この戦略は,従来型のトレンド追跡戦略と比べると,以下の利点があります.

  1. 傾向がはっきりしない,波動が大きい品種には,単純な傾向戦略よりも効果的です.
  2. アロン振動器でトレンドを判断するより信頼性がある
  3. 多パラメータ設定条件は厳格で,誤った取引を避ける
  4. 利潤を迅速に稼ぎ 損失のリスクを効果的にコントロールする

全体として,この戦略は,アロン振動器の指標の優位性を組み合わせ,特定の品種の自動取引,勝利率,収益性を良好に実現しました.

戦略リスク

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

  1. パラメータの設定は,異なる品種に合わせて最適化する必要があります,そうでなければ効果に影響します
  2. 取引の頻度が高くなり,取引コストとスライドポイントコストが増加する可能性があります.
  3. 技術指標に依存し,指標が機能しなくなった場合,損失が生じることがあります

これらのリスクポイントは,パラメータの調整,コードの最適化によって改善および軽減することができます.さらに,合理的な位置と資金管理は,潜在的なリスクを効果的に制御することができます.

戦略の最適化

戦略の効果をさらに高めるために,以下のような点で最適化することができます.

  1. パラメータを調整し,異なる品種と市場環境に対するテストを行う
  2. 他の技術指標の組み合わせを加え,より強力な取引シグナルを作成します.
  3. 単一損失の大きさを効果的に制御するストップ・ロース戦略を増加させる
  4. 仮想ブレイクが誤った取引を防ぐために,結合量能指数
  5. エントリー条件を最適化し,不要な取引を減らす

戦略の安定性,勝利率,収益性は,多面的なテストと最適化によって大幅に向上します.

要約する

この戦略は,アロン振動器指標をベースに,創意的に,波動性が大きい,傾向が明らかでない品種に対する自動取引を実現している.従来の傾向戦略と比較して,この種の品種において,その効果はより優れている.パラメータ設定により,厳格な取引条件も実現している.戦略の優位性は顕著であるが,一定の改善の余地もある.標的の最適化により,効果はさらに向上することができる.この戦略は,量化取引の実践に参考となる考え方を提供している.

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

//@version=2
// by Saucius Finance https://saucius-finance.blogspot.com/
// copyrights reserved :)
// This strategy derives form the consideration of the author, Tushar Chande, that, in "more patterns" paragraph, 
// long and short trends are identified by oscillator < or > line 50. 
// This helps because simple Aroon and Aroon crosses suffer in not trending periods.
// original article avabile in:" Stocks & Commodities, V. 13:9 (369-374) : A Time Price Oscillator by Tushar Chande, Ph.D.""
strategy("Aroon Oscillator strategy by Saucius", overlay=false)
//building aroon lines, Embodying both Aroon line (Up and Down) and Aroon Oscillator
length = input(19, minval=1)
level_middle = input(-25, minval=-90, maxval=90, step = 5)
levelhigh = input(75,  minval=-100, maxval=100, step = 5)
levellow = input(-85,  minval=-100, maxval=100, step = 5)
upper = 100 * (highestbars(high, length+1) + length)/length
lower = 100 * (lowestbars(low, length+1) + length)/length
oscillator = upper - lower 
plot(upper, title="Aroon Up", color=blue)
plot(lower, title="Aroon Down", color=red)
plot(oscillator, title="Aroon Oscillator", color = yellow)
hline(level_middle, title="middle line", color=gray,  linewidth=2)
hline(levelhigh, title ="upper border", color=gray,  linewidth=1)
hline(levellow, title ="lower border", color=gray, linewidth=1)

// Entry //
entryl = oscillator[1] < level_middle[1] and oscillator > level_middle
entrys = oscillator[1] > level_middle[1] and oscillator < level_middle
strategy.entry("Long", true, when = entryl)
strategy.entry("Short", false, when = crossunder (oscillator, level_middle))


// === EXIT===
exitL1 = oscillator[1] > levelhigh[1] and oscillator < levelhigh
exitS1 =  oscillator[1] < levellow[1] and oscillator > levellow
strategy.close("Long", when=entrys)
strategy.close("Short", when=entryl)
strategy.close("Long", when= exitL1)
strategy.close("Short", when= exitS1)