Strategi ini adalah sistem dagangan adaptif berdasarkan jurang dan pergerakan harga, mencapai pulangan yang stabil melalui titik masuk yang fleksibel dan tetapan mengambil keuntungan / berhenti rugi yang dinamik. Strategi ini menggunakan ukuran kedudukan piramid dikombinasikan dengan sistem pengurusan pesanan OCA untuk kawalan risiko. Sistem itu menyesuaikan arah kedudukan secara automatik dan menutup kedudukan dengan segera apabila isyarat pembalikan muncul.
Strategi ini beroperasi melalui beberapa mekanisme teras: 1. Mekanisme perdagangan jurang: mengenal pasti jurang ke atas dan ke bawah, meletakkan pesanan berhenti pada tahap jurang 2. trend berikut: Menentukan arah trend berdasarkan hubungan antara harga pembukaan dan penutupan 3. Pyramiding: Membolehkan sehingga 100 perintah dalam arah yang sama 4. TP / SL dinamik: Menetapkan tahap mengambil keuntungan dan stop-loss secara dinamik berdasarkan harga kedudukan purata 5. Pengurusan pesanan OCA: Menggunakan kumpulan pesanan OCA untuk memastikan eksklusif antara pesanan TP dan SL 6. had dagangan intraday: mengawal risiko melalui penentuan pesanan maksimum yang diisi intraday
Ini adalah strategi perdagangan yang direka dengan baik dengan logik yang ketat, memastikan kestabilan dan keselamatan perdagangan melalui pelbagai mekanisme. Kelebihan utamanya terletak pada kemampuan penyesuaiannya dan kawalan risiko, sementara perhatian mesti diberikan kepada risiko dari turun naik pasaran. Melalui pengoptimuman dan peningkatan yang berterusan, strategi ini mempunyai potensi untuk mengekalkan prestasi yang stabil di pelbagai persekitaran pasaran.
/*backtest start: 2024-12-04 00:00:00 end: 2024-12-11 00:00:00 period: 10m basePeriod: 10m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Greedy Strategy - maclaurin", pyramiding = 100, calc_on_order_fills=false, overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100) backtestStartDate = input(timestamp("1 Jan 1990"), title="Start Date", group="Backtest Time Period", tooltip="This start date is in the time zone of the exchange " + "where the chart's instrument trades. It doesn't use the time " + "zone of the chart or of your computer.") backtestEndDate = input(timestamp("1 Jan 2023"), title="End Date", group="Backtest Time Period", tooltip="This end date is in the time zone of the exchange " + "where the chart's instrument trades. It doesn't use the time " + "zone of the chart or of your computer.") inTradeWindow = true tp = input(10) sl = input(10) maxidf = input(title="Max Intraday Filled Orders", defval=5) // strategy.risk.max_intraday_filled_orders(maxidf) upGap = open > high[1] dnGap = open < low[1] dn = strategy.position_size < 0 and open > close up = strategy.position_size > 0 and open < close if inTradeWindow and upGap strategy.entry("GapUp", strategy.long, stop = high[1]) else strategy.cancel("GapUp") if inTradeWindow and dn strategy.entry("Dn", strategy.short, stop = close) else strategy.cancel("Dn") if inTradeWindow and dnGap strategy.entry("GapDn", strategy.short, stop = low[1]) else strategy.cancel("GapDn") if inTradeWindow and up strategy.entry("Up", strategy.long, stop = close) else strategy.cancel("Up") XQty = strategy.position_size < 0 ? -strategy.position_size : strategy.position_size dir = strategy.position_size < 0 ? -1 : 1 lmP = strategy.position_avg_price + dir*tp*syminfo.mintick slP = strategy.position_avg_price - dir*sl*syminfo.mintick float nav = na revCond = strategy.position_size > 0 ? dnGap : (strategy.position_size < 0 ? upGap : false) if inTradeWindow and not revCond and XQty > 0 strategy.order("TP", strategy.position_size < 0 ? strategy.long : strategy.short, XQty, lmP, nav, "TPSL", "TPSL") strategy.order("SL", strategy.position_size < 0 ? strategy.long : strategy.short, XQty, nav, slP, "TPSL", "TPSL") if XQty == 0 or revCond strategy.cancel("TP") strategy.cancel("SL") //plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)