売られすぎRSI追跡戦略


作成日: 2023-09-26 16:11:55 最終変更日: 2023-09-26 16:11:55
コピー: 1 クリック数: 737
1
フォロー
1617
フォロワー

概要

この戦略は,RSIの指標を使用して,暗号通貨が超低状態にあるかどうかを判断し,RSIが30を下回ると超低とみなされ,購入し,その後,ストップ・ロスの価格を設定し,ストップ・ロスの価格に達するとストップ・ロスを販売し,ストップ・ロスの価格に達するとストップ・ロスを販売する.

戦略原則

  1. この戦略は,入場時刻を判断するためにRSI指標を使用する. RSI指標は,価格の変化の速度と幅を計算して,資産が過買または過売りであるかどうかを判断する技術分析指標である. RSI値は0から100の範囲で,一般的にはRSIが70を超えると超買区,RSIが30を下ると超売り区とみなされる.

  2. RSIが30を下回ったとき,超下落と判断し,買い出しを多めにします.

  3. ポジション開設後,ストップ・ロズとストップ・価格を設定する. ストップ・ロズ価格は入場価格の1%未満で,ストップ・ロズ価格は入場価格の7%以上である.

  4. 価格がストップ価格を下回ったらストップ・アウト;価格がストップ・価格を超えたらストップ・アウト.

戦略的優位分析

  1. RSI指標の判断で超下を判断し,購入のタイミングを判断し,価格が低点まで落ちるときに購入し,より良い入場価格を得ることができます.

  2. ストップ・ロスが設定されれば,単一損失をコントロールできる.ストップ・ロスの幅は小さいので,一定回調を耐えることができる.

  3. ストップを設定すると,利益がロックされ,上昇を逃さない. ストップ幅が大きいので,利益が最大化されます.

  4. この戦略は,撤回制御の能力が高く,リスクは低い.

戦略的リスク分析

  1. RSIが超下落信号を発したということは,必ずしも価格の逆転を意味するものではなく,さらに下落してストップ・損失を引き起こす可能性がある.

  2. 止損幅が小さすぎ,回調が大きすぎると秒止損されるかもしれない。

  3. 投資家は,投資先の利益の減少を予測し,投資家の利益の減少を予測し,投資家の利益の減少を予測し,投資家の利益の減少を予測する.

  4. この戦略は,取引がうまくいかない場合,大きな損失を招く可能性があります.

戦略最適化の方向性

  1. 他の指標と組み合わせてRSI超低信号を確認し,誤った信号を避ける.例えばKDJ指標など.

  2. 異なる通貨の波動度に応じて適切なストップ・ロスト・アップ幅を設定できます.

  3. 異なる時間周期のパラメータ設定をテストし,最適なパラメータ組み合わせを探します.

  4. ポジションの大きさは,フィードバックの結果によって最適化できます.

要約する

この戦略は,全体的に比較的安定した超下追及戦略である. RSI指標を使用して超下を判断し,比較的低い位置で買い物をすることができる. リスクを制御し,利益をロックするためにストップ・ロスを設定することができる. この戦略は,制御可能な引き戻しで,長線保有に適している.

ストラテジーソースコード
/*backtest
start: 2023-09-18 00:00:00
end: 2023-09-25 00:00:00
period: 15m
basePeriod: 5m
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/
// © brodieCoinrule

//@version=4
strategy(shorttitle='Oversold RSI with tight SL',title='Oversold RSI with tight SL Strategy (by Coinrule)', overlay=true, initial_capital = 1000, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 50, commission_type=strategy.commission.percent, commission_value=0.1)
//Backtest dates
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 1,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2020, title = "From Year",       type = input.integer, minval = 1970)
thruMonth = input(defval = 1,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 12)
thruDay   = input(defval = 1,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 31)
thruYear  = input(defval = 2112, title = "Thru Year",       type = input.integer, minval = 1970)

showDate  = input(defval = true, title = "Show Date Range", type = input.bool)

start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => true       // create function "within window of time"

perc_change(lkb) =>
    overall_change = ((close[0] - close[lkb]) / close[lkb]) * 100



// RSI inputs and calculations
lengthRSI = 14
RSI = rsi(close, lengthRSI)
oversold= input(30)


//Entry 
strategy.entry(id="long", long = true, when = RSI< oversold and window())

//Exit
Stop_loss= ((input (1))/100)
Take_profit= ((input (7)/100))

longStopPrice  = strategy.position_avg_price * (1 - Stop_loss)
longTakeProfit = strategy.position_avg_price * (1 + Take_profit)

strategy.close("long", when = close < longStopPrice or close > longTakeProfit and window())