The algorithm is searching for situations, where the range of the last 8 bars is wider than 60 pips. Opens a long position if the close is above and a short positions if the close is below the range.
Unfortunately I only have backtest data since 11/2015 for the 5 minute chart. Maybe somebody can backtest with more data? Thanks!
// Timeframe M5
// EURUSD (IG - Markets)
// Spread 2 pips
DEFPARAM CumulateOrders = False
DEFPARAM FLATBEFORE = 080000
DEFPARAM FLATAFTER = 210000
IF (abs(close-open[8]) > 0.006) THEN
IF (close > open[8]) THEN
BUY 1 CONTRACTS AT MARKET
SET STOP pLOSS 50
SET TARGET pPROFIT 225
ENDIF
IF (close < open[8]) THEN
SELLSHORT 1 CONTRACTS AT MARKET
SET STOP pLOSS 50
SET TARGET pPROFIT 225
ENDIF
ENDIF
You must be logged in to post a comment.
<// Timeframe M15 // EURUSD (IG - Markets) // Spread 2 pips DEFPARAM CumulateOrders = False DEFPARAM FLATBEFORE = 080000 DEFPARAM FLATAFTER = 210000 TS = 25 // 35 default SL = 50 PT = 80 m = 8 // 8 default once startpositionsize=1 once positionsize=startpositionsize once flatoverweekends=1 once startequity=0 once Reinvest=1 if reinvest then //------------ Fixed fraction money management ---------- once multiplier=1 once delta=100 // newlevel then multiplier=multiplier+1 oldlevel=newlevel newlevel=strategyprofit+startequity+multiplier*fraction positionsize=multiplier*startpositionsize elsif strategyprofit+startequity=2 then newlevel=strategyprofit+startequity oldlevel=strategyprofit+startequity-multiplier*fraction multiplier=multiplier-1 positionsize=multiplier*startpositionsize endif Endif if flatoverweekends then //--------------- daylight-saving corrections ------------------ if currentmonth=3 and day>=15 then dlc=10000 elsif currentmonth=11 and day=(223000-dlc)) else fridaynight=0 endif if fridaynight then if longonmarket then sell at market elsif shortonmarket then exitshort at market endif endif REM Conditions to enter long hereafter IF (abs(close-open[m]) > 0.006) THEN IF (close > open[m]) THEN BUY positionsize CONTRACTS AT MARKET SET STOP pLOSS SL SET TARGET pPROFIT PT ENDIF ENDIF //trailing stop trailingstop = TS if not onmarket then MAXPRICE = 0 priceexit = 0 endif //LONG order if longonmarket then MAXPRICE = MAX(MAXPRICE,close) //saving the MFE of the current trade if MAXPRICE-tradeprice(1)>=trailingstop*pointsize then //if the MFE is higher than the trailingstop then priceexit = MAXPRICE-trailingstop*pointsize //set the exit price at the MFE - trailing stop price level endif endif //exit on trailing stop price levels if onmarket and priceexit>0 then EXITSHORT AT priceexit STOP SELL AT priceexit STOP endif SET STOP ploss SL// >
Hi Everybody,
when I look at the strategy I felt the need to implement a Moneymanagement-System. Because I cant Prog this by myself, I took Kasper's reinvestment version Code from "ALE's Fractals breakout intraday Strategy EUR/USD 1H" and ty to implement it. Mayby it looks a little bit rudimentary, but it seems to be working! I couldn't believe my eyes! I also take some different Numbers. Does someone get similar results (Spread: 1,5 Pips)?
Here is the code:
// Timeframe M5// Timeframe M5 // EURUSD (IG - Markets) // Spread 2 pips DEFPARAM CumulateOrders = False DEFPARAM FLATBEFORE = 080000 DEFPARAM FLATAFTER = 210000 Reinvest=1 if reinvest then Capital = 10000 Risk = 1//0.1//in % pr position StopLoss = 26 REM Calculate contracts equity = Capital + StrategyProfit maxrisk = round(equity*(Risk/100)) MAXpositionsize=5000 MINpositionsize=1 Positionsize= MAX(MINpositionsize,MIN(MAXpositionsize,abs(round((maxrisk/StopLoss)))))//*Pointsize)))) else Positionsize=1 StopLoss = 26 Endif IF (abs(close-open[2]) > 0.006) THEN IF (close > open[2]) THEN BUY positionsize CONTRACT AT MARKET set stop loss stoploss*pointsize SET TARGET pPROFIT 191 ENDIF IF (close < open[2]) THEN SELLSHORT positionsize CONTRACT AT MARKET set stop loss stoploss*pointsize SET TARGET pPROFIT 191 ENDIF ENDIF
I would like to upload a picture but for some reason it did not work.
Results in 3 Jears on 15min Timeframe (EUR/USD) from Juli 2015 till now:
From 10.000 to 22.344 $ (without MM)
From 10.000 to 236.428 $ (with MM)
Here are another small tweak (just check Flatafter time as I am in a different timezone);
// Timeframe M5
// EURUSD (IG - Markets)
// Spread 2 pips
DEFPARAM CumulateOrders = False
DEFPARAM FLATBEFORE = 080000
DEFPARAM FLATAFTER = 220000
possize = 5
f = 12
pips = 0.0019
rng = 0
HighestClose = close[f]
LowestClose = close[f]
For i = 1 to f Do
IF (abs(close-open[i]) > pips) THEN
rng = rng + 1
EndIf
If close[i] > HighestClose then
HighestClose = high[i]
ElsIf close[i] < LowestClose then
LowestClose = close[i]
EndIf
Next
If rng >= 4 and (abs(close-open) > pips) then
IF close > HighestClose THEN
BUY possize CONTRACTS AT OPEN + averagetruerange[f](close) stop
SELLSHORT possize CONTRACTS AT OPEN - averagetruerange[f](close)*3 stop
ElsIF close < LowestClose THEN
SELLSHORT possize CONTRACTS AT OPEN - averagetruerange[f](close) stop
BUY possize CONTRACTS AT OPEN + averagetruerange[f](close)*3 stop
ENDIF
EndIf
SET STOP pLOSS 50
SET TARGET pPROFIT 320
Here is another spin on your code that aslo works nicely;
// Timeframe M5
// EURUSD (IG - Markets)
// Spread 2 pips
DEFPARAM CumulateOrders = False
DEFPARAM FLATBEFORE = 080000
DEFPARAM FLATAFTER = 220000
possize = 1
rng = 0
HighestClose = close[8]
LowestClose = close[8]
pips = 0.0019
For i = 1 to 8 Do
IF (abs(close-open[i]) > pips) THEN
rng = rng + 1
EndIf
If close[i] > HighestClose then
HighestClose = high[i]
ElsIf close[i] < LowestClose then
LowestClose = close[i]
EndIf
Next
If rng >= 4 and (abs(close-open) > pips) then
IF close > HighestClose THEN
BUY possize CONTRACTS AT MARKET
ElsIF close < LowestClose THEN
SELLSHORT possize CONTRACTS AT MARKET
ENDIF
EndIf
SET STOP pLOSS 50
SET TARGET pPROFIT 225
Thumbs up for considering your stop loss and take profit that generates RR more that 1
Cheers Kasper
Hi Bjoern, I was playing around with your code this morning (EUR/USD 5'). Thank you to the community for the piece of code (Despair for the MM module...).