이 전략은 엄격한 리스크 관리를 유지하면서 작은 수익 목표를 포착하는 데 초점을 맞추는 일정한 일일 거래 접근 방식을 사용합니다. 이 전략은 2021 년부터 역 테스트되었으며 100% 승률로 강력한 성능을 입증했습니다. 전략의 주요 아이디어는 전날의 시장 조건에 따라 각 거래의 시작에서 새로운 긴 또는 짧은 포지션을 개척하는 것입니다. 주요 매개 변수에는 0.3%의 이익 목표와 0.2%의 스톱 로스가 포함되어 있으며 초기 자본은 1000 달러이며 거래 당 수수료는 0.1%입니다.
이 전략의 핵심 원칙은 이전 거래일의 시장 트렌드를 기반으로 각 거래일의 시작에서 새로운 긴 또는 짧은 포지션을 개척하는 것입니다. 구체적으로, 전날의 포지션이 없다면 전략은 새로운 하루의 시작에서 긴 포지션을 개척합니다. 이미 긴 포지션이 있다면 전략은 0.3%의 이익 목표가 달성되었는지 확인하고 있다면 포지션을 닫습니다. 짧은 포지션의 경우 전략은 0.2%의 스톱 손실이 달성되었는지 확인하고, 그렇다면 짧은 포지션을 닫고 동시에 새로운 긴 포지션을 개척합니다. 이것은 전략이 항상 시장에 노출되는 것을 보장합니다.
이 매일 거래 전략은 몇 가지 주목할만한 장점을 가지고 있습니다:
전략에 의해 입증 된 인상적인 성과와 위험 통제에도 불구하고 고려해야 할 몇 가지 잠재적 인 위험이 있습니다.
이러한 위험을 완화하기 위해, 다른 시장과 자산급에 걸쳐 유사한 전략을 적용함으로써 다양화를 고려할 수 있습니다. 변화하는 시장 조건에 적응하기 위해 전략 매개 변수들의 정기적 모니터링과 조정도 중요합니다.
전반적으로, 이 일일 거래 전략은 위험 관리와 일관성 있는 수익성에 중점을 둔 내일 거래에 대한 균형 잡힌 접근 방식을 제공합니다. 체계적이고 규율적인 거래 방법론을 추구하는 거래자에게 적합합니다. 이 전략은 100% 승률과 강력한 위험 조정 수익으로 인상적인 백테스팅 결과를 보여주었습니다. 그러나 과거의 성과가 미래의 결과를 보장하지 않으며, 위험을 관리하고 시장 변화에 적응하는 것이 중요하다는 것을 인식하는 것이 중요합니다. 추가 최적화 및 향상으로이 전략은 모든 거래자의 도구 박스에 귀중한 추가가 될 수 있습니다.
/*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)