Discussione: Funzione Pyramiding!?!?
Visualizzazione Ibrida
-
27-09-14, 16:01 #1
- Data Registrazione
- Dec 2009
- Messaggi
- 813
Funzione Pyramiding!?!?
Ciao ragazzi, sto provando a lavorare con gli ordini piramidali però vorrei che le posizioni successive entrassero solo quando determinate condizioni vengono soddisfatte! Ho utilizzato le funzioni DrawDown() - OpenPosition() - LastEntry e CurrentContract ma non sortiscono l'effetto desiderato....suggerimenti??? Vi posto lo script
INPUTS: @price(CLOSE), @periods(250) SET Zs = ZScore(CLOSE, @periods) # Primo Buy SET CrossUP1 = CROSSOVER(Zs,-2) SET ContCrossUP1 = LASTIF(CrossUP1) SET BUY1 = ContCrossUP1 = 1 # Secondo Buy SET CrossUP2 = CROSSOVER(Zs,-3) SET ContCrossUP2 = LASTIF(CrossUP2) SET BUY2 = ContCrossUP2 = 1 BUY1 OR BUY2
Come potete vedere dallo screen vorrei entrare in martingala solo se Z-Score crossa dal basso verso l'alto soglia -3 e rimane in posizione per almeno una barra (ContCrossUP2)
Ultima modifica di CIVT; 27-09-14 alle 16:06
-
27-09-14, 16:55 #2
- Data Registrazione
- Jan 2008
- Messaggi
- 1,003
-
27-09-14, 18:56 #3
- Data Registrazione
- Dec 2009
- Messaggi
- 813
Ultima modifica di CIVT; 27-09-14 alle 21:26
-
27-09-14, 22:57 #4
- Data Registrazione
- Feb 2012
- Località
- Pisa
- Messaggi
- 351
-
28-09-14, 00:13 #5
- Data Registrazione
- Dec 2009
- Messaggi
- 813
Ciao Marco! Quella è una indicazione che ho aggiunto per evidenziare quali ingressi potevo scartare verificando la preesistenza di un contratto già posizionato sulla soglia Z-Score -2
Per chiarire meglio il discorso ti posto l'esempio SELL che a quanto pare funziona meglio....
Qui vengono effettuati tre SELL consecutivi rispettivamente con Z-Score 2.1395 il primo 1.9066 il secondo e 1.4976 il terzo....
Potrei evitare di piramidare il secondo ed il terzo SELL aggiungendo un filtro sulle soglie dello Z-score tipo
SELL1 AND ZScore(CLOSE, @periods) > 2 OR SELL2
Vedi screen
Il problema però rimane perchè A) lo script BUY non riconosce la soglia >-2 e B) funziona solo con Z-Score decrescente difatti superata la soglia 2 si riattiva il primo SELL e sono punto a capo....Ultima modifica di CIVT; 28-09-14 alle 08:55
-
28-09-14, 09:48 #6
Salve,
Se la parte Entry Short funziona correttamente, allora significa che per la parte Entry Long ci sono soltato segni o operatori invertiti. Ad esempio, se nello Short si usa soglia > 2, significa che nel Long bisognerà usare soglia < -2, perchè il segno dello Z-Score è negativo.
Comunque, per limitare gli ingressi, si può usare la funzione CurrentContracts(), ad esempio in questo modo:
BUY1 = <Condizione per la prima entrata long> BUY2 = <Condizione per le successive entrate long> (CurrentContracts() <= 0 AND BUY1) OR (CurrentContract() > 0 AND BUY2) .... SELL1 = <Condizione per la prima entrata short> SELL2 = <Condizione per le successive entrate short> (CurrentContracts() >= 0 AND SELL1) OR (CurrentContract() < 0 AND SELL2)
Un suggerimento che posso dare è quello di utilizzare le parentesi per raggruppare le condizioni in AND ed OR, che altrimenti vengono valutate in sequenza così come si trovano nello script.
Max Francario