複数の指標に基づくトレンドフォロー戦略


作成日: 2023-11-23 15:43:02 最終変更日: 2023-11-23 15:43:02
コピー: 1 クリック数: 584
1
フォロー
1617
フォロワー

複数の指標に基づくトレンドフォロー戦略

概要

この戦略は,RSI,MA,EMA,ブリン帯などの複数の指標を組み合わせてトレンドを識別し,トレンド追跡を実現する. relativelyascending下落トレンドが認識されたときに,戦略は多頭探求を確立し,逆に,相対的な上昇トレンドが認識されたときに,戦略は空頭探求を確立する.

戦略原則

この戦略の核心的な論理は,RSI,MA,EMA,ブリン帯の4つの指標を組み合わせて価格トレンドを識別することです.具体的には,それは同時に2つのMA平均線を描画します. 1つは10周期で,もう1つは5周期で設定されます.

閉盤価格が5周期MA線,20周期EMA線および下位線を突破し,RSI指標が25の超買線を突破すると,戦略は,価格が比較的上昇していると判断し,多頭探求に入る.

対照的に,閉盤価格が10周期MA線,30周期EMA線および上線を突破し,RSI指標が75の超売り線を突破すると,戦略は,価格が比較的下降していると判断し,空調を始める.

この戦略は,価格が平均線を突破し,RSIが逆転するというモンキーロジックを組み合わせて潜在的なトレンドを認識し,そのトレンドを追跡する.

優位分析

この戦略の最大の利点は,複数の指標のトレンド識別を利用することで,偽信号を効果的に減らすことです.具体的には,価格が買いや売りのシグナルを誘発するために,平均線とブリン帯を同時に破らなければならないことであり,RSI指標はロングハードル変換も行わなければならないので,多くのノイズをフィルターすることができます.

さらに,この戦略は,短期的なノイズではなく,より明確なトレンドを追跡しており,これは収益の確率も増加させます.全体的に,この戦略は,配置が柔軟で,ブレイジングが困難で,収益の確率が高いという優位性を持っています.

リスク分析

留意すべきは,いかなる戦略も100%の利益を得ることは不可能であり,この戦略も例外ではないということです.主なリスクは,複数の指標の組み合わせを誤って判断して,誤った取引を起こすことです.また,突発的な出来事は,戦略の失敗につながる可能性があります.

リスクを軽減するために,指標パラメータを適切に調整して,利益の確率を最適化することができる.さらに,ストップ・ローズを設定し,単一損失を制御することも非常に重要です.もちろん,避けられないシステミック・リスクは,投資家の心理的な準備を必要とします.

最適化の方向

この戦略は,以下のような点で最適化できます.

  1. より多くの種類の指標の組み合わせをテストし,より良い多指標の組み合わせを探し出すこと.

  2. 戦略の安定性を高めるための指標の最適化

  3. 機械学習モデルによる判断力を増やし,正確性を向上させる.

  4. リスク管理のための自己適応の停止メカニズムを増やすこと

  5. 分析と最適化により,安定性と収益性を向上させる.

要約する

この戦略は,RSI,MA,EMA,ブリンと4つの指標をベースに,相対ascendingの追跡機構を設計し,複数の指標の組み合わせによって価格トレンドを判断し,ある方向のヘッド検索取引に入ります.この戦略は,複数の指標の判断を統合することで,誤判の確率を効果的に削減し,一定程度にノイズをフィルターし,比較的明確なトレンドを追跡します.もちろん,リスク管理にも注意が必要です.全体的に,この戦略は,大きな最適化余地があり,機械学習などの手段を組み合わせることで,より良い効果が得られることが期待されています.

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © lepstick-TC
//@version=4
strategy("1", overlay=true)
length = input(5, minval=1)
src = input(close, title="Source")
mult = input(1.5, minval=0.001, maxval=50)
basis = sma(src, length)
dev = mult * stdev(src, length)
upper = basis + dev
lower = basis - dev
plot(basis, color=color.red)
p1 = plot(upper, color=color.blue)
p2 = plot(lower, color=color.blue)
fill(p1, p2)
rsicok=input(75,minval=0,title="Rsi yüksek")
rsiaz=input(25,maxval=50,title="Rsi düşük")
rsizaman=input(7,minval=0,title="Rsi zaman")
smadeger=input(10,minval=0,title="Ma üst")
smadeger2=input(5,minval=0,title="Ma alt")
emadeger=input(30,minval=0,title="Ema üst")
emadeger2=input(20,minval=0,title="Ema alt")
myrsi=rsi(close,rsizaman)
myrsi2=rsi(close,rsiaz)
myrsi3=rsi(close,rsicok)
myma=sma(close,smadeger)
myma2=sma(close,smadeger2)
myema=ema(close,emadeger)
myema2=ema(close,emadeger2)
mycond =myrsi >rsicok and close> myma and close>myema
mycond2=myrsi<rsiaz and close<myma2 and close<myema2
barcolor(mycond? #2196F3: na)
barcolor(mycond2? #FF9800: na)
plot(myma,title="Ma yüksek",color=color.black,linewidth=0)
plot(myma2,title="Ma düşük",color=color.blue,linewidth=0)
plot(myema,title="Ema yüksek",color=color.yellow,linewidth=0)
plot(myema2,title="Ema düşük",color=color.gray,linewidth=0)
idunno =close< sma(close,smadeger2) and close < sma(close,smadeger) and close<ema(close,emadeger)and close<ema(close,emadeger2)and crossunder(close,lower)and crossunder(myrsi,myrsi2)and crossunder(close,basis) 
plotchar(idunno,char="A",color=#808000 ,location=location.belowbar) 
idunno2 =close> sma(close,smadeger2) and close> sma(close,smadeger) and close>ema(close,emadeger)and close>ema(close,emadeger2)and crossover(close,upper)and crossover(myrsi,myrsi3)and crossover(close,basis)
plotchar(idunno2,char="S",color=#787B86 ,location=location.abovebar)
strategy.entry("Al",true,when =idunno)
strategy.entry("Sat",false,when = idunno2)
strategy.close("Al",when=ema(close,emadeger)and crossover(open,upper))
strategy.close("Sat",when=sma(close,smadeger2)and crossunder(open,lower))
//strategy.exit("Al çıkış","Al",limit=upper)
//strategy.exit("Sat çıkış","Sat",limit=lower)
//strategy.exit("Al çıkış","Al",trail_points=close*0.1/syminfo.mintick,trail_offset=close*0.005/syminfo.mintick)
//strategy.exit("Sat çıkış","Sat",trail_points=close*0.1/syminfo.mintick,trail_offset=close*0.005/syminfo.mintick)