Strategi ini adalah strategi perdagangan forex jangka pendek yang berfokus pada peningkatan manajemen risiko dengan menyesuaikan ukuran posisi secara dinamis. Strategi ini menghitung ukuran posisi dinamis berdasarkan ekuitas akun saat ini dan persentase risiko per perdagangan. Selain itu, ia menetapkan kondisi stop-loss dan take-profit yang ketat untuk dengan cepat menutup posisi ketika harga bergerak tidak menguntungkan dan mengunci keuntungan ketika harga bergerak ke arah yang menguntungkan.
Dengan memanfaatkan ukuran posisi yang dinamis dan aturan stop-loss dan take-profit yang ketat, strategi ini mencapai keseimbangan antara pengendalian risiko dan mengejar keuntungan dalam perdagangan jangka pendek. Logika strategi sederhana dan jelas, sehingga cocok untuk pemula untuk belajar dan menguasai. Namun, masih perlu berhati-hati dalam penerapan praktis, dengan memperhatikan pengendalian risiko dan optimalisasi dan perbaikan terus-menerus berdasarkan perubahan pasar. Dengan memperkenalkan lebih banyak indikator teknis, mengoptimalkan logika stop-loss dan take-profit, menetapkan parameter untuk kondisi pasar yang berbeda, dan menggabungkan manajemen posisi, kekuatan dan profitabilitas strategi dapat ditingkatkan lebih lanjut.
/*backtest start: 2024-04-01 00:00:00 end: 2024-04-30 23:59:59 period: 1d basePeriod: 1h exchanges: [{"eid":"Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Short High-Grossing Forex Pair - Enhanced Risk Management", overlay=true) // Parameters shortDuration = input.int(7, title="Short Duration (days)") priceDropPercentage = input.float(30, title="Price Drop Percentage", minval=0, maxval=100) riskPerTrade = input.float(2, title="Risk per Trade (%)", minval=0.1, maxval=100) / 100 // Increased risk for short trades stopLossPercent = input.float(2, title="Stop Loss Percentage", minval=0) // Tighter stop-loss for short trades takeProfitPercent = input.float(30, title="Take Profit Percentage", minval=0) // Take Profit Percentage // Initialize variables var int shortEnd = na var float entryPrice = na // Calculate dynamic position size equity = strategy.equity riskAmount = equity * riskPerTrade pipValue = syminfo.pointvalue stopLossPips = close * (stopLossPercent / 100) positionSize = riskAmount / (stopLossPips * pipValue) // Entry condition: Enter short position at the first bar with calculated position size if (strategy.opentrades == 0) strategy.entry("Short", strategy.short, qty=positionSize) shortEnd := bar_index + shortDuration entryPrice := close alert("Entering short position", alert.freq_once_per_bar_close) // Exit conditions exitCondition = (bar_index >= shortEnd) or (close <= entryPrice * (1 - priceDropPercentage / 100)) // Stop-loss and take-profit conditions stopLossCondition = (close >= entryPrice * (1 + stopLossPercent / 100)) takeProfitCondition = (close <= entryPrice * (1 - takeProfitPercent / 100)) // Exit the short position based on the conditions if (strategy.opentrades > 0 and (exitCondition or stopLossCondition or takeProfitCondition)) strategy.close("Short") alert("Exiting short position", alert.freq_once_per_bar_close) // Plot entry and exit points for visualization plotshape(series=strategy.opentrades > 0, location=location.belowbar, color=color.red, style=shape.labeldown, text="Short") plotshape(series=strategy.opentrades == 0, location=location.abovebar, color=color.green, style=shape.labelup, text="Exit") // Add alert conditions alertcondition(strategy.opentrades > 0, title="Short Entry Alert", message="Entering short position") alertcondition(strategy.opentrades == 0, title="Short Exit Alert", message="Exiting short position")