@Paul
I will do more tests, but i have to ask you if you can attach the LATEST version of the strategy and on what timeframe you think should work on.
It’s a little bit confusing trying to find the last legit one in 14 pages 😀
PaulParticipant
Master
Hi, the latest is on page 14 v6p and is designed for the dax 1 minute.
Thing is, I don’t like the 1 minute timeframe one bit, so if can be improved upon would be great (preferably 5/15 min or higher)!
Ok I had it under my eyes and I didn’t noticed sorry 😀
There’s some variables optimizations to do also?
Btw i agree with you, 1min seems too low.
Anyway did you used the system on your live account in these years?
PaulParticipant
Master
Yes on & off and made & lost money. I consider this my worst and boring system 🙂 The last version was to reduce clutter.
Its concept is interesting, that why I still put time in it. Version v6p is running only in demo, still positive with around €100 this year. I make a strategy now on a higher timeframes. Minimum 5 minutes and with lost of trades. My best system has 900+ trades and goes way back on 1 hour timeframe, to put it in perspective!
ps maybe change the 2 and 1.5 variables at the entry section. Better modify the code somehow to get better results.
@paul
How can you say that a system with this results (around 3 gain loss ratio in the last 200k) is not profitable?
And also, if this is the worst and boring, what is your best? D:
PaulParticipant
Master
@Francesco Petrone I’am not saying the dax dayopen straddle it not profitable, it could be fine for coming months.
I don’t want to put a pic of another strategy here. I will test its robustness later and will post in that topic.
No worries i was just surprised 😀
Btw, this morning the breakeven function did not work, can you check it or is my impression?
No ok that was my impression, doesn’t matter 😀
Oddly enough I was looking at this strategy last night, it only works well for long positions
//-------------------------------------------------------------------------
// Main code : DailyOpen Straddle DAX 3minMM
//-------------------------------------------------------------------------
//-------------------------------------------------------------------------
// Main code : Straddle DayOpen
//-------------------------------------------------------------------------
// common rules
DEFPARAM CUMULATEORDERS = false
DEFPARAM PRELOADBARS = 10000
// optional
ExtraTradeCriteria=1
once multiplier=1
once fraction=72
once newlevel=72
once oldlevel=72
once startpositionsize=1
once positionsize=startpositionsize
if strategyprofit>newlevel then
multiplier=multiplier+0.05
oldlevel=newlevel
newlevel=strategyprofit+multiplier*fraction
positionsize=multiplier*startpositionsize
elsif strategyprofit<oldlevel and multiplier>=1 then
newlevel=strategyprofit
oldlevel=strategyprofit-multiplier*fraction
multiplier=multiplier-0.05
positionsize=multiplier*startpositionsize
endif
// positionsize and stops
sl = 1 // % Stoploss 0.6
pt = 0.8 // % Profit Target 0.4
ts = 7 // % MFETrailing
// indicator settigns
NOP=15 //number of points
TimeOpen=080000
// day & time rules
ONCE entertime = TimeOpen
ONCE lasttime = 100000
ONCE closetime = 240000 // greater then 23.59 means it continues position overnight
ONCE closetimeFriday=173000
tt1 = time >= entertime
tt2 = time <= lasttime
tradetime = tt1 and tt2
DayForbidden = 0 // 0=sunday
df = dayofweek <> dayforbidden
// setup number of trades intraday
if IntradayBarIndex = 0 then
longtradecounter = 0
Shorttradecounter = 0
Tradecounter=0
endif
// general criteria
GeneralCriteria = tradetime and df
// trade criteria
tcLong = countoflongshares < 1 and longtradecounter < 1 and tradecounter <1
tcShort = countofshortshares < 1 and shorttradecounter < 1 and tradecounter <1
// indicator criteria
If time = TimeOpen then
DayOpen=open
endif
if IntradayBarIndex = 0 then
lx=0
sx=0
endif
if high > DayOpen+NOP then
lx=1
else
lx=0
endif
if low < DayOpen-NOP then
sx=1
else
sx=0
endif
// trade criteria extra
min1 = MIN(dhigh(0),dhigh(1))
min2 = MIN(dhigh(1),dhigh(2))
max1 = MAX(dlow(0),dlow(1))
max2 = MAX(dlow(1),dlow(2))
If ExtraTradeCriteria then
tcxLong = high < MIN(min1,min2)
tcxShort = low > MAX(max1,max2)
else
tcxLong = high
tcxShort = low
endif
// long entry
If GeneralCriteria then
if lx and tcLong and tcxLong then
buy positionsize contract at market
longtradecounter=longtradecounter + 1
tradecounter=tradecounter+1
endif
endif
// short entry
If GeneralCriteria then
if sx and tcShort and tcxShort then
sellshort 0 contract at market
shorttradecounter=shorttradecounter + 1
tradecounter=tradecounter+1
endif
endif
// MFETrailing
trailingstop = (tradeprice/100)*ts
if not onmarket then
MAXPRICE = 0
MINPRICE = close
priceexit = 0
endif
if longonmarket then
MAXPRICE = MAX(MAXPRICE,close)
if MAXPRICE-tradeprice(1)>=trailingstop*pipsize then
priceexit = MAXPRICE-trailingstop*pipsize
endif
endif
if shortonmarket then
MINPRICE = MIN(MINPRICE,close)
if tradeprice(1)-MINPRICE>=trailingstop*pipsize then
priceexit = MINPRICE+trailingstop*pipsize
endif
endif
If onmarket and priceexit>0 then
sell at market
exitshort at market
endif
// exit at closetime
If onmarket then
if time >= closetime then
sell at market
exitshort at market
endif
endif
// exit friday at set closetime
if onmarket then
if (CurrentDayOfWeek=5 and time>=closetimefriday) then
sell at market
exitshort at market
endif
endif
// build-in exit
SET TARGET %PROFIT pt
SET STOP %LOSS sl
I took the above code live last night, tested over 100k bars with 1 point spread
@RoboFuturesTrader
Tested on 200k on 3min and 1min timeframe, does not look good as the last paul’s version
Please ignore the first 2 screenshots I hadn’t changed the opening time
The systems side by side at 3 mins over 100k bars are shown in images 5 & 6 and I have turned off the money management so that we are both using one point per pip
I chose the parameters that allowed for a smoother curve so you can see that my system has taken around 1/3 of the trades of Pauls system
Mine is based from Pauls original posting so I am keen to test the new code and new time frames
They are really two versions of the same system and when I looked down the optimisation report I preferred this version of the system, I have around 20 systems running now so I prefer to have fewer trades with a higher Gain/Loss ratio to help with management of capital
More great work from @Paul for the community
Latest version of Paul works on 1min timeframe not on 3min.
With that scenario, compared to the screen of your version, you have a slightly better ratio on gains, but the number of trades is less than half as you said.
OT: You’re not working anymore on your blog? I would have liked to read you.
Ah okay I will test on 1 Minutes, yes still working on the blog I just need to finish to the robo futures trader process section before developing the main blog
If you sign up for the newsletter here https://robofuturestrader.com/newsletter-sign-up/ then I will be sending out updates
To be honest it may end up as a vlog as I hate writing…….. not sure if you would have a preference of text/video or both
Subscribed to your newsletter immediately, and i started to follow you on insta too.
Well, personally i prefer vlogs, and if your goal is to have a good niche I think they are the most functional thing.
Thanks Francesco
On the Daily Straddle topic is did some work on it last night and it reminded me why I don’t like 1 min systems, with only having 100k bars there just isn’t enough of a trading period to make a decision on the system so I will probably get a version up and running in demo and revisit it in the summer. I had the same problem with the code below (can’t find the original link now) in that it looked great for Dax and Brent for 3 months but then flipped when I began testing
DEFPARAM FLATBEFORE=090100
// Festlegen der Code-Parameter
DEFPARAM CumulateOrders = false // Kumulieren von Positionen deaktiviert
// einmalige werte
once size = 0.5
once profi = 20
once in = 1
once korrek = 1
sl = 35
// Verhindert das Trading an bestimmten Wochentagen
daysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0
noEntryAfterTime = 100000
timeEnterAfter = time < noEntryAfterTime
// einen trade nur
IF (CurrentTime = 010000) then
onetrade = 0
ENDIF
// Bedingungen zum Einstieg in Long-Positionen
IF (CurrentTime = 085900) then
high7 = HIGHEST[120](high)
low7 = LOWEST[120](low)
ENDIF
IF (close > high7) AND (CurrentTime >= 090100) then
onetrade = 1
ENDIF
IF (CurrentTime >= 090100) AND not daysForbiddenEntry AND (onetrade = 0) AND timeEnterAfter THEN
BUY size CONTRACT AT high7 STOP
ENDIF
IF (LONGONMARKET = 1) then
onetrade = 1
in = 1
korrek = 0
//l1 = POSITIONPRICE + 0.0008
l2 = POSITIONPRICE - sl
//sell at l1 LIMIT
sell at l2 stop
ENDIF
// Bedingungen zum Einstieg in Short-Positionen
IF close < low7 AND (CurrentTime >= 090100) then
onetrade = 1
ENDIF
IF (CurrentTime >= 090100) AND not daysForbiddenEntry AND (onetrade = 0) AND timeEnterAfter THEN
SELLSHORT size CONTRACT AT low7 STOP
ENDIF
IF (SHORTONMARKET = 1) then
onetrade = 1
in = 1
korrek = 0
//s1 = POSITIONPRICE - 0.0008
s2 = POSITIONPRICE + sl
//EXITSHORT at s1 LIMIT
EXITSHORT at s2 STOP
ENDIF
// korrektur
IF (LONGONMARKET < 1) AND (SHORTONMARKET < 1) then
in = 0
ENDIF
IF in = 0 and korrek = 0 then
d1 = POSITIONPERF(1) > 0
d2 = POSITIONPERF(1) < 0
IF d1 and size > 1 then
size = size - 1
korrek = 1
ELSIF d2 then
size = size + 1
korrek = 1
ENDIF
ENDIF
// Stops und Targets
SET STOP pLOSS 60
SET TARGET pPROFIT sl
// Performance
IF STRATEGYPROFIT > profi then
size = 1
profi = profi + 20
ENDIF