The main idea of this strategy is to profit from Monday’s intraday reversal using trend following.
The core logic is:
Check if it is Monday, if yes, continue to next steps;
Identify if an uptrend reversal pattern exists - Close[1] < Close[2] and Close[2] < Close[3];
If reversal pattern confirmed, go long at the close of 3rd bar to follow the trend;
Exit if today’s high is breached, or stop loss is hit;
Close position after 6 hours.
The strategy capitalizes on specific Monday reversal, identifies reversal patterns to go long at relative lows for profits. Stop loss in place to control risks.
The biggest advantages are:
Profits from Monday reversals during specific periods;
Clear entry signals from reversal candlestick patterns;
Stop loss and take profit to control risks;
Trend following approach maximizes profits;
Simple and easy to understand logic;
There are some risks:
Losses if Monday reversals not significant;
Price may retrace after entry leading to stop loss;
Sudden market changes may result in large stop loss;
Holding too long may also lead to losses;
The solutions are optimizing stop loss, shortening holding time, and controlling single loss size.
The strategy can be improved by:
Using machine learning to identify reversals more accurately;
Optimizing stop loss strategies like trailing stop or partial stop loss;
Incorporating more factors to judge trend strength;
Dynamically adjusting holding time;
Using algorithms to find optimal parameters;
Adding position switching for two-way trading;
These can increase the win rate and profitability.
In conclusion, the strategy capitalizes on Monday reversals, with clear entry/exit rules, to implement a simple trend following strategy. It can achieve better results than fixed stop loss/take profit. Further optimizations are needed to address market uncertainty. The strategy provides a reference for intraday trading.
/*backtest start: 2023-10-06 00:00:00 end: 2023-11-05 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("ET Forex TurnaroundMonday", overlay=true) FirstYear = input(2018, minval=2000, maxval=2023, step=1) FirstMonth = 1 //input(1, minval=1, maxval=12, step=1) FirstDay = 1 //input(1, minval=1, maxval=31, step=1) deltaDay = input(0) StartHour = input(0) f_barssince(_cond, _count) => _barssince=bar_index-valuewhen(_cond, bar_index, _count) HoldTime = input(6, step=1) MM = input(1) startHour = input(-7, step=1) endHour = input(34, step=1) exitHour = input(30, step=1) startdateCond = (year > FirstYear or (year == FirstYear and (month > FirstMonth or (month == FirstMonth and dayofmonth >= FirstDay)))) iHour = hour if iHour > 19 iHour := iHour-20 else iHour := iHour+4 timeCondition = true //(iHour>=startHour and iHour<=endHour and iHour<=exitHour) since_flat_condition = strategy.position_size == 0 entryPrice=strategy.position_avg_price EntryLongCondition = dayofweek == (dayofweek.monday+deltaDay) and close[0] < close[1] and close[1]<close[2] and startdateCond //and timeCondition and iHour > StartHour ExitTimeCondition = false//(f_barssince(since_flat_condition, 0)>=HoldTime) ExitLongCondition = strategy.position_size > 0 and (close[0] > high[1])// or close[0]< entryPrice-abs(close[1]-close[2])*0.2)//(ExitTimeCondition) //iHour >= exitHour or strategy.initial_capital =50000 // MM Block lots = if MM < 2 strategy.initial_capital else strategy.equity lots := lots/close entryPrice:=strategy.position_avg_price strategy.close("ETLong",when=(ExitLongCondition==true)) strategy.entry("ETLong", strategy.long, qty=lots, comment="OpenLong",when=(EntryLongCondition==true))