移動平均指標戦略

作者: リン・ハーンチャオチャン,日付: 2024-02-26 11:10:23
タグ:

img

概要

移動平均指標戦略は,移動平均値に基づいて市場動向を判断し,長または短ポジション操作を行う定量的な取引戦略である.この戦略は,一定の期間における平均閉場価格を計算することによって,価格逆転の機会を把握するために市場が過買いまたは過売りされているかどうかを決定する.

戦略原則

この戦略の核心指標はストカスティックオシレーターである.その計算方法は:

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).

利点分析

この戦略には以下の利点があります.

  1. 市場動向を判断するための移動平均指標を使用し,バックテストの結果が良好で,取引信号を簡単に形成できます
  2. パラメータを調整して異なるサイクルや品種に適応する柔軟性
  3. 戦略のアイデアはシンプルで明確で,理解し最適化するのが簡単です

リスク分析

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

  1. 移動平均は誤った動きに 傾向があります
  2. パラメータの設定が正しくない場合,取引が頻繁になるか,信号が不透明になる
  3. 一つの指標のみを考慮し,最適化空間が限られている

これらのリスクは,指標パラメータを適切に最適化したり,フィルター条件を追加することによって軽減できます.

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

この戦略を最適化できる主な側面は以下の通りです.

  1. より信頼性の高い取引シグナルを確保するために,ボリュームやATRおよび他の指標を追加する
  2. 複数のサイクルのストック指標を追加し,複合操作によって信号を生成
  3. マックドやKDJなどの追加判断指標を増やし,マルチインジケーターアグリゲーションを達成する
  4. 最適な設定を見つけるために取引品種,サイクル,パラメータを横切って最適化

結論

移動平均指標戦略の全体的な考え方は,比較的安定したバックテスト結果でシンプルで広く使用されており,初心者の定量的な取引戦略として適しています.しかし,この戦略は限られた要因を考慮して最適化スペースが限られており,短期取引にのみ適しています.将来のアップグレードは,マルチインジケーターアグリゲーション,機械学習などを通じて行えます.


/*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")

もっと