移動平均指標戦略は,移動平均値に基づいて市場動向を判断し,長または短ポジション操作を行う定量的な取引戦略である.この戦略は,一定の期間における平均閉場価格を計算することによって,価格逆転の機会を把握するために市場が過買いまたは過売りされているかどうかを決定する.
この戦略の核心指標はストカスティックオシレーターである.その計算方法は:
Low = the lowest low of the most recent N days
High = the highest high of the most recent N days
K value = (Current close – Low)/(High – Low)*100
この指標は,最も最近のN日間の価格範囲に対する現在の閉値の位置を概して反映しています.
K値が買い過ぎライン (BuyBand) より大きい場合,株が買い過ぎになり,コールバックが起こる可能性があることを示します.K値が売り過ぎライン (SellBand) より小さい場合,株が売り過ぎになり,リバウンドが起こる可能性があることを示します.
この判断規則によると,戦略は,過剰購入ゾーンでポジションを開くために売り,過剰販売ゾーンでポジションを開くために購入する.閉じる条件は,指標線が中間ゾーンに再入る (SellBand, BuyBand).
この戦略には以下の利点があります.
この戦略にはいくつかのリスクもあります.
これらのリスクは,指標パラメータを適切に最適化したり,フィルター条件を追加することによって軽減できます.
この戦略を最適化できる主な側面は以下の通りです.
移動平均指標戦略の全体的な考え方は,比較的安定したバックテスト結果でシンプルで広く使用されており,初心者の定量的な取引戦略として適しています.しかし,この戦略は限られた要因を考慮して最適化スペースが限られており,短期取引にのみ適しています.将来のアップグレードは,マルチインジケーターアグリゲーション,機械学習などを通じて行えます.
/*backtest start: 2024-01-01 00:00:00 end: 2024-01-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 25/09/2017 // Simple Overbought/Oversold indicator // // You can change long to short in the Input Settings // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// strategy(title="Overbought/Oversold", shorttitle="OB/OS") Length = input(10, minval=1) BuyBand = input(0.92, step = 0.01) SellBand = input(0.5, step = 0.01) reverse = input(false, title="Trade reverse") hline(BuyBand, color=green, linestyle=line) hline(SellBand, color=red, linestyle=line) xOBOS = stoch(close, high, low, Length) nRes = iff(close > close[Length], xOBOS / 100, (100 - xOBOS) / 100) pos = iff(nRes < SellBand, -1, iff(nRes > BuyBand, 1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) barcolor(possig == -1 ? red: possig == 1 ? green : blue ) plot(nRes, color=blue, title="OB/OS")