Insider 3000 - Forums
Insider 3000 - Forums
Home | Profile | Active Topics | Members | Search | FAQ
 All Forums
 Problemi con "Insider 3000 versione 3"
 Problemi col linguaggio di programmazione
 Trailing Stop

Note: You must be registered in order to post a reply.

Screensize:
UserName:
Password:
Format Mode:
Format: BoldItalicizedUnderlineStrikethrough Align LeftCenteredAlign Right Horizontal Rule Insert HyperlinkInsert Email Insert CodeInsert QuoteInsert List
   
Message:

* HTML is OFF
* Forum Code is ON
Smilies
Smile [:)] Big Smile [:D] Cool [8D] Blush [:I]
Tongue [:P] Evil [):] Wink [;)] Clown [:o)]
Black Eye [B)] Eight Ball [8] Frown [:(] Shy [8)]
Shocked [:0] Angry [:(!] Dead [xx(] Sleepy [|)]
Kisses [:X] Approve [^] Disapprove [V] Question [?]

   
   

T O P I C    R E V I E W
Pingu Posted - 14 December 2004 : 15:08:35
Vorrei compilare un programma che mi permetta di uscire da una posizione quando, dopo un apprezzamento di almeno il 3%, il titolo subisce un ritracciamento di almeno il 20% dell'escursione fra il massimo raggiunto ed il prezzo di entrata (dato per es. da un breakout degli ultimi N massimi). Mi potete aiutare? Come si puo' fissare nel programma il prezzo di entrata (ad es. il prezzo di apertura della barra successiva al segnale d'ingresso) per poter calcolare la successiva escursione del prezzo? Grazie per l'aiuto.

3   L A T E S T    R E P L I E S    (Newest First)
SupportoTecnico Posted - 23 December 2004 : 14:13:09

La sintassi della riga non ? corretta.
Non puoi scrivere una cosa del tipo:

Else if ... then

perch? Else ed if non possono stare sulla stessa riga.

Devi invece scrivere:

If ..... Then

Else
If ...... then

EndIf
EndIf





Pingu Posted - 23 December 2004 : 12:53:17
Grazie per l'aiuto! Purtroppo pero' sto incontrando altre difficolta'. Ad esempio, ho cercato di impostare due livelli di stop: uno che prevede l'uscita al ritracciamento del 30% della differenza fra massimo raggiunto e prezzo di entrata, quando questa escursione e' compresa fra 3% e 5%, e un altro stop che prevede l'uscita al ritracciamento del 20% della differenza fra massimo raggiunto e prezzo di entrata, quando questa escursione e' superiore al 5%. Per far questo ho modificato la vostra traccia inserendo un if annidato nella maniera seguente, ma ottengo un messaggio di errore di sintassi ('N) proprio su una riga del if annidato. Dove sbaglio? Grazie...e auguri:



Opzioni Comuni"

Dim pdPrezzoDiEntrata as Numeric


Nel modulo "Entra in acquisto" setta la variabile globale che memorizzer? il prezzo di entrata:

Function Main()

...............
...............

pdPrezzoDiEntrata = Open

........................
........................

Return ...........

EndFunction


Modulo "Chiudi posizioni in acquisto"

Dim pdHigher as Numeric

Function Main()
Dim bSignal as Boolean
Dim dDiff as Numeric

bSignal = false

if (pdHigher < high) then
pdHigher = high
endif

dDiff = (pdHigher - pdPrezzoDiEntrata)

If (dDiff >= (pdPrezzoDiEntrata * 0.05)) Then
if ((dDiff * 0.2) <= (pdHigher - Low)) then
bSignal = true
endif
else if (dDiff >= (pdPrezzoDiEntrata * 0.03) and (dDiff < (pdPrezzoDiEntrata * 0.05) ) Then
if ((dDiff * 0.3) <= (pdHigher - Low)) then
bSignal = true
Endif
EndIf

Return bSignal

EndFunction

SupportoTecnico Posted - 14 December 2004 : 19:01:05

Per far si che il prezzo di entrata sia visibile anche dagli altri moduli del trading system devi utilizzare una variabile globale dichiarata nel modulo "Opzioni Comuni".

Ad esempio:


"Opzioni Comuni"

Dim pdPrezzoDiEntrata as Numeric



Nel modulo "Entra in acquisto" setta la variabile globale che memorizzer? il prezzo di entrata:

Function Main()

...............
...............

pdPrezzoDiEntrata = Open

........................
........................

Return ...........

EndFunction



Modulo "Chiudi posizioni in acquisto"

Dim pdHigher as Numeric

Function Main()
Dim bSignal as Boolean
Dim dDiff as Numeric

bSignal = false

if (pdHigher < high) then
pdHigher = high
endif

dDiff = (pdHigher - pdPrezzoDiEntrata)

If (dDiff >= (pdPrezzoDiEntrata * 0.03)) Then
if ((dDiff * 0.2) <= (pdHigher - Low)) then
bSignal = true
Endif
EndIf

Return bSignal

EndFunction



Ovviamente questa ? solo una traccia da elaborare meglio e completare, ma sicuramente potr? aiutarti a capire qualche concetto in pi?.



Insider 3000 - Forums © Copyright 2003-2016 Tradersoft s.r.l. Go To Top Of Page
Powered By: Snitz Forums 2000 Version 3.4.07