
この戦略は,EMAとRSIの指標を組み合わせて,ビットコインの短線調整の機会を識別する.これは主にEMAを主グラフとして,RSIを補助判断指標として使用し,より明らかな調整形状を探します.価格がEMA均等線を下回り,または再立ち上がったときに取引信号を生成します.それは同時に,ストップとストップの制御を持ち,パラメータを最適化することができます.
この戦略は,主に50周期のEMA線と25周期のRSI指標を使用しています.EMA線は,主要なグラフィック指標として見られており,RSIは,超買超売を判断し,取引シグナルを生成するのに役立ちます.価格が上下からEMA線を突破すると,販売シグナルを生成します.価格が上下からEMA線を突破し,RSI指標は,超買シグナルを示さない場合 (RSI指標は70未満).購入シグナルを生成します.
取引入場後,戦略は同時にストップ・ロズとストップ・ストップの位置を設定する. ストップ・ロズ距離は設定可能で,デフォルトは5.1%; ストップ・ロズ距離も設定可能で,デフォルトは9.6%である. これは,単一損失の最大値を効果的に低減する.
全体として,この戦略は,主にEMA線形に依拠し,RSI指標に補足され,超買超売を避ける一方で,BTビットコインのショートライン調整の捕捉に適したストップ・ストップ・コントロールを備えている.
この戦略の利点は以下の通りです.
策略信号はより明確で,乱入があまり発生しない.EMAとRSIの組み合わせを使用することで,信号はより明確で信頼性が高く,単一の指標にのみ依存しない.
戦略自帯の止損停止制御.これは,各個損失を効果的に制御できる,非常に重要なリスク管理手段である.
戦略パラメータは最適化できます. EMA長さ,RSI長さなどのパラメータは調整できます. ユーザーは異なる市場のために最適なパラメータの組み合わせを見つけることができます.
策略は反省を許します. 策略を検証するために,直接策略内で反省の時間範囲を設定できます.
この戦略にはいくつかのリスクがあります.
BTビットコインの市場情勢は激しく,止損は突破される可能性がある.戦略が止損を設定したにもかかわらず,ビットコインの大市場情勢では,価格が大きく動いて,止損ラインは直接突破される可能性がある.この場合,大きな損失をもたらす.
撤回リスク。戦略は,全体的な撤回制御を考慮していない。比較的長い調整状況に直面した場合,戦略は一定の撤回を生む。
大市場では信号効果が劣る.比較野生の大市場では,BTビットコイン価格が比較的大きく,長い波の動きがある.このとき,短期的な信号効果が劣るので,容易に騙される.
これらのリスクに対して,以下のような対策を講じ,管理・緩和することができます.
適切な緩解の止損幅度.大行情の場合,適切な緩解の止損距離を,例えば,約10%に拡大して,止損が突破し易くならないようにする.
他の指標のフィルターと組み合わせて. 均線多頭並びなどのトレンド指標を添加することができ,長期の調整状況でこの戦略を使用することを避ける.
パラメータセットの最適化 異なる市場段階のパラメータ設定をテストし,複数のパラメータ組み合わせを構築し,大行情が来る時にパラメータを切り替えて信号の質を向上させることができる.
この戦略は,以下のような側面からさらに最適化できる.
全体の撤回制御を増やす.最大撤回比率を設定できます.例えば,20%,その撤回に達すると,戦略で取引を一時停止し,過度の損失を避ける.
ポジション開設頻度制御を増やす.戦略単位時間におけるポジション開設回数を制限できる.例えば,毎時間最大2回,過度に頻繁な取引を避ける.
パラメータ設定の最適化 異なる市場状況下でのパラメータの組み合わせをテストし,複数のパラメータテンプレートを作成し,リアルタイムで現在の状況に応じて適切なパラメータを選択することで,戦略の効果を向上させることができます.
他の指標の組み合わせで使用する.この戦略は,トレンド,波動率などの他の指標の組み合わせで使用され,より包括的で信頼性の高い取引システムへの入場基盤を形成することができる.
全体として,この戦略は主にBTビットコインの短期調整形状に依存し,EMAとRSIを利用して比較的明確な取引信号を生成し,同時に,BT短期滑りによるレバレッジの機会を有効に把握できるストップ・ロスト・コントロールを有している.しかし,この戦略は,ショートラインの補助ツールとしてより適している.他の戦略の組み合わせが使用された場合,効果はより良くなり,比較的安定した余剰利益を生成することができる.
/*backtest
start: 2023-11-06 00:00:00
end: 2023-12-06 00:00:00
period: 1h
basePeriod: 15m
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/
// © mmoiwgg
//@version=4
strategy(title="EMA+RSI Pump & Drop Swing Sniper (With Alerts & SL+TP) - Strategy", shorttitle="EMA+RSI Swing Strategy", overlay=true)
emaLength = input(title="EMA Length", type=input.integer, defval=50, minval=0)
emarsiSource = input(close, title="EMA+RSI Source")
condSource = input(high, title="Long+Short Condition Source")
emaVal = ema(emarsiSource, emaLength)
rsiLength = input(title="RSI Length", type=input.integer, defval=25, minval=0)
rsiVal = rsi(emarsiSource, rsiLength)
//Safety
emaLength2 = input(title="Safety EMA Length", type=input.integer, defval=70, minval=0)
emaSource2 = input(close, title="Safety EMA Source")
ema = ema(emaSource2, emaLength2)
emaColorSource2 = close
emaBSource2 = close
// Backtest+Dates
FromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
FromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
FromYear = input(defval = 2019, title = "From Year", minval = 2017)
ToMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear = input(defval = 9999, title = "To Year", minval = 2017)
showDate = input(defval = true, title = "Show Date Range", type = input.bool)
start = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window
finish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest end window
window() => time >= start and time <= finish ? true : false // create function - add window() to entry/exit/close
// Conditions
exit_long = crossover(emaVal, condSource)
longCond = crossunder(emaVal, condSource) and close > ema
//Stoploss + TakeProfit
sl = input(0.051, step=0.001, title="Stop Loss")
tp = input(0.096, step=0.001, title="Take Profit")
// Plots Colors
colors = emarsiSource > emaVal and rsiVal > 14 ? color.green : color.red
emaColorSource = input(close, title="Line Color Source")
emaBSource = input(close, title="Line Color B Source")
// Plots
plot(ema, color=emaColorSource2[1] > ema and emaBSource2 > ema ? color.green : color.red, linewidth=1)
plot(emaVal, color=emaColorSource[1] > emaVal and emaBSource > emaVal ? color.green : color.red, linewidth=3)
plotcandle(open, high, low, close, color=colors)
//Strategy Entry+Exits
strategy.entry("long",1,when=window() and longCond)
strategy.close("long",when=window() and exit_long)
strategy.exit("long tp/sl", "long", profit = close * tp / syminfo.mintick, loss = close * sl / syminfo.mintick)