domande 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
Per favore, come si dice al sistema:

1) "Non accettare nessun segnale long che sia superiore a r2"

2) Non accettare nessun segnale (di incrocio di media mobile) che "non abbia seguito un rimbalzo su un pivot".
Come è meglio definire "seguire" in termini easylanguage? Come gli dico "non accettare incroci che non siano accaduti nelle vicinanze temporali e fisiche (per esempio con 50 punti di tolleranza) di un livello pivot"?

3) Esci dal trade sia all'incrocio regolare di media mobile, "sia, se dovesse avvenire prima" un hammer che ha "volume record per le ultime n barre".

La parte che non so è quella tra virgolette.
 
azz travis
svegliato male stamattina? :eek:
 
Scritto da travis
Per favore, come si dice al sistema:

1) "Non accettare nessun segnale long che sia superiore a r2"

2) Non accettare nessun segnale (di incrocio di media mobile) che "non abbia seguito un rimbalzo su un pivot".
Come è meglio definire "seguire" in termini easylanguage? Come gli dico "non accettare incroci che non siano accaduti nelle vicinanze temporali e fisiche (per esempio con 50 punti di tolleranza) di un livello pivot"?

3) Esci dal trade sia all'incrocio regolare di media mobile, "sia, se dovesse avvenire prima" un hammer che ha "volume record per le ultime n barre".

La parte che non so è quella tra virgolette.

1) If C<R2 then Buy.......
R2 lo devi definire prima nel codice.

2) questa è piuttosto complicata, devi monitorarti che il prezzo si avvicini o tocchi uno dei pivots.
E non basta devi anche monitorare se il prezzo ci arriva da sotto o da sopra .
Potresti dividerti la giornata in sei zone :
prima : <S2
seconda: tra S2 e S1
terza : tra S1 e PP
quarta : tra PP e R1
quinta: tra R1 e R2
sesta: >R2
Facendo il test di dove si trova il prezzo su questa barra puoi poi vedere se si avvicina o tocca il supporto o la resistenza .
Come ti dicevo è piuttosto complicato però spiegare in termini di linguaggio di programmazione ciò che a occhio sembra semplice.
In linea generale quello che ti serve è una variabile flag true/false che ti permetta insieme all'incrocio di medie mobili di acquistare per es.
If OkToBuy=True and Average(C,Len) crosses above Average(C,Len1) then Buy......
Se la variabile flag (OkToBuy) non è vera al momento dell'incrocio delle medie allora non ci sarà nessun acquisto.


3) if hammer=true and v=highest(v,n) then exitlong/exitshort....
hammer deve essere una funzione true/false che ti individua se è presente un hammer in base alle relazioni tra OHLC che definisci.
 
Molto gentile, grazie.

Per l'hammer per il momento ho messo da parte perché non sono convinto di comprendere appieno la formula dell'hammer (in quanto a range).

Per il punto due invece credo di esserci riuscito. Ho detto al sistema "se ottieni un incrocio di media mobile (che è il mio segnale base) nei pressi di questo pivot, allora accettalo. Poi il problema è dire "nei pressi" (usando un livello di tolleranza in termini percentuali rispetto al close altrimenti non funziona in modo eguale su periodi diversi). Siccome la media mobile è abbastanza in ritardo, gli ho detto per i pivot di support, di accettare gli incroci tra il pivot maggiori del pivot e minori del "pivot più tolleranza". Per i pivot di resistenza, gli ho detto di accettare gli incroci minori del pivot e maggiori del "pivot meno tolleranza".

Questo funziona solo per le volte che ci aspettiamo il prezzo rimbalzi sul pivot. Per le volte che si considera lo sfondamento del pivot come segnale, non ci ho ancora pensato.


Negli inputs ho messo:

S_PrTol(0.008), R_PrTol(-0.014)


Nelle variables:

{*** pivots ***}
If Date <> Date[1] then Begin
PivPnt = (HighD(1) + LowD(1) + CloseD(1)) / 3;
Resistance1 = (PivPnt * 2) - LowD(1);
Resistance2 = PivPnt + (HighD(1) - LowD(1));
Resistance3 = Resistance1 + (HighD(1) - LowD(1));
Support1 = (PivPnt * 2) - HighD(1);
Support2 = PivPnt - (HighD(1) - LowD(1));
Support3 = Support1 - (HighD(1) - LowD(1));
end;

{*** tolleranza ***}
S_Tol = AbsValue(c) * S_PrTol;
R_Tol = AbsValue(c) * R_PrTol;

{*** aree di validità degli incroci ***}
S1 = IFF((c > Support1 and c < (Support1 + S_Tol)),1,0);
S2 = IFF((c > Support2 and c < (Support2 + S_Tol)),1,0);
S3 = IFF((c > Support3 and c < (Support3 + S_Tol)),1,0);
R1 = IFF((c > (Resistance1 - R_Tol) and c < Resistance1),1,0);
R2 = IFF((c > (Resistance2 - R_Tol) and c < Resistance2),1,0);
R3 = IFF((c > (Resistance3 - R_Tol) and c < Resistance3),1,0);

{*** suddivisione in supporti e resistenze ***}
SPivotAll = IFF((S1 = 1) Or (S2 = 1) Or (S3 = 1),1,0);
RPivotAll = IFF((R1 = 1) Or (R2 = 1) Or (R3 = 1),1,0);



Nel segnale dell'incrocio long ho messo tra le condizioni necessarie per accettarlo:

and SPivotAll = 1
 
Scritto da travis


{*** aree di validità degli incroci ***}
S1 = IFF((c > Support1 and c < (Support1 + S_Tol)),1,0);


Io la scriverei così:

S1 = IFF((c > Support1 and c < (Support1 * (1 + S_PrTol)),1,0);


Ciao

Super Pippo69
 
Sì, meglio, perché semplifica, e perché così dipende tutto dal valore del supporto e non da quello del fib.
 
Indietro