
この戦略は,相対的に強い指数 ((RSI) の指標に基づいて,RSI値と想定された超買と超売りの値を分析することによって,XAUUSDで取引シグナルを生成する. RSI値が超売りの値を下回るときに多頭ポジションを開き,RSI値が超買の値を破るときに空頭ポジションを開く. この戦略は,リスクを管理するために,止損を追跡し,口座権益比に基づくポジション管理も採用する.
この戦略は,RSI指標をベースに,オーバーバイとオーバーセルの状態を捉え,XAUUSDで取引シグナルを生成する.戦略の論理は単純で実行しやすいが,実際のアプリケーションでは,戦略の安定性と収益性を向上させるために,取引シグナル,動的調整パラメータ,停止メカニズムとリスク管理の最適化などの側面を考慮する必要がある.継続的な最適化と改善により,この戦略は参考に値する量化取引戦略になり得る.
/*backtest
start: 2024-03-18 00:00:00
end: 2024-04-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Ds_investimento", overlay=true)
// Parâmetros do RSI
rsi_length = input(7, title="Período do RSI")
rsi_overbought = input(70, title="Overbought (RSI)")
rsi_oversold = input(30, title="Oversold (RSI)")
// Parâmetros do Trailing Stop
trail_offset = input(0.005, title="Trailing Stop Offset")
stop_loss_points = input(10, title="Pontos do Stop Loss")
// Porcentagem da banca a ser arriscada por entrada
risk_percent = input(1, title="Porcentagem de Risco (%)")
// Calcula o tamanho da posição com base na porcentagem de risco, tamanho da banca e pontos de stop loss
equity = strategy.equity
risk_amount = (equity * risk_percent) / 100
lot_size = risk_amount / stop_loss_points
// Calcula o RSI
rsi_value = rsi(close, rsi_length)
// Condições de entrada e saída
long_condition = crossunder(rsi_value, rsi_oversold)
short_condition = crossover(rsi_value, rsi_overbought)
if (long_condition)
strategy.entry("Long", strategy.long, 1)
if (short_condition)
strategy.entry("Short", strategy.short, 1)
// Calcula o Trailing Stop para saída
trail_price_long = close * (1 - trail_offset)
trail_price_short = close * (1 + trail_offset)
// Saída Long/Trailing
strategy.exit("Exit Long/Trailing", from_entry="Long", trail_offset=trail_offset, trail_price=trail_price_long, stop=stop_loss_points)
// Saída Short/Trailing
strategy.exit("Exit Short/Trailing", from_entry="Short", trail_offset=trail_offset, trail_price=trail_price_short, stop=stop_loss_points)