この戦略は,技術指標の組み合わせに基づいたトレンドフォロー戦略であり,主にRSIオーバーバイト/オーバーセール条件,EMAクロスオーバー,ダイナミックストップロスの取引を使用している.この戦略は,リターンを増幅するためにレバレッジと組み合わせて1.5%のリスク制御を使用している.その核心は,資本を保護するためにダイナミックなテイク・プロフィートとストップロスのレベルを使用しながら,複数の技術指標を通じてトレンドを確認することである.この戦略は,迅速かつ頻繁な取引に適した小型口座の特徴のために特別に設計されている.
この戦略は,RSI (相対強度指数),EMA (指数移動平均値),ATR (平均真の範囲) の3つの主要な技術指標を使用している.エントリーシグナルは,短期EMA (9期) と長期EMA (21期) のクロスオーバーによって確認され,RSIが合理的な範囲内である必要があります (長RSI<70,短RSI>30).この戦略は,ATRベースのダイナミックストップ・ロスを採用し,ストップ・ロスの4倍に設定されたメリット・テイクレベルを使用して,リスクを制御しながら利益保護を可能にします.各取引は,潜在的な利益を増強するために2倍レバレッジを使用して,口座の1.5%をリスクします.
これは,トレード成功率を改善するために複数の技術指標を使用する,よく設計されたトレンドフォロー戦略である.この戦略は,小規模なアカウントに適した包括的なリスク管理メカニズムを備えている.しかし,ライブトレーディングでは,異なる市場の状態に適応するために,適時なパラメータ調整で,変化する市場状況に注意を払わなければならない.ライブ実装の前に徹底的なバックテストを行い,小規模なポジションを使用して戦略の特徴に徐々に適応することを推奨する.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-04 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Aggressive Scalper Strategy", overlay=true) // Parameters account_balance = input.float(28.37, title="Account Balance", tooltip="Update this with your balance") risk_per_trade = input.float(0.015, title="Risk per Trade", tooltip="1.5% risk") leverage = input.int(2, title="Leverage", minval=1) stop_loss_percentage = input.float(0.015, title="Stop Loss Percentage", tooltip="1.5% stop loss") take_profit_multiplier = input.float(4, title="Take Profit Multiplier", tooltip="Take Profit is 4x Stop Loss") stop_loss_multiplier = input.float(2, title="Stop Loss Multiplier", tooltip="Dynamic Stop Loss Multiplier") // Trade Size Calculation position_size = account_balance * risk_per_trade / (stop_loss_percentage / leverage) trade_qty = position_size / close // This gives you the qty in terms of contracts // Indicators rsiLength = input.int(14, title="RSI Length") emaShort = input.int(9, title="Short-term EMA Length") emaLong = input.int(21, title="Long-term EMA Length") rsi = ta.rsi(close, rsiLength) emaShortLine = ta.ema(close, emaShort) emaLongLine = ta.ema(close, emaLong) // Entry Conditions longCondition = ta.crossover(emaShortLine, emaLongLine) and rsi < 70 shortCondition = ta.crossunder(emaShortLine, emaLongLine) and rsi > 30 // ATR for dynamic stop loss and take profit levels atrLength = input.int(14, title="ATR Length") atrMultiplier = input.float(1.5, title="ATR Multiplier") atr = ta.atr(atrLength) // Dynamic Take Profit and Stop Loss Levels longTakeProfitLevel = close + (atr * take_profit_multiplier) longStopLossLevel = close - (atr * stop_loss_multiplier) shortTakeProfitLevel = close - (atr * take_profit_multiplier) shortStopLossLevel = close + (atr * stop_loss_multiplier) // Strategy Execution if (longCondition) strategy.entry("Long", strategy.long, qty=trade_qty) strategy.exit("Take Profit/Stop Loss", from_entry="Long", limit=longTakeProfitLevel, stop=longStopLossLevel) if (shortCondition) strategy.entry("Short", strategy.short, qty=trade_qty) strategy.exit("Take Profit/Stop Loss", from_entry="Short", limit=shortTakeProfitLevel, stop=shortStopLossLevel) // Alert Conditions alertcondition(longCondition, title="Buy Signal", message="Long position entry signal detected.") alertcondition(shortCondition, title="Sell Signal", message="Short position entry signal detected.") // Display Information on Chart var table_info = table.new(position.top_right, 2, 2, frame_color=color.blue, frame_width=1) if (bar_index == na) table.cell(table_info, 0, 0, text="Aggressive Scalper", bgcolor=color.blue) table.cell(table_info, 1, 0, text="Account Balance: $" + str.tostring(account_balance), text_color=color.white) table.cell(table_info, 1, 1, text="Risk per Trade: " + str.tostring(risk_per_trade * 100) + "%", text_color=color.white) table.cell(table_info, 0, 1, text="Leverage: " + str.tostring(leverage) + "x", text_color=color.white)