Strategi ini direka dengan mengikuti peraturan kitaran perdagangan, membeli pada hari Isnin dan berhenti sebelum hari Rabu, untuk menangkap trend harga dalam tempoh tersebut. Strategi ini adalah tipikal untuk perdagangan mekanikal.
Prinsip-prinsip strategi:
Setiap minggu sebelum penutupan hari Isnin, anda boleh melakukan pembelian dan membuka kedudukan berganda.
Setiap hari Rabu, sebelum pembukaan pasaran, anda perlu melakukan penangguhan untuk keluar dari kedudukan berbilang mata.
Tetapkan peratusan stop loss untuk mengelakkan kerugian daripada berkembang.
Tetapkan peratusan stop loss sasaran untuk mengunci keuntungan.
Membuat garisan stop loss untuk menunjukkan keuntungan dan kerugian secara langsung
Kelebihan strategi ini:
Kaedah perdagangan kitaran mempunyai risiko penarikan balik yang lebih rendah dan prestasi sejarah yang lebih baik.
Peraturan tetap jelas, memudahkan pelaksanaan transaksi beralgorithmic.
Tetapan Stop Loss mudah dan praktikal.
Risiko strategi ini:
Tidak dapat menyesuaikan diri dengan kesan peristiwa yang tidak dijangka terhadap pola kitaran.
Penangguhan kerugian yang tertunda Tidak Boleh Hadkan kerugian tunggal untuk diperluas.
Tidak dapat dikesan lagi selepas keuntungan dikunci.
Ringkasnya, strategi ini menggunakan kaedah perdagangan kitaran mekanikal, kesan pengesanan yang ketara, tetapi sukar untuk menangani perubahan pola kitaran, dan pelabur perlu berhati-hati menggunakannya.
/*backtest
start: 2023-08-12 00:00:00
end: 2023-09-11 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © processingclouds
// @description Strategy to go long at end of Monday and exit by Tuesday close, or at stop loss or take profit percentages
//@version=5
strategy("Buy Monday, Exit Wednesday", "Mon-Wed Swings",overlay=true)
// ----- Inputs: stoploss %, takeProfit %
stopLossPercentage = input.float(defval=4.0, title='StopLoss %', minval=0.1, step=0.2) / 100
takeProfit = input.float(defval=3.0, title='Take Profit %', minval=0.3, step=0.2) / 100
// ----- Exit and Entry Conditions - Check current day and session time
isLong = dayofweek == dayofweek.monday and not na(time(timeframe.period, "1400-1601"))
isExit = dayofweek == dayofweek.wednesday and not na(time(timeframe.period, "1400-1601"))
// ----- Calculate Stoploss and Take Profit values
SL = strategy.position_avg_price * (1 - stopLossPercentage)
TP = strategy.position_avg_price * (1 + takeProfit)
// ----- Strategy Enter, and exit when conditions are met
strategy.entry("Enter Long", strategy.long, when=isLong)
if strategy.position_size > 0
strategy.close("Enter Long", isExit)
strategy.exit(id="Exit", stop=SL, limit=TP)
// ----- Plot Stoploss and TakeProfit lines
plot(strategy.position_size > 0 ? SL : na, style=plot.style_linebr, color=color.red, linewidth=2, title="StopLoss")
plot(strategy.position_size > 0 ? TP : na, style=plot.style_linebr, color=color.green, linewidth=2, title="TakeProfit")