平均確率的取引戦略


作成日: 2023-10-26 16:20:33 最終変更日: 2023-10-26 16:20:33
コピー: 0 クリック数: 720
1
フォロー
1617
フォロワー

平均確率的取引戦略

概要

この戦略は,平均ランダムな指標に基づいて取引信号の判断を行い,トレンドフォロー戦略の1つである.この戦略は,平均ランダムな指標%Kと%Dの移動平均を計算し,金叉の発生時に多し,死叉の発生時に空し,典型的なトレンドフォロー戦略の1つである.

戦略原則

  1. 平均ランダム指数%Kと%Dの値を計算する.%Kは,特定の期間の閉盘価格に基づいて計算されたランダム値の移動平均であり,現在の価格と特定の期間の最高価格と最低価格の相対的な位置を反映する.%Dは,トレンドを確認するために%Kの移動平均である.

  2. %Kと%Dに対して指数平滑移動平均 ((EMA) を行い,平均ランダム指標の平均値が得られる_avg_k と_avg_d。

  3. 取引信号を判断する:

    • 購入信号:_avg_k 履いた_avg_d,そして_avg_d <20歳ならもっと

    • 売る信号:_avg_k ダウン_avg_d,そして_avg_d > 80 では空白する

  4. 持仓管理:

    • 複数の単一のストップ:_avg_d >80時間の平仓

    • 空券の損失:_avg_d <20時に平仓する

  5. 同期注文は最大3件まで許可され,加仓策に該当します.

戦略的優位性

  1. 二重均線を用いて金叉死叉を判定し,偽突破を効果的にフィルターして信号品質を向上させる

  2. 価格の動向を効率的に追跡するための平均ランダム指数

  3. 超買超売区間の判断と組み合わせると,変動の時に頻繁な取引を回避できます.

  4. 投資家は,投資先の利益を得るために,投資先の利益を得るために,投資先の利益を得るために,

  5. ストップ・ロスの戦略は 単一損失をコントロールできます

戦略リスク

  1. 双方向の取引戦略は,取引が頻繁に発生し,取引費用が高くなると利益に影響する.

  2. 固定ストップポイントを使用すると,脱出トレンドを早めにストップする可能性があります.

  3. 投資が多すぎると損失が拡大する

  4. トレンドの逆転のポイントを効果的に判断できないこと,トレンドが逆転すると大きな損失が発生する可能性があること

  5. パラメータ周期を最適化する必要があり,周期によって効果が大きく異なる.

最適化の方向

  1. トレンド判断指標を導入し,逆行を避ける

  2. ストップポイントを動的に調整し,トレンドに適したストップポイントを設定します.

  3. ポジション増やす戦略を最適化します.例えば,1回に1人のポジショナーを増やす

  4. 収益の早期退出は,他の指標と組み合わせてトレンドの逆転を判断します.

  5. 異なる品種に対するテストパラメータの最適化,パラメータの適応性の向上

要約する

この戦略は全体として典型的なトレンド追跡戦略であり,平均ランダム指標を使用してトレンドの方向を判断し,トレンドが現れたときに加仓取引を行う.戦略の優点は,トレンドの状況に適した追跡能力が強いことですが,逆転取引を防ぐことに注意する必要があります.トレンド判断,停止損失戦略の最適化,加仓回数を制御するなどの方法を導入することによってさらに最適化することができ,適切なパラメータを選択した前提で,良い追跡効果を得ることができます.

ストラテジーソースコード
/*backtest
start: 2022-10-19 00:00:00
end: 2023-10-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//1. AVG Stochastic Calculate
//1.1 AVG %K is calculated by apply EMA with smooth K period on Average of Original Stochastic %k & %d
//+ avg_k=ema((%k+%d)/2,smoothK)
//1.2 AVG %D is calculated by apply EMA with %d period on AVG %K
//+ avg_d=ema(avg_k,periodD)
//2. Parameter
//+ %K Length: 21
//+ %K Smoothing: 3
//+ %D Smoothing: 3
//+ Symbol: BTC/USDT
//+ Timeframe: M30
//+ Pyramiding: Maximum 3 orders at the same direction.
//3. Signal
//3.1 Buy Signal
//+ Entry: AVG %K crossover AVG %D and AVG %D < 20
//+ Exit: AVG %D > 80 
//3.2 Sell Signal
//+ Entry: AVG %K crossunder AVG %D and AVG %D > 80
//+ Exit: AVG %D < 20 
strategy(title="AVG Stochastic Strategy [M30 Backtesting]", overlay=true, pyramiding=3)
periodK = input.int(21, title="%K Length", minval=1)
smoothK = input.int(3, title="%K Smoothing", minval=1)
periodD = input.int(3, title="%D Smoothing", minval=1)
k = ta.sma(ta.stoch(close, high, low, periodK), smoothK)
d = ta.sma(k, periodD)
_avg_k=ta.ema(math.avg(k,d),smoothK)
_avg_d=ta.ema(_avg_k,periodD)
up=
   _avg_k[1]<_avg_d[1]
   and _avg_k>_avg_d
   and _avg_d<20
dn=
   _avg_k[1]>_avg_d[1]
   and _avg_k<_avg_d
   and _avg_d>80
var arr_val=0
if up
    arr_val:=1
    strategy.entry("Long", strategy.long)
if dn
    arr_val:=-1
    strategy.entry("Short", strategy.short)
if up[1] or dn[1]
    arr_val:=0
plotarrow(arr_val,title="Signal",colorup=color.green,colordown=color.red)
if _avg_d>80 
    strategy.close("Long")
if _avg_d<20 
    strategy.close("Short")
//EOF