デュアルインジケーター反転買いポイント戦略


作成日: 2024-01-04 17:39:13 最終変更日: 2024-01-04 17:39:13
コピー: 1 クリック数: 531
1
フォロー
1621
フォロワー

デュアルインジケーター反転買いポイント戦略

概要

この戦略は,取引量とRSIの指標を組み合わせて購入のタイミングを決定し,ストップ・ストップの目標を段階的に利益を得るようにセットする順位を管理する.この戦略は,ショッキングな状況に適用され,小幅下落のショッキングで繰り返される買い物を効果的にロックすることができます.

戦略原則

この戦略は,2つの指標を使用して買い時を識別します:取引量とRSI. 具体的な論理は,取引量が最近の70日間の取引量の平均値の2.5倍を超え,同時にRSIが30 (超売りレベル) 未満であるとき,買い信号を発信することです.

一旦買入ポジションが確立すると,この戦略は5つの異なるストップ目標を設定し,ポジションの割合に従って徐々にストップし,20%, 40%, 60%, 80%, 100%まで全ポジションを平仓にする.同時に5%のストップ・ロスを設定する.

このように,小幅の上昇を,小幅の上昇を,小幅の上昇を,小幅の上昇を,小幅の上昇を,小幅の上昇を,小幅の上昇を,小幅の上昇を,小幅の上昇を,小幅の上昇を,小幅の上昇を,小幅の上昇を,小幅の上昇を,小幅の上昇を,小幅の上昇を,小幅の上昇を,小幅の上昇を,小幅の上昇を,小幅の上昇を,小幅の上昇を,小幅の上昇を,小幅の上昇を,小幅の上昇を,小幅の上昇を,小幅の上昇を,小幅の上昇を,小幅の上昇を,小幅の上昇を,小幅の上昇を,小幅の上昇を,小幅の上昇を,小幅の上昇を,小幅の上昇を,小幅の上昇を,小幅の上昇を,小幅の上昇を,小幅の上昇を,小幅の上昇を,小幅の上昇を,小幅の上昇を,小幅の上昇を,小幅の上昇を,小

優位分析

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

  1. ダブル指標を使用して買点を識別し,偽ブレークを回避する.取引量拡大は底面の承受度を確認し,RSI超売りはAddon反発確率を判断する.

  2. バッチストップ戦略は,小規模な変動の利得の機会を最大限に引き込めるため,大幅な上昇を待たずに利得を得ることができます.

  3. 変動状況,特に価格が機関未完成領域で繰り返し横断する市場に適用する.このような市場は短期的に方向を決定することが困難であるため,この戦略は頻繁に利益をもたらすことができる.

  4. ストップ・ロスの設定は広く,市場に十分な意思決定の余地を与えます.短期的な価格調整によって5分の平仓を回避します.

リスク分析

この戦略の主なリスクは

  1. 双重指標は,誤判の危険があることを確認し,偽の突破点位を購入する可能性がある.パラメータ最適化によってリスクを減らすことができる.

  2. 区切りストップは,ポジションが小さすぎるため大きなチャンスを逃す可能性があります. ストップポイント位置とポジション比率を調整することによって最適化できます.

  3. 止損幅が大きい場合,単一の損失が大きい可能性があります. ポジション数管理のリスクを減らすことができます.

  4. 揺れ市場には,強気市場には大きな方向性リスクがある。大レベルの市場構造に注意する必要がある。

  5. 取引頻度が高いと取引コストが上がる. 低手数料の取引プラットフォームを選ぶ.

最適化の方向

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

  1. 取引量とRSIパラメータの組み合わせを最適化し,誤判率を下げます. MACD,KDJなどの他の指標を導入することも確認できます.

  2. 異なるストップ幅とポジション比率をテストし,最適のパラメータの組み合わせを見つけます.また,ダイナミックストップメカニズムを導入することもできます.

  3. ポジション管理戦略を最適化し,リスクポジション管理システムを通じて単発損失の確率を減らす.

  4. トレンド判断モジュールが追加され,トレンドの転換を認識し,時宜で止めてしまう.過度に受動的なポジションを避ける.

  5. アルゴリズム取引と量化反射システムを導入し,異なるパラメータを素早く回り,最適なパラメータの組み合わせを探します.

  6. 機関レベルの高頻度取引戦略の滑点制御とコスト制御モデルを借用して,取引回数を減らすと同時に収益率を保証する.

要約する

この二重指標は買いポイント戦略を反転させ,取引量量量度加えRSI超売り判断を下回し,分期利息の方法を採用して,震動的な状況での小さな利益をロックする.優点は,頻繁に利益を得ることであり,大きな動きを待つ必要はありません.欠点は,誤判しやすいシグナルと高い取引頻度である.複数の指標を最適化することで,シグナル品質を確認し,リスク管理とコスト管理によって戦略の安定性を高める.この戦略は,短期間のロッキングの小さな利益に適しています.

ストラテジーソースコード
/*backtest
start: 2023-12-27 00:00:00
end: 2024-01-03 00:00:00
period: 1m
basePeriod: 1m
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/
// © wielkieef

//@version=5

strategy(title='BTFD strategy [3min]', overlay=true, pyramiding=5, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills=false, slippage=0, commission_type=strategy.commission.percent, commission_value=0.03)


// Volume

vol_sma_length = input.int(70, title='Volume lenght  ', minval=1)
Volume_condt = volume > ta.sma(volume, vol_sma_length) * 2.5


// Rsi

rsi_lenght = input.int(20, title='RSI lenght', minval=0)
rsi_up = ta.rma(math.max(ta.change(close), 0), rsi_lenght)
rsi_down = ta.rma(-math.min(ta.change(close), 0), rsi_lenght)
rsi_value = rsi_down == 0 ? 100 : rsi_up == 0 ? 0 : 100 - 100 / (1 + rsi_up / rsi_down)

rsi_overs = rsi_value <= 30
rsi_overb = rsi_value >= 70


// logic

tp_1 = input.float(0.4,"  TP 1", minval=0.1, step=0.1)
tp_2 = input.float(0.6,"  TP 2", minval=0.2, step=0.1)
tp_3 = input.float(0.8,"  TP 3", minval=0.3, step=0.1)
tp_4 = input.float(1.0,"  TP 4", minval=0.4, step=0.1)
tp_5 = input.float(1.2,"  TP 5", minval=0.5, step=0.1)

q_1 = input.int(title='  % TP 1 Q ', defval=20,  minval=1, step=10)
q_2 = input.int(title='  % TP 2 Q ', defval=40,  minval=1, step=10)
q_3 = input.int(title='  % TP 3 Q ', defval=60,  minval=1, step=10)
q_4 = input.int(title='  % TP 4 Q ', defval=80,  minval=1, step=10)
q_5 = input.int(title='  % TP 5 Q ', defval=100, minval=1, step=10)

sl = input.float(5.0, '% Stop Loss', step=0.1)

long_cond = Volume_condt and rsi_overs

// this code is from author RafaelZioni, modified by wielkieef
per(procent) =>
    strategy.position_size != 0 ? math.round(procent / 100 * strategy.position_avg_price / syminfo.mintick) : float(na)
// --------------------------------------------------------------------------------------------------------------------

if  long_cond
    strategy.entry('BUY', strategy.long)

strategy.exit('TP 1', qty_percent=q_1, profit=per(tp_1), loss=per(sl) )
strategy.exit('TP 2', qty_percent=q_2, profit=per(tp_2), loss=per(sl) )
strategy.exit('TP 3', qty_percent=q_3, profit=per(tp_3), loss=per(sl) )
strategy.exit('TP 4', qty_percent=q_4, profit=per(tp_4), loss=per(sl) )
strategy.exit('TP 5', qty_percent=q_5, profit=per(tp_5), loss=per(sl) )

 
// by wielkieef