Offset negativo – codice 10 secondi
Forums › ProRealTime forum Italiano › Supporto ProOrder › Offset negativo – codice 10 secondi
- This topic has 6 replies, 3 voices, and was last updated 7 years ago by robertogozzi.
-
-
09/20/2017 at 7:09 PM #46734
Buongiorno
Ho realizzato un codice , a 10 secondi , che su probacktest funziona ma ogni volta che lo faccio girare sulla piattaforma reale si blocca e compare poi la dicitura :
“Il sistema di trading si è interrotto perché il programma ha usato un offset negativo o uguale a zero ( ex: close=[-10] durante la valutazione dell’ ultima candela . La prego di aggiungere protezioni al suo codice per prevenire offsets negativio uguali a zero”
Cosa devo fare ? Cosa si intende per protezioni ?
Grazie
Raffaele
09/20/2017 at 9:54 PM #46745Senza il codice è impossibile dare una risposta. Se ti va devi postarlo indicando anche su quale strumento lo utilizzi.
09/21/2017 at 7:30 AM #46756Il tuo post appartiene al forum di supporto ProOrder, lo ho spostato di conseguenza.
Una soluzione facile sarebbe quella di impostare un minimo minimo come questo:
(diciamo che stai usando una media mobile)1indicator = average[max(1,calculatedperiod)]In questo modo il tuo ‘calculatedperiod’ non verrà utilizzato se è inferiore a 1.
09/21/2017 at 7:14 PM #46859Vi ringrazio per i consigli ma non ho capito
Allego il codice nella speranza che possiate correggerlo .
Il periodo è 10 secondi il mercato è DAX .
Il problema è che il codice funziona nella simulazione , quando invece lo inserisco in esecuzione si blocca con la dicitura :il sistema di trading si è interrotto perché il programma ha usato un offset negativo o uguale a zero ( ex: close=[-10]) durante la valutazione dell’ ultima candela . La prego di aggiungere protezioni al suo codice per prevenire offsets negativio uguali a zero
DEFPARAM FlatAfter = 173000
defparam cumulateorders= false
defparam preloadbars = 30000
OraInizio = 090000
oralimite =173000
tagliaposizione=1
OraInizio1 = 090000
d=1.1s=4
q=2.3
s1=7.5
q1=6
t=3mysupport=40
mytarget=150if time=orainizio then
p= close
endifif close>p+d then
k=1
elsif closep+s1 then
v=2
elsif longonmarket and highest[barindex-tradeindex](close)p+s then
v=1
else
v=10
endifif shortonmarket and lowest[barindex-tradeindex](close)
p-s1 then
v1=1
else
v1=-10
endifif time>orainizio1 and time
=t then
sell at p+q stopendif
if time>orainizio1 and time
=t then
exitshort at p-q stopendif
set target profit mytarget
set stop trailing mysupport
09/21/2017 at 7:29 PM #46861Pardon il codice da correggere è questo .
DEFPARAM FlatAfter = 173000
defparam cumulateorders= false
defparam preloadbars = 30000
OraInizio = 090000
oralimite =173000
Tagliaposizione=1
OraInizio1 = 090000
d=1.1s=4
q=2.3
s1=7.5
q1=6
s2=16
q2=8mysupport=40
mytarget=150
if time=orainizio then
p= closeendif
if close>p+d then
k=1
elsif closep+s2 then
v=3
elsif longonmarket and highest[barindex-tradeindex](close)>p+s1 and highest[barindex-tradeindex](close)p+s then
v=1
elsif longonmarket and highest[barindex-tradeindex](close)p-s2 then
v1=2
elsif shortonmarket and lowest[barindex-tradeindex](close)p-s1 then
v1=1
elsif shortonmarket and lowest[barindex-tradeindex](close)>p-s then
v1=0
else
v1=-10
endifif time>orainizio1 and time
orainizio1 and time 09/22/2017 at 7:52 AM #4687709/25/2017 at 1:24 PM #47253In alcune righe, dove c’è IF manca la relazione che che deve esserci tra vari valori ed inoltre le condizioni sono pste su righe diverse.
T’invito a ripostare il codice completo utilizzando il tasto “insert PRT code” per renderlo leggibile.
-
AuthorPosts
Find exclusive trading pro-tools on