多重クロスオーバータートルと加重移動平均、MACDとTSIの組み合わせ戦略


作成日: 2024-01-08 14:19:02 最終変更日: 2024-01-08 14:19:02
コピー: 1 クリック数: 657
1
フォロー
1617
フォロワー

多重クロスオーバータートルと加重移動平均、MACDとTSIの組み合わせ戦略

概要

これは,複数の技術指標を用いた取引信号判断策である.海取引法の二重均線交差システム,重力移動平均,MACDとTSIの4つの主流技術指標を統合して,複数の確認取引策を形成する.この組み合わせは,偽信号を効果的にフィルターし,安定性を向上させる.

原則

この戦略の核心となるのは,複数の技術指標の交叉組み合わせである.

  1. 海取引法の二重平均線交差は取引信号を生成する. 7日と14日の二重ハル移動平均をそれぞれ計算し,短期平均線を長期平均線に突破すると看板,下破すると下落する.

  2. 1日間の加重移動平均を計算し,重要な長期トレンドの判断指標として使用する.

  3. MACD指標を計算し,信号線との金叉死叉を判断する。MACDは信号線より大きいときは看板,小さい時は下落。

  4. TSI指標を計算して,それが超買線より高いか超売線より低いかを判断する.TSIが超買線より高いときは下落し,超売線より低いときは看板する.

入学には以下の条件を同時に満たす必要があります.

  • 7日線を14日線に
  • 1日目加重移動平均の下は多めに,上は空っぽに
  • MACDは信号線を横切っています.
  • TSIはセールラインを上回る高さ (オール) またはセールラインを上回る低さ (空白)

単一の技術指標によって生成される偽信号を効果的に回避し,安定性を向上させることができる.

利点

複数の指標を組み合わせたこの戦略には以下の利点があります.

  1. 複数の確認により,偽の信号を効果的にフィルターし,誤った取引を回避します.

  2. テクニカル・インディケーターは,様々なレベルの取引機会を捉えるため,短期,中期,長期をカバーします.

  3. 海取引法は実戦試験に耐えており,安定した収益を容易にする.

  4. MACDは短期的な変化に敏感で,戦略のリアルタイム性を向上させる.

  5. TSI指標は比較的滑らかで,過剰買い過剰販売を効果的に識別できる.

  6. 移動平均は長期トレンドの重要な指標であり,逆転取引を防止します.

この戦略は,複数の指標を組み合わせて,安定し,柔軟性があり,収益の余地があり,非常に優れた量化戦略です.

リスク

この戦略にはいくつかのリスクがあり,以下のような部分に重点を置いています.

  1. 多重指標は戦略の複雑さを高め,パラメータの設定と最適化の難しさが大きい.

  2. 戦略の安定性に影響を与える指標の違いがある.

  3. テクニカル・インディケーターが偽信号を発する確率を完全に排除することはできません.

  4. 短期的な逆転の機会を逃し,急激な逆転の利回りの余地を得られない.

関連して,以下のような点でさらに最適化できます.

  1. 指標のパラメータの最適な組み合わせを探し,指標間の相関性を向上させる.

  2. 単発損失を抑えるための 損失防止メカニズムを増やす.

  3. 安定性をさらに高めるために,より多くの異なるタイプの指標を組み合わせて,異なる周期で

  4. 資金の一部を適当に確保し,反転技法を活用して競売を行う.

最適化の方向

この戦略は,次のいくつかの点でさらに最適化できます.

  1. パラメータ最適化 周期長,線数,超買超売区間などの指標のパラメータを最適化して最適なパラメータの組み合わせを見つけることができる.

  2. 止損メカニズムを増やす. 移動止損またはCLASSESなどの止損方法を適切に設定し,損失を制御する.

  3. 追加の指標を追加する KD,OBV,波動率などの他の指標を追加して,より多くの次元を構成するクロス検証を行うことができます.

  4. 機械学習と組み合わせて. 複数の技術指標をインプットとして,信号判断とパラメータ最適化などのニューラルネットワークを使用する.

  5. 適切な資金の保持を,ヘッジのために. 特定の反転ポジションを保持し,反転の利益を利用する.

要約する

この戦略は,海取引法,移動平均,MACDとTSIの4つの技術指標の組み合わせを使用することによって,安定性があり,柔軟性があり,実戦的な効果のある量化戦略を構築している.それは,短期および長期のトレンドを兼ね備えて,複数の指標のクロス検証が偽信号の確率を効果的に減らす.さらなるパラメータの最適化,止損機構の追加およびモデルの最適化により,より良い戦略効果を得ることができる.この戦略は実戦的に検証し,適用する価値がある.

ストラテジーソースコード
/*backtest
start: 2023-12-08 00:00:00
end: 2024-01-07 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
//                                                    Quad-HullMA-cross & VWMA & MacD & TSI combination  <<<<< by SeaSide420 >>>>>>
strategy("MultiCross", overlay=true)
keh=input(title="Double HullMA 1",defval=7, minval=1)
teh=input(title="Double HullMA 2",defval=14, minval=1)
meh=input(title="VWMA",defval=1, minval=1)
meh1=vwma(close,round(meh))
n2ma=2*wma(close,round(keh/2))
nma=wma(close,keh)
diff=n2ma-nma,sqn=round(sqrt(keh))
n2ma1=2*wma(close[2],round(keh/2))
nma1=wma(close[2],keh)
diff1=n2ma1-nma1,sqn1=round(sqrt(keh))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
b=n1>n2?lime:red
c=n1>n2?green:red
n2ma3=2*wma(close,round(teh/2))
nma2=wma(close,teh)
diff2=n2ma3-nma2,sqn2=round(sqrt(teh))
n2ma4=2*wma(close[2],round(teh/2))
nma3=wma(close[2],teh)
diff3=n2ma4-nma3,sqn3=round(sqrt(teh))
n3=wma(diff2,sqn2)
n4=wma(diff3,sqn3)
fastLength = input(title="MacD fastLength", defval=7)
slowlength = input(title="MacD slowlength", defval=14)
MACDLength = input(title="MacD Length", defval=3)
MACD = ema(close, fastLength) - ema(close, slowlength)
aMACD = ema(MACD, MACDLength)
delta = MACD - aMACD
a1=plot(n1,color=c),a2=plot(n2,color=c)
plot(cross(n1, n2) ? n1 : na, style = cross, color=b, linewidth = 3)
a3=plot(n3,color=c),a4=plot(n4,color=c)
plot(cross(n3, n4) ? n1 : na, style = cross, color=b, linewidth = 3)
//a5=plot(meh1,color=c)
long = input(title="TSI Long Length",  defval=5)
short = input(title="TSI Short Length",  defval=3)
signal = input(title="TSI Signal Length",  defval=2)
linebuy = input(title="TSI Upper Line",  defval=4)
linesell = input(title="TSI Lower Line",  defval=-4)
price = close
double_smooth(src, long, short) =>
    fist_smooth = ema(src, long)
    ema(fist_smooth, short)
pc = change(price)
double_smoothed_pc = double_smooth(pc, long, short)
double_smoothed_abs_pc = double_smooth(abs(pc), long, short)
tsi_value = 100 * (double_smoothed_pc / double_smoothed_abs_pc)
closelong = n1<n2 and n3<n4 and n1>meh1
if (closelong)
    strategy.close("Long")
closeshort = n1>n2 and n3>n4 and n1<meh1
if (closeshort)
    strategy.close("Short") 
longCondition = strategy.opentrades<1 and n1>n2 and MACD>aMACD and n1<meh1 and n3>n4 and ema(tsi_value, signal)>linesell
if (longCondition)
    strategy.entry("Long",strategy.long)
shortCondition = strategy.opentrades<1  and n1<n2 and MACD<aMACD and n1>meh1 and n3<n4 and ema(tsi_value, signal)<linebuy
if (shortCondition)
    strategy.entry("Short",strategy.short)