
A estratégia utiliza uma abordagem de negociação diária consistente, com foco em capturar pequenos lucros-alvo enquanto se controla rigorosamente o risco. A estratégia foi retrospectiva desde 2021 e apresentou um desempenho robusto, com uma taxa de vitória de negociação de 100%. A ideia principal da estratégia é abrir novas posições de capital aberto ou de capital aberto no início de cada dia de negociação, com base na situação do mercado do dia anterior.
O princípio central da estratégia é basear-se no movimento do mercado no dia de negociação anterior, abrindo novas posições em ativos ou em ativos vazios no início de cada dia de negociação. Concretamente, se não houver nenhuma posição no dia anterior, a estratégia abrirá uma posição em ativos vazios no início de um novo dia.
A estratégia de negociação diária tem várias vantagens significativas:
Apesar do excelente desempenho e controle de risco da estratégia, existem alguns riscos potenciais:
Para mitigar esses riscos, pode-se considerar aumentar a diversificação, aplicando estratégias semelhantes em diferentes mercados e classes de ativos. Também é importante monitorar e ajustar regularmente os parâmetros da estratégia para se adaptar a condições de mercado em constante mudança.
Em geral, esta estratégia de negociação diária oferece uma abordagem equilibrada para a negociação diária, com foco no gerenciamento de risco e lucro contínuo. É adequada para os comerciantes que buscam uma abordagem de negociação sistemática e rigorosa. A estratégia apresenta resultados de retorno impressionantes, 100% de vitória e um retorno robusto após o ajuste de risco.
/*backtest
start: 2023-05-22 00:00:00
end: 2024-05-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Daily AUD-JPY Trading", overlay=true, initial_capital=1000, currency="AUD", default_qty_type=strategy.percent_of_equity, default_qty_value=200, commission_type=strategy.commission.percent, commission_value=0.1)
// Input parameters
profit_target = input(0.3, title="Profit Target (%)") / 100
loss_target = input(0.2, title="Loss Target (%)") / 100
start_year = input(2021, title="Start Year")
// Calculate daily open and close
new_day = ta.change(time("D"))
var float entry_price_long = na
var float entry_price_short = na
var bool position_long_open = false
var bool position_short_open = false
// Date check
trade_start = timestamp(start_year, 1, 1, 0, 0)
if new_day and time >= trade_start
// If there was a previous long position, check for profit target
if position_long_open
current_profit_long = (close - entry_price_long) / entry_price_long
if current_profit_long >= profit_target
strategy.close("AUD Trade Long", comment="Take Profit Long")
position_long_open := false
// If there was a previous short position, check for profit target
if position_short_open
current_profit_short = (entry_price_short - close) / entry_price_short
if current_profit_short >= profit_target
strategy.close("AUD Trade Short", comment="Take Profit Short")
position_short_open := false
// Check for daily loss condition for short positions
if position_short_open
current_loss_short = (close - entry_price_short) / entry_price_short
if current_loss_short <= -loss_target
strategy.close("AUD Trade Short", comment="Stop Loss Short")
position_short_open := false
// Open a new long position to replace the stopped short position
strategy.entry("AUD Trade Long Replacement", strategy.long)
entry_price_long := close
position_long_open := true
// Open a new long position at the start of the new day if no long position is open
if not position_long_open and not position_short_open
strategy.entry("AUD Trade Long", strategy.long)
entry_price_long := close
position_long_open := true
// Open a new short position at the start of the new day if no short position is open
if not position_short_open and not position_long_open
strategy.entry("AUD Trade Short", strategy.short)
entry_price_short := close
position_short_open := true
// Check for continuous profit condition for long positions
if position_long_open
current_profit_long = (close - entry_price_long) / entry_price_long
if current_profit_long >= profit_target
strategy.close("AUD Trade Long", comment="Take Profit Long")
position_long_open := false
// Check for continuous profit condition for short positions
if position_short_open
current_profit_short = (entry_price_short - close) / entry_price_short
if current_profit_short >= profit_target
strategy.close("AUD Trade Short", comment="Take Profit Short")
position_short_open := false
// Plot the entry prices on the chart
plot(position_long_open ? entry_price_long : na, title="Entry Price Long", color=color.green, linewidth=2)
plot(position_short_open ? entry_price_short : na, title="Entry Price Short", color=color.red, linewidth=2)
// Display current profit/loss percentage for long positions
var label profit_label_long = na
if position_long_open and not na(entry_price_long)
current_profit_long = (close - entry_price_long) / entry_price_long * 100
label.delete(profit_label_long)
profit_label_long := label.new(x=time, y=high, text="Long P/L: " + str.tostring(current_profit_long, format.percent), style=label.style_label_down, color=color.white, textcolor=color.black,xloc=xloc.bar_time)
// Display current profit/loss percentage for short positions
var label profit_label_short = na
if position_short_open and not na(entry_price_short)
current_profit_short = (entry_price_short - close) / entry_price_short * 100
label.delete(profit_label_short)
profit_label_short := label.new(x=time, y=high, text="Short P/L: " + str.tostring(current_profit_short, format.percent), style=label.style_label_down, color=color.white, textcolor=color.black,xloc=xloc.bar_time)