資源の読み込みに... 荷物...

複数のタイムフレームに基づいたモメント逆転戦略

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

img

概要

この戦略は,キャンドルスタイクボディ/ウィック比を計算し,RSI指標を組み合わせて,過剰購入/過剰売却の市場状況を検出することによって取引機会を特定する.短期から中期間の価格動向の潜在的な逆転を把握することを目的としています.

戦略の論理

この戦略の基本論理は以下の点に基づいています

  1. ろうそくのボディ/ウィックパーセントを計算する: オープン,閉鎖,高値,低値を計算することで,ろうそくのボディとウィックの占有率を導き出します. 20%未満のウィックの割合は強いろうそくを示します.

  2. ろうそくの強さの変化パーセントを計算する.ろうそくの強さを決定するために,各ろうそくの内部価格動きの大きさを計算する.より大きな変動はより強い勢いを意味し,したがってより強いろうそくを示します.

  3. RSIと組み合わせて過買い/過売り状態を特定する: RSIの過買いと過売りの値線を設定する.過買い線上のRSIは過買い状態を意味し,過売りとは逆である.そのような状態の強いキャンドルは逆転の可能性が高い.

  4. 逆転信号を決定する:ウィークパーセント < 20% とキャンドル強度 > 2 x 平均強度,前キャンドルが現在のキャンドルが閉じるよりも高いと閉じると,それはショート状態をシグナルします.逆は長い状態を示します.

  5. ストップ・ロスを定義し,利益を取ること: 固定した割合に基づくストップ・ロスを設定し,ロング・ショート・トレードで利益レベルを別々に取ること.

利点分析

この戦略の利点は以下の通りです.

  1. キャンドルボディ/ウィック比を用いてトレンドと逆転を効果的に識別する.価格の勢いとターニングポイントをよく検出する.

  2. ランプの強度変化とRSIを組み合わせることで逆転信号の精度が高くなります.RSIは調整可能で,より高い最適化能力を提供します.

  3. 合理的なストップ・ロース/テイク・プロフィート構成で,短期的な機会を活用し,同時に取引リスクのリスクを低減します.

  4. 異なる製品と時間枠の最適化のためのパラメータの柔軟な調整性.高い実用性.

リスク分析

戦略に伴うリスクは:

  1. 強いトレンドブレイク時の潜在的な誤った信号は,キャンドル比較期間とRSIパラメータの最適化によって軽減できます.

  2. 失敗した逆転の確率は完全に排除できない.ダウントレンドで長引く場合,逆も損失を誘発する.損害を最小限に抑えるために,ストップ損失を相応に調整する必要があります.

  3. 性能は製品と時間枠によって異なります.高度に揮発性のある製品では注意が必要です.

増進 の 機会

戦略は以下の方法で最適化できます.

  1. 最適なパラメータ組み合わせを決定するために,過買い/過売りを特定する際に考慮される微調整期間.

  2. 製品特異性に基づいて,過剰購入/過剰販売のRSIの値を最適化する.

  3. 理想的なリスク管理計画を導き出すためにストップ・ロスト/テイク・プロフィート比をテストする.

  4. より標的型なパラメータ調節のために,波動性に応じて製品を分類する.

  5. 他の指標に基づいた追加のフィルターは,強度を向上させる可能性があります.

結論

この戦略は,キャンドルスティック情報を理解することによって逆転を検出するために全体的に非常に実践的です.典型的な短期取引システムとして,中期トレンドを追跡するために製品や環境全体でかなりの最適化能力を備えています.しかし,ストップ損失を通じて十分なリスク管理は不可欠です.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("mecha larga study",overlay = true,  max_bars_back = 600)
//Porcentaje Mecha cuerpo
bodyPercent = math.abs(open - close) / (high - low) * 100
wickPercent = 100 - bodyPercent

plot(bodyPercent, "Porcentaje del cuerpo", color.rgb(163, 76, 175))
plot(wickPercent, "Porcentaje de la mecha", color.red)

VelaDeFuerza =  math.abs(((high[0] - low[0])*100)/high)//PORCENTAJE DE VARIACION DE UNA VELA
plot(VelaDeFuerza, color = color.purple)

Promedio = ((VelaDeFuerza[0] + VelaDeFuerza[1] + VelaDeFuerza[2] + VelaDeFuerza[3] + VelaDeFuerza[4]  + VelaDeFuerza[5] + VelaDeFuerza[6] + VelaDeFuerza[7] + VelaDeFuerza[8] + VelaDeFuerza[9] + VelaDeFuerza[10] + VelaDeFuerza[11] + VelaDeFuerza[12] + VelaDeFuerza[13]  + VelaDeFuerza[14] ) / 15)
plot(Promedio, color = color.yellow)


// rsi 
per_Rsi = input.int(14, "Periodo RSI",minval= 11, maxval=20) //inicializo el rsi en 14 periodos pero doy la posibilidad al usuario de cambiarlo
rsi_Sc = input.int(75,"Sobre Compra",minval=68,maxval=80) //ENTRADA DE SOBRE COMPRA DE RSI
rsi_Sv = input.int(25,"Sobre Venta",minval=20,maxval=33) //ENTRADA DE SOBRE VENTA DE RSI
rsi= ta.rsi(close,per_Rsi)//guardo el rsi con los paramentros anteriores en una variable

//logica
MayorPromedio =   Promedio + 0.800
plot(MayorPromedio, color = color.green)

Venta =   bodyPercent > 80   and VelaDeFuerza > Promedio * 2  and close < close[1]
Compra =   bodyPercent > 80  and VelaDeFuerza > Promedio * 2 and close > close[1]


precioVenta = Venta? close : na
precioCompra = Compra? close : na

tp1 = 0.00
sl  = 0.00
tp1 := 0.003
sl := 0.010

TP1short = precioVenta - (precioVenta * tp1)
Slshort = precioVenta + (precioVenta * sl)

TP1long = precioCompra + (precioCompra * tp1)
SLlong = precioCompra - (precioCompra * sl)


name1 = "tp1"
name2 = "tp2"
name3= "SL"




if ( precioVenta ) 
    strategy.entry("short", strategy.short , comment = "Sell  SL: " + str.tostring(Slshort, "0.000")  + " TP1: " + str.tostring(TP1short,"0.000") ) 
    strategy.exit("exit" , "short", stop = Slshort , limit = TP1short ,qty_percent = 100 )  
if ( precioCompra ) 
    strategy.entry("long", strategy.long , comment = "Buy   SL: " + str.tostring(SLlong, "0.000")  + " TP1: " + str.tostring(TP1long,"0.000") )
    strategy.exit("exit" , "long", stop = SLlong  , limit = TP1long ,qty_percent = 100 )

もっと