burghy17 (Andrea)

DAX 5 min automated trading by Andrea Unger

Category: Strategies By: burghy17 (Andrea) Created: June 10, 2016, 9:00 AM
June 10, 2016, 9:00 AM
Strategies
30 Comments
DAX 5 min automated trading by Andrea Unger

Good evening,
this is my first article in this beautiful community, so I hope you will appreciate the content and contribute by giving me suggestions for improvement in my trading!

The strategy based on the 5 min DAX is not mine but comes from a webinar of the famous Andrea Unger; It is based on the breakdown of the maximum or minimum of the first hour of trading (08: 00-09: 00 AM).

The strategy needs the “Dfactor” indicator which is attached at the end of the current post too.

DEFPARAM cumulateorders = false
DEFPARAM Flatbefore = 090000
DEFPARAM Flatafter = 220000

ncontr=2 //n contratti da comprare o vendere per posizione
x=1 //moltiplicatore della barra della prima ora
y=0.5 //dailyfactor da utilizzare
z=2 //percentuale guadagno da proteggere con stop in trailing

dailyfact, dayofw = CALL "Dfactor"
//mytrailstop=Supertrend[5,20]

//fiso valore moltiplicatore per determinare il livello di ingresso e del massimo/minimo della prima ora
moltipl=x

//individuo maz e minimo prima ora
if time = 080000 then
 maxprimaora=High
 minprimaora=Low
endif
if time > 080000 and time <= 090000 then
 if High > maxprimaora then
  maxprimaora = High
 endif
 if Low < minprimaora then
  minprimaora = Low
 endif
endif

// determino i valori di ingresso Long e Short
delta = moltipl*(maxprimaora-minprimaora)
ingressolong=maxprimaora+delta
ingressoshort=minprimaora-delta

// determino i valori di STOP LOSS sia long che short
stoplong = maxprimaora
stopshort = minprimaora

//verifico innanzitutto che il daily Factor sia minore di 0,75 e che non sia venerdì
if time <= 100000 then
 if dailyfact < y and dayofw <> 5 then
 // verifico se ho rotto max o min della prima ora
  if High > ingressolong and not onmarket then
   stopl=stoplong
   buy ncontr contract at market
   SET STOP LOSS stopl
  elsif Low < ingressoshort and not onmarket then
   stopl=stopshort
   sellshort ncontr contract at market
   SET STOP LOSS stopl
  endif
 endif

// se sono a mercato e sono in guadagno calcolo lo stop di protezione della percentuale di guadagno accumulato
 if longonmarket and close > ingressolong then
  ptiguadagno=ABS(Close-ingressolong)
  guadagno=ptiguadagno*pointvalue
  percguad=z*guadagno/100
 elsif shortonmarket then
  ptiguadagno=ABS(Close-ingressoshort)
  guadagno=ptiguadagno*pointvalue
  percguad=z*guadagno/100
 endif

 if onmarket then
  SET STOP $TRAILING percguad
 endif
endif

 

 

Download
Filename: TS_UNGER_DAX.itf
Downloads: 809
Download
Filename: Dfactor.itf
Downloads: 824
burghy17 (Andrea)
burghy17 (Andrea) Senior
Code artist, my biography is a blank page waiting to be scripted. Imagine a bio so awesome it hasn't been coded yet.
Author’s Profile

Comments

Valer Rob
7 years ago
#

Andrea, are you still using expert advisor?

pippo999
8 years ago
#

Someone still using this strategy? Are there any results available?

calefrago
8 years ago
#

Salve, ho scaricato la strategia e ho provato a fare un test ma come risultato da 0, devo cambiare qualche impostazione?

Francesco78
9 years ago
#

gira sull 1hr non sul 5 minuti

Francesco78
9 years ago
#

Ciao a tutti, qualcuno sta ancora usando questa strategia? la ho appena testata e mi pare che da Agosto 2016 non stia performando...

Gianluca
9 years ago
#

Pare anche a me che non vada un granchè

volpiemanuele
10 years ago
#

Dott. Unger, ma la versione pubblicata della strategia è quella corretta o i tecnici in seguito alle verifiche hanno apportato delle modifiche?

Grazie

miguel33
10 years ago
#

dott. Unger e' possibile avere il codice per la MT4 ?

Grazie .

miguel33
10 years ago
#

Ho fatto il backtest sul DAX cash mini  

purtroppo con l'ipad non mi da la possibilità di inserire le foto dei test

 

Andrea Unger
10 years ago
#

Su quale strumento testi il tutto? A me sul future dicembre (ovviamente non dal 2012) da trade corrispondenti al modello originale

miguel33
10 years ago
#

Non mi sembra migliore il codice , anzi in backtest dal giugno 2012 mentre il precedente ha un guadagno del 122 % questa ha una perdita del 58% . Cosa mi sfugge se leggo che sono simili ?

Ho tentato ieri di collegarmi al webinar dell' ing Unger ma non è stato possibile.

Grazie e buona giornata .

miguel

 

Andrea Unger
10 years ago
#

Salve a tutti, mi è stato segnalato questo post e ringrazio l'autore per il lavoro fatto sulla mia strategia. Ero già in contatto con PRT per avere una versione da far girare sulla loro piattaforma ed allego la versione da loro prodotta che corrisponde quasi in tutto ai risultati che ho con il mio codice originale (ci sono solo un paio di punti da verificare su cui i tecnici di PRT stanno lavorando). Per un utilizzo appropriato della strategia vi consiglierei di prendere visione del webinar gratuito dove viene spiegato il processo attraverso il cui è stato creato quel codice:

versione italiana:  http://bit.ly/PRTIT-1

Versione Inglese  http://bit.ly/PRTEN-1

 

Grazie, ciao

Hi all, this post was notified to me and I thank its author for the work done on my strategy. I was already in touch with PRT to get a version to use on their platform and I attach last version they produced which corresponds nearly completely with my original code (there are only some minor issues on which PRT experts are currently working). To use the strategy properly I would suggest to attend the free webinar where the process to get to that code is explained:

Italian version http://bit.ly/PRTIT-1

English version: http://bit.ly/PRTEN-1

 

Thanks

Cheers

Andrea Unger

 

DEFPARAM FLATAFTER=215500 // replace closetime condition

RangeMultiplier=0.95
BegTime=090000
EndTime=095500

MyContracts=1

SkipDay=dayofweek<>5
if intradaybarindex=0 then
maxSetup = 0
minSetup = 0
dailyfactor = abs(dOpen(1)-dClose(1))<0.75*(dHigh(1)-dLow(1))
tradethisday=0
else
if barindex=tradeindex then
tradethisday=1
endif
endif

If dailyfactor and Time >= BegTime and Time <= EndTime and SkipDay and tradethisday=0 then
if maxSetup=0 then
maxSetup = dHigh(0) + RangeMultiplier * (dHigh(0) - dLow(0))
slLong=dHigh(0)
endif

if minsetup=0 then
minSetup = dLow(0) - RangeMultiplier * (dHigh(0) - dLow(0))
slShort = dLow(0)
endif

Buy mycontracts contract at maxSetup stop
Sell at slLong stop

SellShort mycontracts  contract at minSetup stop
ExitShort at slShort stop
endif

If LongOnMarket then
Sell at slLong stop
elsif ShortOnMarket then
ExitShort at slShort stop
endif

set stop loss 1000

 

 

 

burghy17 (Andrea)
10 years ago
#

Grazie Ing. Unger per il suo commento e per il suo post, il codice che ho caricato, un po' più "elaborato" del suo :-)), in effetti nasce dalla visualizzazione del webinar free relativo alla sua strategia; purtroppo non sono un programmatore professionista pertanto ho qualche difficoltà a tradurre fedelmente le indicazioni da lei fornite in righe di codice per Pro Real Time .... il backtest mi da però dei buoni dati in termini di prestazioni; la sto infatti testando in demo .....

Buona serata

Andrea B.

miguel33
10 years ago
#

PS- non riesco a inserire foto . 

miguel33
10 years ago
#

Si come strategia è da approfondire per migliorarla . In reale per ora mi ha dato ottimi ritorni di gain ma può avere margini di miglioramento straordinari . Anche se mi ha fatto solo trade long . Allego risultato da quando l'ho inserita in reale. 

Cerchiamo di migliorarla insieme. 

Buon lavoro 

miguel 

 

 

burghy17 (Andrea)
10 years ago
#

Ciao Miguel,

si il codice è buono, ma soprattutto la strategia di Unger è molto robusta, purtroppo non ho molto tempo per dedicarmi alla programmazione, e ci sono ancora delle inesattezze nel posizionamento degli stop loss (i valori sono del tutto sballati) .....

miguel33
10 years ago
#

il codice ha dato buoni risultati di guadagno  in reale sul 4 ore .

alfredo
10 years ago
#

Ciao Andrea, l'ho fatto partire con le modifiche che hai fatto ma mi ha aperto una posizione short oggi con uno stop loss a oltre 7000 punti di distanza, possibile?

burghy17 (Andrea)
10 years ago
#

Ciao Alfredo, purtroppo ho notato anche io questo comportamento anomalo che in fase di backtest non mi risultava, devo verificare il motivo ....

alfredo
10 years ago
#

Grazie Andrea 

burghy17 (Andrea)
10 years ago
#

Ciao Alfredo, il problema è nel codice di gestione del trailing stop , ti posto il codice che uso senza tale funzionalità (il backtest non cambia)

DEFPARAM cumulateorders = false
DEFPARAM Flatbefore = 090000
DEFPARAM Flatafter = 220000

ncontr=2 //n contratti da comprare o vendere per posizione
x=1 //moltiplicatore della barra della prima ora
y=0.5 //dailyfactor da utilizzare

dailyfact, dayofw = CALL "Dfactor"
//mytrailstop=Supertrend[5,20]

//fiso valore moltiplicatore per determinare il livello di ingresso e del massimo/minimo della prima ora
moltipl=x

//individuo maz e minimo prima ora
if time = 080000 then
maxprimaora=High
minprimaora=Low
endif
if time > 080000 and time <= 090000 then
if High > maxprimaora then
maxprimaora = High
endif
if Low < minprimaora then
minprimaora = Low
endif
endif

// determino i valori di ingresso Long e Short
delta = moltipl*(maxprimaora-minprimaora)
ingressolong=maxprimaora+delta
ingressoshort=minprimaora-delta

// determino i valori di STOP LOSS sia long che short
stoplong = maxprimaora
stopshort = minprimaora

//verifico innanzitutto che il daily Factor sia minore di 0,75 e che non sia venerdì
if time <= 100000 then
if dailyfact < y and dayofw <> 5 then
// verifico se ho rotto max o min della prima ora
if High > ingressolong and not onmarket then
stopl=stoplong
buy ncontr contract at market
SET STOP LOSS stopl
elsif Low < ingressoshort and not onmarket then
stopl=stopshort
sellshort ncontr contract at market
SET STOP LOSS stopl
endif
endif

endif


....

alfredo
10 years ago
#

Ciao, ma capita anche a voi che sul 5minuti si interrompe spesso e bisogna farlo ripartire?

burghy17 (Andrea)
10 years ago
#

Hi davidp13,

I don't know for wich reason your backtest is so different from that one I posted here; the Time zone I used for this code is CET (Rome).

davidp13
10 years ago
#

Hi. For some reason I do not get the same trades as you when I test this. What is your timezone set at as this would impact it dramatically? 

makdec
10 years ago
#

Grande Andrea

gianpiero
10 years ago
#

great code...

also on Cac40 it works very well during the last month...but if you increase the time horizon tends to lose efficacy.
I noticed that works well in the bullish phases, so with a filter as a short moving average could improve.

maybe during weekend I do some testing

Ciaooo

 

burghy17 (Andrea)
10 years ago
#

Thanks Gianpiero for your comment,

I'll wait for your improvement !

Have a nice Week End

Ciao

Andrea

burghy17 (Andrea)
10 years ago
#

Dfact=0
dayofw=0

Dfact=(ABS(Dclose(1)-Dopen(1)))/(ABS(DHigh(1)-Dlow(1)))
dayofw=Dayofweek

Return Dfact as "df", dayofw as "dayofw"

 

burghy17 (Andrea)
10 years ago
#

Hi sofitech, thanks for your question, here is the code for the Dfactor indicator (really simple)

Sofitech
10 years ago
#

Hello and thanks for your article. As i have an import problem on my platform, could you copy/paste the dfactor.itf code in txt here ? So i can create the indicator.

ProRealCode ProRealCode
Loading...