Created
April 4, 2023 19:36
-
-
Save iCodeForBananas/f83f16cb64021a90bcbea453361c8667 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| //@version=5 | |
| strategy("MA Price Cross w/ Continuous Entries Strategy", overlay=true, initial_capital = 5000, default_qty_value = 1, pyramiding = 0) | |
| hmaLength = input(20, 'Trigger MA length (default HMA)', group = 'Trade entry') | |
| smaEnabled = input.bool(false, "Use SMA", group = 'Trade entry') | |
| emaEnabled = input.bool(false, "Use EMA", group = 'Trade entry') | |
| ma = ta.hma(close, hmaLength) | |
| closeTradesEOD = input.bool(false, 'Close trades end of day', group = 'Other settings') | |
| ma := smaEnabled ? ta.sma(close, hmaLength) : ma | |
| ma := emaEnabled ? ta.ema(close, hmaLength) : ma | |
| // Time Range | |
| timeAllowed = input.session("0830-1400", "Allowed hours", group = 'Time filters') | |
| timeIsAllowed = time(timeframe.period, timeAllowed + ":1234567") | |
| FromMonth=input.int(defval=1,title="FromMonth",minval=1,maxval=12, group = 'Time filters') | |
| FromDay=input.int(defval=1,title="FromDay",minval=1,maxval=31, group = 'Time filters') | |
| FromYear=input.int(defval=2020,title="FromYear",minval=2016, group = 'Time filters') | |
| ToMonth=input.int(defval=1,title="ToMonth",minval=1,maxval=12, group = 'Time filters') | |
| ToDay=input.int(defval=1,title="ToDay",minval=1,maxval=31, group = 'Time filters') | |
| ToYear=input.int(defval=9999,title="ToYear",minval=2017, group = 'Time filters') | |
| start=timestamp(FromYear,FromMonth,FromDay,00,00) | |
| finish=timestamp(ToYear,ToMonth,ToDay,23,59) | |
| window()=>time>=start and time<=finish?true:false | |
| // STEP 2: | |
| // See if this bar's time happened on/after start date | |
| afterStartDate = time >= start and time<=finish?true:false | |
| plot(ma, "MA", color = color.purple) | |
| if (ta.crossover(close, ma) and afterStartDate and timeIsAllowed) | |
| strategy.entry("MacdLE", strategy.long, comment="Long entry") | |
| if (ta.crossunder(close, ma) and afterStartDate and timeIsAllowed) | |
| strategy.entry("MacdSE", strategy.short, comment="Short entry") | |
| if(closeTradesEOD and hour>=15) | |
| strategy.close_all("EOD") |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment