二重移動平均戦略の傾向

作者: リン・ハーンチャオチャン,日付: 2023年10月25日 11:42:23
タグ:

img

概要

この戦略は,市場動向を特定するために平均方向動向指数評価 (ADXR) を使用し,二重移動平均を組み合わせて取引シグナルを生成する.これは典型的なトレンドフォロー戦略に属している.ADXR指標は,トレンドの変化を効果的に識別することができ,二重移動平均は,いくつかの誤った信号をさらにフィルタリングすることができます.この戦略は,レンジバインド市場でより良いリターンを得るために,株式やフォレックスなどのトレンド市場に適しています.

戦略の論理

  1. ADXR指標値を計算します. ADXはトレンドの強さを反映します. ADXRはADXを滑らかにし,トレンドをよりよく表示します.

  2. ADXR インディケーターのダブルスロージルを設定します. ADXRが最初のスロージルを越えると,上昇傾向を示します. 2番目のスロージルを越えると,下落傾向を示します.

  3. ADXR信号に基づいて位置方向を決定します. ADXRが最初の値を超えるとロング,第2値を下回るとショートします.

  4. ダブル移動平均値でシグナルをフィルタリングする.価格が速いMAよりも高く,価格がスローMAよりも低い場合にのみショートする.このフィルタリングはトレンド逆転中に間違った取引を避ける.

  5. ロングポジションは緑色で,ショートポジションは赤色です.

利点分析

  1. ADXRは価格変動を平らにし,トレンドを効果的に特定し,さまざまな市場からの取引リスクを回避します.

  2. 二重移動平均のフィルタリングは,トレンド逆転による損失を回避することで,引き下げを減らす.

  3. トレンドインジケーターと移動平均を組み合わせることで,トレンドに沿った取引ができるようになり,トレンド市場に適したリスクが制御されます.

  4. 戦略の論理はシンプルで,異なる市場環境のためのパラメータ調整に柔軟です.

リスク分析

  1. 誤ったADXRパラメータは,傾向の変化を間に合わない可能性があります.パラメータは,特定の市場に応じて慎重に設定する必要があります.

  2. 不適切な移動平均パラメータは,有効な信号を過濾することがあります.パラメータは市場状況に応じて調整する必要があります.

  3. どの指標も誤った信号を与える可能性があります.罠を避けるために,より大きな時間枠の傾向を検討する必要があります.

  4. 損失を制限するために,様々な市場でのポジションサイズを減らす.

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

  1. ADXR信号の確認と正確性の向上のために,MACDやボリンジャー帯などの他の指標を追加できます.

  2. トレーリングストップやタイムストップのようなストップ・ロスの戦略は,トレード損失を制限するために追加できます.

  3. 低効率市場における平均値の平均値の長期化など,市場効率に基づくパラメータを最適化する.

  4. 固定分数のポジションサイズなどのマネーマネジメント戦略を組み込むことで 全体的なリスクをより良くコントロールできます

結論

この戦略は,トレンド指針と二重移動平均を用い,トレンド指針を決定し,引き下げを減らすための典型的なトレンドフォロー戦略である.利点は,異なる市場に適応するためのシンプルさと柔軟性にある.しかし,いかなる技術指標も誤った信号を与えることができ,リスクはトレンドフィルターとマネーマネジメントで管理されるべきである.適切なパラメータ調整により,この戦略はトレンド市場のための良いリスク調整収益を達成することができる.


/*backtest
start: 2023-10-17 00:00:00
end: 2023-10-24 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 04/05/2018
// The Average Directional Movement Index Rating (ADXR) measures the strength 
// of the Average Directional Movement Index (ADX). It's calculated by taking 
// the average of the current ADX and the ADX from one time period before 
// (time periods can vary, but the most typical period used is 14 days).
// Like the ADX, the ADXR ranges from values of 0 to 100 and reflects strengthening 
// and weakening trends. However, because it represents an average of ADX, values 
// don't fluctuate as dramatically and some analysts believe the indicator helps 
// better display trends in volatile markets.
//
// You can change long to short in the Input Settings
// WARNING:
//  - For purpose educate only
//  - This script to change bars colors.
////////////////////////////////////////////////////////////
fADX(Len) =>
    up = change(high)
    down = -change(low)
    trur = rma(tr, Len)
    plus = fixnan(100 * rma(up > down and up > 0 ? up : 0, Len) / trur)
    minus = fixnan(100 * rma(down > up and down > 0 ? down : 0, Len) / trur)
    sum = plus + minus 
    100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), Len)

strategy(title="Average Directional Movement Index Rating Backtest", shorttitle="ADXR")
LengthADX = input(title="Length ADX", defval=14)
LengthADXR = input(title="Length ADXR", defval=14)
reverse = input(false, title="Trade reverse")
Signal1 = input(13, step=0.01)
Signal2 = input(45, step=0.01)
hline(Signal1, color=green, linestyle=line)
hline(Signal2, color=red, linestyle=line)
xADX = fADX(LengthADX)
xADXR = (xADX + xADX[LengthADXR]) / 2
pos = iff(xADXR < Signal1, 1,
       iff(xADXR > Signal2, -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(xADXR, color=green, title="ADXR")

もっと