Domanda easylanguage

  • ANNUNCIO: Segui le NewsLetter di Borse.it.

    Al via la Newsletter di Borse, con tutte le notizie quotidiane sui mercati finanziari. Iscriviti per rimanere aggiornato con le ultime News di settore, quotazioni e titoli del momento.
    Per iscriverti visita questo link.

travis

Nuovo Utente
Registrato
18/12/01
Messaggi
312
Punti reazioni
7
Come si dice al sistema "stai fermo un giorno dopo un trade che ha dato un profitto > x" e "non fare trade long dopo un trade short che ha dato un profitto > x"?
 
Ciao Travis, come va la vitaccia?

prova a guardare in Easylanguage..ci sono diverse "funzioni" che dovrebbero fare al caso tuo...tipo Positionprofit, Maxprofit, Maxloss...con le parentesi quadre, come al solito, ti sposti poi in dietro di tot trades..

Appena ho tempo provo a vedere su TS...
ciao
Giacomo
 
Scritto da travis
Come si dice al sistema "stai fermo un giorno dopo un trade che ha dato un profitto > x" e "non fare trade long dopo un trade short che ha dato un profitto > x"?

1-
Sei troppo generico per una risposta precisa, ipotizzo intraday e che il sistema vada flat da long o short dell'ultima operazione:

Vars:DateOfExit(0),Mp(0),Count(0);
If Mp=0 AND MP[1]<>0 then begin {Individua l'ultima uscita}
DateOfExit=D; {Salva la data}
Count=0; {Resetta il contatore}
end;
If D>D[1] AND D>DateOfExit then Count=Count+1;
{Aumenta il contatore all'inizio di ogni giorno successivo alla data dell'ultima uscita}

If PositionProfit(1)>x then begin
{Se l'ultima posizione ha avuto un profitto >x}
If Count>1 then begin
{Controlla che sia trascorso almeno un giorno}
"Tuoi segnali di entrata"
end;
end else begin
{Se no adotta i segnali normali}
"Tuoi segnali di entrata"
end;

Non l'ho testato guarda se ti funziona perchè molto dipende anche dai segnali di entrata e di uscita che usi, e ti consiglio di fare ampio uso delle Print statement per controllare barra per barra i valori delle variabili.

2-
Vars:Mp(0),LastShort(False);
Mp=MarketPosition;
If Mp<>-1 and MP[1]=-1 then LastShort=True; {Ultima op short}
If Mp<>1 and MP[1]=1 then LastShort=False; {Ultima op long}
If PositionProfit>x then begin
{Controlla di aver avuto un prof>x}
If LastShort then begin {Se è stata uno short no ordini long"}
"Tuoi segnali di entrata solo short"
end;
end else begin
" Tuoi segnali sia long che short"
end;

Stesse avvertenze che sopra.

Ciao.
 
Grazie tante a entrambi.

Sto lavorando in questa direzione per il momento. Ancora non sono arrivato a capire/sfruttare interamente i vostri consigli. Sto cercando di semplificare la prima domanda che avevo fatto a questo codice:

PositionProfit(1) < 1000 or (Date - ExitDate(1)) >= 1;

Credo questo codice stia dicendo "(se) il profitto dell'ultimo trade è minore di 1000 (puoi accettare il segnale), oppure deve essere passato un giorno dall'uscita (da un trade con positionprofit >= 1000)".

Ma ci sto ancora lavorando. E per ora non mi funziona.
 
Ultima modifica:
Stiamo andando molto molto meglio ora.

Sto usando print, perché prima non ci capivo niente, su cosa stesse succedendo:

Print(File("C:\Programmi\Omega Research\EXPORT\data\mydata.txt"),positionprofit(1), " ", date, " ", time);

Per il momento c'è ancora qualche problemino ma grossomodo la soluzione (alla prima domanda) sembra essere questa:

Gli si mette come condizione ("if") per il trade che:

Positionprofit(1) < x or or barssinceexit(1) > numero_barre;

E per la domanda numero due:

Positionprofit(1) < x or MarketPosition(1) = 1 or barssinceexit(1) > numero_barre;
 
Ultima modifica:
Indietro