多重クロスオーバー カメと重度の移動平均とMACDと TSIの組み合わせ戦略

作者: リン・ハーンチャオチャン,日付: 2024-01-08 14:19:02
タグ:

img

概要

これは,取引信号判断のための複数の技術指標を使用する戦略である.これは,多重確認された取引戦略を形成するために,タートル取引規則,重量移動平均,MACDおよびTSIの二重移動平均クロスオーバーシステムを統合する.この組み合わせは,誤った信号を効果的にフィルタリングし,安定性を向上させることができます.

原則

この戦略の基本原則は,複数の技術指標の組み合わせです.

  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の技術指標を組み合わせて,高い安定性,高い柔軟性,戦闘試験された定量戦略を構築する.短期,中期,長期の市場動きの両方を把握する.複数の指標のクロスバリデーションは誤った信号の確率を効果的に減少させる.パラメータ,ストップ損失メカニズム,モデルに対するさらなる最適化により,より良い戦略パフォーマンスを達成することができる.この戦略はライブ取引の検証と適用に値する.


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

もっと