Hallo,
heute wurde meine Handelsstrategie (DAX) beim ersten Versuch eine Order zu platzieren außerplanmäßig angehalten. In der Order-Liste war zu sehen dass die Ausführung einer Order aus folgendem Grund wiederholt verweigert wurde:
“Das von Ihnen gewünschte Auftragslevel liegt zu nahe am gegenwärtigen Marktlevel. Der Mindestabstand für diesen Markt beträgt 10 Punkte.”
Was bedeutet das und was muss ich tun dass dies nicht nochmal passiert?
Vorab vielen Dank 🙂
//-------------------------------------------------------------------------
// Hauptcode : # autoTRADE - DAX posSIZE23
//-------------------------------------------------------------------------
DEFPARAM cumulateorders=false
//_______________________________________________________________________posSIZE
ONCE HiLoPERIOD = 15.0
ONCE zeroPERIOD = 15.0
ONCE mode = 3.0
ONCE triggerDELTA = 25.0
ONCE DELTA = 50.0
ONCE cashOUT = 125.0
ONCE fixSTOPP = 250.0
ONCE minSIZE = 1.0
once Capital=1850
Equity=Capital+strategyprofit
posSIZE=max(1,(Equity/Capital)*1)
cashSIZE=posSIZE/4
//_______________________________________________________________________noENTRY
if opentime>=080000 and opentime<=220000 then
noENTRY=0
else
noENTRY=1
endif
//_______________________________________________________________________Spread
if opentime>=010000 and opentime<080000 then
SPREAD=4
elsif opentime>=080000 and opentime<085900 then
SPREAD=2
elsif opentime>=090000 and opentime<=173000 then
SPREAD=1.2
elsif opentime>173000 and opentime<=220000 then
SPREAD=2
elsif opentime>220000 and opentime<010000 then
SPREAD=5
endif
//_______________________________________________________________________ZERO
hiLINE=highest[HiLoPERIOD](close)
loLINE=lowest[HiLoPERIOD](close)
avgLINE=hiLINE-((hiLINE-loLINE)/2)
AVG=average[zeroPERIOD,mode](avgLINE)
//______________________________________________
hiCROSS=high>=hiLINE
loCROSS=low<=loLINE
//______________________________________________
once ZERO=close
hiTRIGGER=ZERO+triggerDELTA
loTRIGGER=ZERO-triggerDELTA
hiLEVEL=ZERO+1*DELTA
loLEVEL=ZERO-1*DELTA
if AVG<loTRIGGER then
upTREND=0
downTREND=1
ZERO=ZERO-(loTRIGGER-AVG)
elsif AVG>hiTRIGGER then
upTREND=1
downTREND=0
ZERO=ZERO+(AVG-hiTRIGGER)
endif
//_______________________________________________________________________longENTRY / shortENTRY
if loCROSS then
longENTRY=1
shortENTRY=0
endif
if hiCROSS then
longENTRY=0
shortENTRY=1
endif
//_______________________________________________________________________Entry-Strategy
if not onmarket then
if longENTRY then
buy posSIZE contracts at hiLEVEL stop
endif
if shortENTRY then
sellshort posSIZE contracts at loLEVEL stop
endif
endif
//_______________________________________________________________________Exit-Strategy
if not onmarket then
setENTRY=1
setSTOPP=1
zeroEXIT=0
setEXIT=1
endif
if longonmarket then
//___________________________________________Stopp LONG
if setENTRY then
ENTRY=tradeprice+SPREAD
setENTRY=0
endif
if not setSTOPP then
TRAIL=high-trailLEVEL
if high>trailLEVEL then
trailSTOPP=trailSTOPP+TRAIL
trailLEVEL=high
endif
endif
if not setEXIT or not setSTOPP then
sell at trailSTOPP stop
endif
//___________________________________________Exit LONG
if close>(ENTRY+1*cashOUT) then
if close<ZERO then
sell at market
endif
endif
if high>(ENTRY+1*cashOUT) and abs(countofposition)=posSIZE then
sell 1*cashSIZE contracts at (ENTRY+1*cashOUT) stop
if setEXIT then
trailSTOPP=ENTRY+5
setEXIT=0
endif
endif
//_______________________________________________________________________
if high>(ENTRY+2*cashOUT) and abs(countofposition)=posSIZE then
sell 2*cashSIZE contracts at (ENTRY+2*cashOUT) stop
endif
if high>(ENTRY+2*cashOUT) and abs(countofposition)=posSIZE*(3/4) then
sell 1*cashSIZE contracts at (ENTRY+2*cashOUT) stop
endif
//_______________________________________________________________________
if high>(ENTRY+3*cashOUT) and abs(countofposition)=posSIZE then
sell 3*cashSIZE contracts at (ENTRY+3*cashOUT) stop
endif
if high>(ENTRY+3*cashOUT) and abs(countofposition)=posSIZE*(3/4) then
sell 2*cashSIZE contracts at (ENTRY+3*cashOUT) stop
endif
if high>(ENTRY+3*cashOUT) and abs(countofposition)=posSIZE*(1/2) then
sell 1*cashSIZE contracts at (ENTRY+3*cashOUT) stop
endif
//_______________________________________________________________________
if high>(ENTRY+4*cashOUT) then
if setSTOPP then
trailSTOPP=ENTRY+3*cashOUT
trailLEVEL=high
setSTOPP=0
endif
endif
endif
if shortonmarket then
//________________________________________________Stopp SHORT
if setENTRY then
ENTRY=tradeprice-SPREAD
setENTRY=0
endif
if not setSTOPP then
TRAIL=trailLEVEL-low
if low<trailLEVEL then
trailSTOPP=trailSTOPP-TRAIL
trailLEVEL=low
endif
endif
if not setEXIT or not setSTOPP then
exitshort at trailSTOPP stop
endif
//______________________________________________________Exit Short
if close<(ENTRY-1*cashOUT) then
if close>ZERO then
exitshort at market
endif
endif
if low<(ENTRY-1*cashOUT) and abs(countofposition)=posSIZE then
exitshort 1*cashSIZE contracts at (ENTRY-1*cashOUT) stop
if setEXIT then
trailSTOPP=ENTRY+5
setEXIT=0
endif
endif
//_______________________________________________________________________
if low<(ENTRY-2*cashOUT) and abs(countofposition)=posSIZE then
exitshort 2*cashSIZE contracts at (ENTRY-2*cashOUT) stop
endif
if low<(ENTRY-2*cashOUT) and abs(countofposition)=posSIZE*(3/4) then
exitshort 1*cashSIZE contracts at (ENTRY-2*cashOUT) stop
endif
//_______________________________________________________________________
if low<(ENTRY-3*cashOUT) and abs(countofposition)=posSIZE then
exitshort 3*cashSIZE contracts at (ENTRY-3*cashOUT) stop
endif
if low<(ENTRY-3*cashOUT) and abs(countofposition)=posSIZE*(3/4) then
exitshort 2*cashSIZE contracts at (ENTRY-3*cashOUT) stop
endif
if low<(ENTRY-3*cashOUT) and abs(countofposition)=posSIZE*(1/2) then
exitshort 1*cashSIZE contracts at (ENTRY-3*cashOUT) stop
endif
//_______________________________________________________________________
if low<(ENTRY-4*cashOUT) then
if setSTOPP then
trailSTOPP=ENTRY-3*cashOUT
trailLEVEL=low
setSTOPP=0
endif
endif
endif
//___________________________________________________
set stop ploss fixSTOPP
Wenn Sie eine ausstehende Order (STOP oder LIMIT) platzieren, stellen Sie sicher, dass zwischen dem aktuellen Preis und dem Preis der ausstehenden Order mindestens N Punkte liegen (wie der Broker gemeldet hat). Im Laufe des Tages kann sich dieser Wert ändern, aber normalerweise sollte er während der üblichen Handelszeiten stabil sein.
Hallo Roberto,
danke für die schnelle Antwort, ich denke jetzt habe ich es verstanden.