Inertia

Dax Short only - intraday trading strategy - timeframe 15 minutes

Category: Strategies By: Inertia Created: October 13, 2017, 2:46 PM
October 13, 2017, 2:46 PM
Strategies
16 Comments
Dax Short only - intraday trading strategy - timeframe 15 minutes

Dear All,

I think it is the good timing to share with you the following strategy.

“Dax Short 15′” is nothing really complicated but works fairly.

  • TF 15′
  • Instr. DAX
  • Tested on “tick by tick”
  • Tested with 200k bars.
  • 1 pt spread.
  • WF hasn’t been done.

Kindly note that I am not the coder of the century 😉 however I’ll be delighted to help as much as I can.

Thank you.

//-------------------------------------------------------------------------
// Code principal : Dax Short 15'
//-------------------------------------------------------------------------
//-----------------------------------
// Code principal : Dax Short 15'
//-------------------------------------------------------------------------
// Définition des paramètres du code
// From Inertia
//Last optimization 26/07/2017

DEFPARAM Preloadbars          = 3000
DEFPARAM CumulateOrders       = False
DEFPARAM FLATBEFORE           = 091500
DEFPARAM FLATAFTER            = 213000
noEntryBeforeTime             = 091500
timeEnterBefore = time >= noEntryBeforeTime
noEntryAfterTime              = 213000
timeEnterAfter = time < noEntryAfterTime
daysForbiddenEntry = OpenDayOfWeek = 1 OR OpenDayOfWeek = 3 OR OpenDayOfWeek = 6 OR OpenDayOfWeek = 0

REM Variables
ordersize =    1
mafilter  = 2000  // 2000
TS        =   30  //   30
SL        =   45  //   45
TP        =   110  //  110

//MACD settings
a         =   12  //   12
b         =   26  //   26
c         =    9  //    9

// Conditions pour ouvrir une position en vente à découvert
indicator1 = MACD[a,b,c](close)
c1 = (indicator1 CROSSES UNDER 0)
indicator2 = MACDline[a,b,c](close)
c2 = (indicator2 < 0)
indicator3 = ExponentialAverage[mafilter](close)
c3 = (close < indicator3)
indicator4 = ExponentialAverage[mafilter](close)
indicator5 = ExponentialAverage[mafilter](close)
c4 = (indicator4 < indicator5[1])

IF (c1 AND c2 AND c3 AND c4) AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry THEN
 SELLSHORT ordersize CONTRACT AT MARKET
ENDIF

//trailing stop
trailingstop = TS//Best 30
 
//resetting variables when no trades are on market
if not onmarket then
 MINPRICE = close
 priceexit = 0
endif
 
//case SHORT order
if shortonmarket then
 MINPRICE = MIN(MINPRICE,close) //saving the MFE of the current trade
 if tradeprice(1)-MINPRICE>=trailingstop*pointsize then //if the MFE is higher than the trailingstop then
  priceexit = MINPRICE+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
Set Target PProfit TP

 

Download
Filename: Dax-Short-15.itf
Downloads: 875
Inertia
Inertia Master
Operating in the shadows, I hack problems one by one. My bio is currently encrypted by a complex algorithm. Decryption underway...
Author’s Profile

Comments

Paul_Going Dutch
3 years ago
#

Proformence will be beter with other starting hours and closing hours @Inertia

xpiga
7 years ago
#

Hi! Is this system still working good? Anyone has it in the live account? It looks great. Thank you for sharing

teddy58
8 years ago
#

This system is the only one running on my PC, which i didn´t developed my myself. My forcast was correct, the system makes money !! Gratulation, you understand the DAX.

tecknozic
8 years ago
#

Bonjour Inertia, cette sais-tu si cette stratégie fonctionne sur un compte IG à "risque limité" ? Car je crois qu'il y a une restriction sur le fonctionnement des trailing stops. Mais peut-être que ton code contourne cette restriction de par sa conception ? Merci.

Inertia
8 years ago
#

Bonjour tecknozic.... Je ne sais pas... Désolé. Bonne chance ;)

Vieux Marin
9 years ago
#

//------------------------------------------------------------------------- // Code principal : Dax Short 15' //------------------------------------------------------------------------- //----------------------------------- // Code principal : Dax Short 15' //------------------------------------------------------------------------- // Définition des paramètres du code // From Inertia //Last optimization 26/07/2017 DEFPARAM Preloadbars = 3000 DEFPARAM CumulateOrders = False DEFPARAM FLATBEFORE = 100000 DEFPARAM FLATAFTER = 180000 noEntryBeforeTime = 100000 timeEnterBefore = time >= noEntryBeforeTime noEntryAfterTime = 213000 timeEnterAfter = time < noEntryAfterTime daysForbiddenEntry = OpenDayOfWeek = 1 OR OpenDayOfWeek = 3 OR OpenDayOfWeek = 6 OR OpenDayOfWeek = 0 REM Variables // Taille des positions REINV = 1 LEVIER = 3 IF REINV = 0 THEN N = 1 ELSIF REINV = 1 THEN capital = 500 + strategyprofit n = (capital / 500)*LEVIER N = round(n) ENDIF ordersize = N mafilter = 2000 // 2000 TS = 30 // 30 SL = 45 // 45 TP = 110 // 110 //MACD settings a = 12 // 12 b = 26 // 26 c = 9 // 9 // Conditions pour ouvrir une position en vente à découvert indicator1 = MACD[a,b,c](close) c1 = (indicator1 CROSSES UNDER 0) indicator2 = MACDline[a,b,c](close) c2 = (indicator2 < 0) indicator3 = ExponentialAverage[mafilter](close) c3 = (close < indicator3) indicator4 = ExponentialAverage[mafilter](close) indicator5 = ExponentialAverage[mafilter](close) c4 = (indicator4 =trailingstop*pointsize then //if the MFE is higher than the trailingstop then priceexit = MINPRICE+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 Set Target PProfit TP

Inertia
9 years ago
#

Thank you. Sorry, there is a bug on line 52...

Vieux Marin
9 years ago
#

Hi, What do you think about this ? //------------------------------------------------------------------------- // Code principal : Dax Short 15' //------------------------------------------------------------------------- //----------------------------------- // Code principal : Dax Short 15' //------------------------------------------------------------------------- // Définition des paramètres du code // From Inertia //Last optimization 26/07/2017 DEFPARAM Preloadbars = 3000 DEFPARAM CumulateOrders = False DEFPARAM FLATBEFORE = 100000 DEFPARAM FLATAFTER = 180000 noEntryBeforeTime = 100000 timeEnterBefore = time >= noEntryBeforeTime noEntryAfterTime = 213000 timeEnterAfter = time < noEntryAfterTime daysForbiddenEntry = OpenDayOfWeek = 1 OR OpenDayOfWeek = 3 OR OpenDayOfWeek = 6 OR OpenDayOfWeek = 0 REM Variables // Taille des positions REINV = 1 LEVIER = 5 IF REINV = 0 THEN N = 1 ELSIF REINV = 1 THEN capital = 500 + strategyprofit N = round(capital / 500)*LEVIER ENDIF ordersize = N mafilter = 250 // 2000 TS = 30 // 30 SL = 45 // 45 TP = 110 // 110 //MACD settings a = 12 // 12 b = 26 // 26 c = 9 // 9 // Conditions pour ouvrir une position en vente à découvert indicator1 = MACD[a,b,c](close) c1 = (indicator1 CROSSES UNDER 0) indicator2 = MACDline[a,b,c](close) c2 = (indicator2 < 0) indicator3 = ExponentialAverage[mafilter](close) c3 = (close < indicator3) indicator4 = ExponentialAverage[mafilter](close) indicator5 = ExponentialAverage[mafilter](close) c4 = (indicator4 =trailingstop*pointsize then //if the MFE is higher than the trailingstop then priceexit = MINPRICE+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 Set Target PProfit TP

Inertia
9 years ago
#

@Andreag76 Thank you but your code is broken. Variables are missing and the trailing stop, if long only should be MAXPRICE instead of MINPRICE. However, yes the long version on a TF 15' doesn't work well enough. Kind regards,

andreag76
9 years ago
#

Long version... not very good //DEFPARAM Preloadbars = 3000 DEFPARAM CumulateOrders = False DEFPARAM FLATBEFORE = 090000 DEFPARAM FLATAFTER = 210000 noEntryBeforeTime = 090000 timeEnterBefore = time >= noEntryBeforeTime noEntryAfterTime = 213000 timeEnterAfter = time 2) indicator3 = ExponentialAverage[mafilter](close) c3 = (close > indicator3) indicator4 = ExponentialAverage[mafilter](close) indicator5 = ExponentialAverage[mafilter](close) c4 = (indicator4 > indicator5[1]) IF (c1 AND c2 AND c3 AND c4) AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry THEN buy ordersize CONTRACT AT MARKET ENDIF //trailing stop trailingstop = TS//Best 30 //resetting variables when no trades are on market if not onmarket then MINPRICE = close priceexit = 1 endif //case long order if longonmarket then MINPRICE = MIN(MINPRICE,close) //saving the MFE of the current trade if tradeprice(1)-MINPRICE>=trailingstop*pointsize then //if the MFE is higher than the trailingstop then priceexit = MINPRICE+trailingstop*pointsize //set the exit price at the MFE + trailing stop price level endif endif //FINE LONG //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 Set Target PProfit TP

Inertia
9 years ago
#

Sorry lysan2, the exact one for long only doesn't work well. Perhaps, you may have to look with roughly the same trigger for entries but on a smaller TF to possibly find an edge. thx.

lysan2
9 years ago
#

Thank you Inertia. Can you think if it's possible to applicate this strategy (Long Only) ?

Inertia
9 years ago
#

Thank you JR1976. It was not meant to be a conversion from a daily TF but mostly a "larger and round" filter for this 15'TF. However, i did an excel breakdown as attached (fyi)...

JR1976
9 years ago
#

Hi Inertia , first of all , congrats for the good strategy one questions : the average 2000 in the code Time frame 15min, rapresent the Average 100 in Daily Time frame ? thanks

jebus89
9 years ago
#

what timezone? not getting similar results :)

Inertia
9 years ago
#

GMT +1

ProRealCode ProRealCode
Loading...