この戦略は,複数の移動平均値とRSIを組み合わせて取引を行う.より速いEMAがより遅いEMAを下回り,RSIが過剰に売れていることが確認された場合,ショートになります.
論理的には
異なる期間の 4 つの EMA を計算します.例えば 9, 26, 100 および 55 期間の EMA
9 期間の EMA が 26 期間の EMA 以下の値を超えるとショート信号が発信されます
RSI が値を下回る場合 (例えば 40) のみショートアクティベーションを行う.
短いエントリー後,価格が55または100 EMAを超えると終了
パラメータ最適化のために異なるEMA組み合わせを設定できます.
この戦略はトレンドのために複数の EMA を利用し,信号確認のために RSI を追加し,過売りレベルではショートになります.
複数のEMAは正確性を向上させる
RSI は 過売度 の 跳ね返り リスク を 避ける
ストップ・ロスの EMA は,エントリーで速く,ストップ・ロスの EMA は遅い.
最適なパラメータを見つけるために広範な試験が必要
RSI パラメータの注意深く評価
短く,長い機会を逃した
この戦略は,複数のEMAの力を RSIの確認とフィルタリングと組み合わせます.パラメータ最適化とストップロスは重要です.しかし,ショートのみであることは重要な制限です.
/*backtest start: 2023-08-14 00:00:00 end: 2023-09-13 00:00:00 period: 3h 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/ // © YukalMoon //@version=5 strategy(title="EMA SCALPEUR", overlay=true, initial_capital = 1000) //// input controls EMA_L = input.int (title = "EMA_L", defval = 9, minval = 1, maxval = 100, step =1) EMA_L2 = input.int (title = "EMA_L2", defval = 26, minval = 1, maxval = 100, step =1) EMA_S = input.int (title = "EMA_S", defval = 100, minval = 1, maxval = 100, step =1) EMA_S2 = input.int (title = "EMA_S2", defval = 55, minval = 1, maxval = 100, step =1) RSI1 = input.int (title = "RSI", defval = 5, minval = 1, maxval = 20 , step = 1) /// mise en place de ema RSI = ta.rsi(close, RSI1) shortest = ta.ema(close, 9) short = ta.ema(close, 26) longer = ta.ema(close, 100) longest = ta.ema(close, 55) plot(shortest, color = color.red) plot(short, color = color.orange) plot(longer, color = color.aqua) plot(longest, color = color.yellow) plot(close) //// trading indicators EMA1 = ta.ema (close,EMA_L) EMA2 = ta.ema (close,EMA_L2) EMA3 = ta.ema (close, EMA_S) EMA4 = ta.ema (close, EMA_S2) //buy = ta.crossover(EMA1, EMA2) and RSI > 60 and RSI <70 sell = ta.crossunder(EMA1, EMA2) and RSI > 40 //buyexit = ta.crossunder(EMA3, EMA4) sellexit = ta.crossover(EMA3, EMA4) /////strategy strategy.entry ("short", strategy.short, when = sell, comment = "ENTER-SHORT") ///// market exit strategy.close ("short", when = sellexit, comment = "EXIT-SHORT")