この戦略は"Fast RSIとキャンドルスティックカラーに基づいた逆転戦略"と呼ばれる.両方が同時信号を与えるときに逆転取引を入力し,トレンド方向を決定するために,過剰購入/過剰販売レベルとキャンドルスティックカラーを判断するために,急速なRSIを使用する.
急速なRSIは,より小さなパラメータを持ち,価格過剰購入/過剰販売状態をより迅速に検出することができます. RSIが30以下では過剰販売状態を示唆しますが,70以上は過剰購入です.
ランプの色は 白い色がオープンに近い価格の閉店を示し 緑色は上昇し 赤色は価格の低下を表します
取引の論理は
急速なRSIが過剰売り上げを示し 4つの連続した赤いキャンドルが表示された場合,それはロングに行くための強力な逆転信号とみなされます.
RSIが急上昇し 4本の緑色のキャンドルが表示されると ショートシートへの強い逆転の機会を示します
すでにロングポジションを保持している場合は,緑色のキャンドルが1つ表示されたときに終了します.ショートポジションを保持している場合は,赤色のキャンドルが1つ表示されたときに終了します.
この戦略の利点は,逆転信号を正確に決定するために指標コンボを使用することです. しかし,重いポジションサイズ化のために厳格なマネーマネジメントが必要です.ストップ・ロスは重要です.
概要すると,リバース取引は,タイミングを正確に識別する指標に依存する.RSIプラスキャンドルスティック情報の合理的な適用は,戦略のパフォーマンスを改善することができます.しかし,単一の戦略は完璧ではありません.トレーダーは依然として柔軟な取引マインドセットを維持する必要があります.
/*backtest start: 2022-09-06 00:00:00 end: 2023-01-20 00:00:00 period: 4d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //Noro //2018 //@version=2 strategy(title = "Noro's Hundred Strategy v1.0", shorttitle = "Hundred str 1.0", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0) //Settings needlong = input(true, defval = true, title = "Long") needshort = input(true, defval = true, title = "Short") lev = input(5, defval = 5, minval = 1, maxval = 100, title = "leverage") onlyprofit = input(true, defval = true, title = "Only Profit") fast = input(7, defval = 7, minval = 2, maxval = 50, title = "Fast RSI Period") limit = input(30, defval = 30, minval = 1, maxval = 100, title = "RSI limit") rsisrc = input(close, defval = close, title = "RSI Price") rsibars = input(1, defval = 1, minval = 1, maxval = 20, title = "RSI Bars") cbars = input(4, defval = 4, minval = 1, maxval = 20, title = "Color Bars") fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year") toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year") frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month") tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month") fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day") today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day") //Fast RSI fastup = rma(max(change(rsisrc), 0), fast) fastdown = rma(-min(change(rsisrc), 0), fast) fastrsi = fastdown == 0 ? 100 : fastup == 0 ? 0 : 100 - (100 / (1 + fastup / fastdown)) //Limits bar = close > open ? 1 : close < open ? -1 : 0 uplimit = 100 - limit dnlimit = limit //RSI Bars upsignal = fastrsi > uplimit ? 1 : 0 dnsignal = fastrsi < dnlimit ? 1 : 0 uprsi = sma(upsignal, rsibars) == 1 dnrsi = sma(dnsignal, rsibars) == 1 //Signals long = strategy.position_size >= 0 short = strategy.position_size <= 0 up = sma(bar, cbars) == -1 and long and dnrsi dn = sma(bar, cbars) == 1 and short and uprsi profit = (strategy.position_size > 0 and close > strategy.position_avg_price) or (strategy.position_size < 0 and close < strategy.position_avg_price) or onlyprofit == false exit = ((strategy.position_size > 0 and bar == 1) or (strategy.position_size < 0 and bar == -1)) and profit lot = strategy.position_size == 0 ? strategy.equity / close * lev : lot[1] //Trading if up if strategy.position_size < 0 strategy.close_all() strategy.entry("Long", strategy.long, needlong == false ? 0 : lot) if dn if strategy.position_size > 0 strategy.close_all() strategy.entry("Short", strategy.short, needshort == false ? 0 : lot) if time > timestamp(toyear, tomonth, today, 23, 59) or exit strategy.close_all()