この戦略は"Saucius Aroon オシレーター戦略"と呼ばれる.これは,高い変動がみられるが,将来の価格の見通しが不確実である株式,インデックス,商品に適している.この戦略は,Aroon オシレーター指標を使用して価格動向を特定し,これらのリスクの高い資産の自動取引を実施するために複数のパラメータに基づいてエントリーと出口条件を設定する.
この戦略の背後にあるアイデアは,アルーンラインの創造者ツシャール・チャンデから生まれました.チャンデは,アルーンオシレータが50以上または50以下であるときに上昇傾向と下落傾向を特定することができると提案しました.これは,トレンドでない時期に単純なアルーンラインとクロスの欠点を軽減するのに役立ちます.
戦略は,まず19期アルーンアップ,アルーンダウンライン,アルーンオシレーターを計算する.オシレーターは,アップラインからダウンラインを引くことで計算される.中間線は-25,上列は75で,下列は-85に設定される.オシレーターが中間線を超えると,ロングポジションが開く.下回ると,ショートポジションが開く.出口条件は,オシレーターが上列を超えるとロングを閉じて,下列を下回るとショートを閉じる.
中央線は,トレンドの進出方向を決定するために使用され,上下線はトレンド逆転時に出口するために使用され,Aroonオシレーター指標に基づく自動取引を実現します.
この戦略は,従来のトレンドフォロー戦略と比較して,以下の利点があります.
要するに,Aroon オシレーター指標の強みを組み合わせることで,戦略は,良質な得率と収益性のある特定の資産の自動取引を達成します.
この戦略にはいくつかのリスクもあります:
これらのリスクは,パラメータを調整し,コードを最適化することによって軽減および改善することができます. さらに,適切なポジションサイズとマネーマネジメントは,潜在的なリスクを効果的に制御することもできます.
戦略のパフォーマンスをさらに向上させるために,以下の側面で最適化を行うことができます:
総合的なテストと最適化によって,戦略の安定性,勝利率,収益性が大幅に向上することができます.
この戦略は,アルーン振動器指標に基づく高い変動性と不明確な傾向を持つ資産の自動取引を創造的に達成した.従来のトレンド戦略と比較して,これらのタイプの資産でより良いパフォーマンスを発揮し,その厳格な取引条件もパラメータ設定によって達成される.戦略の利点は顕著だが,まだ改善の余地がある.標的化された最適化によってさらなる強化が得られる.この戦略は定量的な取引慣行のための基準を提供する.
/*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)