TS utilizzando SAR e MACD

claudiolibero

Nuovo forumer
Non essendo un conoscitore del codice utilizzato per creare TS su Amibroker mi rivolgo al FOL affinchè qualcuno sia in grado di decifrare o meglio di tramutare quanto da me riportato in codice listato da utilizzare come semplice TS per azioni dello SPMIB.

Il TS è banale si tratta di utilizzare il SAR in prima istanza (sia che ci troviamo in LONG o in SHORT) quindi come segnale di uscita e non di reverse e poi se il MACD mantiene inalterata la sua posizione allora si rientra cn una nuova operazione altrimenti si inverte il verso dell'operazione.

di seguito ciò che vorrei tramutare in codice:

Posizione Aperta SHORT

• SAR diventa LONG
• MACD rimane SHORT
• ADX +DX –DX rimane SHORT
• EXIT da SHORT e rimanere FLAT

Se SAR torna SHORT e MACD e ADX, +DX e –DX sono ancora SHORT, riaprire posizione SHORT se invece passano LONG allora aprire posizione LONG

Posizione Aperta LONG

• SAR diventa SHORT
• MACD rimane LONG
• ADX +DX –DX rimane LONG
• EXIT da LONG e rimanere FLAT

Se SAR torna LONG e MACD e ADX, +DX e –DX sono ancora LONG, riaprire posizione LONG se invece passano SAR allora aprire posizione SHORT.

Chiaramente i vari ingressi e uscite dovranno essere evidenziati da freccette verdi o rosse a seconda dell'operazione da fare.

Forse dopo tutto quello che ho trovato sui vari FOL questo è da considerarsi semplice e banale , peròmi piacerebbe provarlo........chi mi può aiutare?????

grazie :-? :-? :-? :-? :-?
 
claudiolibero ha scritto:
Non essendo un conoscitore del codice utilizzato per creare TS su Amibroker mi rivolgo al FOL affinchè qualcuno sia in grado di decifrare o meglio di tramutare quanto da me riportato in codice listato da utilizzare come semplice TS per azioni dello SPMIB.

Il TS è banale si tratta di utilizzare il SAR in prima istanza (sia che ci troviamo in LONG o in SHORT) quindi come segnale di uscita e non di reverse e poi se il MACD mantiene inalterata la sua posizione allora si rientra cn una nuova operazione altrimenti si inverte il verso dell'operazione.

di seguito ciò che vorrei tramutare in codice:

Posizione Aperta SHORT

• SAR diventa LONG
• MACD rimane SHORT
• ADX +DX –DX rimane SHORT
• EXIT da SHORT e rimanere FLAT

Se SAR torna SHORT e MACD e ADX, +DX e –DX sono ancora SHORT, riaprire posizione SHORT se invece passano LONG allora aprire posizione LONG

Posizione Aperta LONG

• SAR diventa SHORT
• MACD rimane LONG
• ADX +DX –DX rimane LONG
• EXIT da LONG e rimanere FLAT

Se SAR torna LONG e MACD e ADX, +DX e –DX sono ancora LONG, riaprire posizione LONG se invece passano SAR allora aprire posizione SHORT.

Chiaramente i vari ingressi e uscite dovranno essere evidenziati da freccette verdi o rosse a seconda dell'operazione da fare.

Forse dopo tutto quello che ho trovato sui vari FOL questo è da considerarsi semplice e banale , peròmi piacerebbe provarlo........chi mi può aiutare?????

grazie :-? :-? :-? :-? :-?

Non dovrebbe essere difficile metterlo su AB
Chiariscimi che parametri vuoi utilizzare per adx e macd....
 
Ciao Kidkurry per quanto riguarda i parametri mi affiderei ai classici conosciuti (se per arametri intendi i valori normalmente utilizzati per questo tipo di indicatoi)..Provo a riportarteli così come li ho presi da un libro di AT

MACD
Fast avg = 12
Slow avg = 26
Signal avg 9


ADX
periods = 14 valido anche per +D e -D



SAr
Acceleration = 0.02
Max Acceleration = 0.2

Grazie per la tua solita attenzione e per il contributo che dai hai meno preparati in maniera.

Claudio
 
Ciao Kidkurry per quanto riguarda i parametri mi affiderei ai classici conosciuti (se per arametri intendi i valori normalmente utilizzati per questo tipo di indicatoi)..Provo a riportarteli così come li ho presi da un libro di AT

MACD
Fast avg 12
Slow avg 26
Signal avg 9


ADX
periods 14 valido anche per +D e -D



SAr
Acceleration 0.02
Max Acceleration 0.2

Grazie per la tua solita attenzione e per il contributo che dai hai meno preparati in maniera.

Claudio
 
claudiolibero ha scritto:
Ciao Kidkurry per quanto riguarda i parametri mi affiderei ai classici conosciuti (se per arametri intendi i valori normalmente utilizzati per questo tipo di indicatoi)..Provo a riportarteli così come li ho presi da un libro di AT

MACD
Fast avg 12
Slow avg 26
Signal avg 9


ADX
periods 14 valido anche per +D e -D



SAr
Acceleration 0.02
Max Acceleration 0.2

Grazie per la tua solita attenzione e per il contributo che dai hai meno preparati in maniera.

Claudio

ok, così dovrebbe funzionare. Prova e fammi sapere
Giusto per capire...se siamo long e macd e/o adx vanno short ma sar è ancola long si rimane long, giusto ??



m1 = MACD(12,26);
m2 = Signal(12,26,9);
m3 = m1-m2;


range = Param("Periods", 14, 2, 200, 1 );
ADX1=PDI(range);
ADX2= MDI(range);
ss=ADX1-ADX2;


acc = Param("Acceleration", 0.02, 0, 1, 0.001 );
accm = Param("Max. acceleration", 0.2, 0, 1, 0.001 );
SAR1= SAR( acc, accm );


L1=m3>0;
L2=ss>0;
L3=SAR1<C;

s1=m3<0;
s2=ss<0>C;


Long1=(L1 AND L2 AND L3);
Short1=(s1 AND s2 AND s3);
Sell1=(L1 AND L2 AND s3)AND Ref(SAR1,-1)<C OR (s3 AND L1 AND s2)AND Ref(SAR1,-1)<C OR (s3 AND s1 AND L2)AND Ref(SAR1,-1)<C>C OR (L3 AND s1 AND L2)AND Ref(SAR1,-1)>C OR (L3 AND L1 AND s2)AND Ref(SAR1,-1)>C ;



Buy=Long1;
Short=Short1;
Cover=Cover1;
Sell=Sell1;


Buy=ExRem(Buy,Sell OR Short OR Cover);
Short=ExRem(Short,Buy OR Sell OR Cover);

PlotShapes(shapeUpArrow*(Buy), colorBrightGreen );
PlotShapes(shapeHollowDownArrow*(Sell), colorYellow );
PlotShapes(shapeHollowUpArrow*(Cover), colorYellow );


PlotShapes(shapeDownArrow*(Short), colorRed );



PlotOHLC( 1*Open, 1* High, 1* Low, 1* Close, "CLOSE", colorBlack, styleCandle );
 
kidkurry ha scritto:
L'ultimo quote non esiste!

non mi esegue il copia incolla correttamente.
Questa è la "foto" della formula

1201463702ab.jpg
 
Ciao Kidkurry a questa condizione non avevo pensato (tu pensi che ci possa essere un caso come quello da Te descritto????) sinceramente quanto precedentemente da me postato è frutto di un ragionamento di uno studioso di trading system che evidenziava solo le casistiche precedentemente esposte.

Però cercherò magari con 2 righe più dettagliate di spiegarti cosa intendevo.

Supponiamo di aver aperto una posizione SHORT utilizzando l’indicatore SAR come indicatore di allerta e il MACD come conferma (lo ADX sarebbe una ulteriore conferma dovuta agli incroci tra +d e –d nella condizione che +d taglia dall’alto verso il basso -d).

Ad un certo punto l’indicatore SAR inverte il senso passando a LONG, mentre il MACD e lo ADX rimangono ancora nella condizione di SHORT, verificatasi questa condizione il sistema deve segnalare l’uscita dall’operazione di SHORT e farci posizionare in una posizione di FLAT (ossia di attesa).

Rimaniamo in attesa fintantochè non accade una delle condizioni di seguito descritte:

1. l’indicatore SAR torna nuovamente SHORT e gli indicatori MACD e ADX permangono anch’essi SHORT a questo punto il sistema deve segnalare la riapertura della posizione con un operazione ancora SHORT

2. l’indicatore SAR rimane nella condizione LONG e gli indicatori MACD e ADX passano anch’essi LONG a questo punto il sistema deve segnalare la riapertura della posizione con un operazione LONG (tutto ciò fino a che non si verificano condizioni contrarie che di seguito cercherò di descriverti)


Supponiamo a questo punto di aver aperto una posizione LONG (dando seguito a quanto sopra descritto) utilizzando l’indicatore SAR come indicatore di allerta e il MACD come conferma (lo ADX sarebbe una ulteriore conferma dovuta agli incroci tra +d e –d nella condizione che +d taglia dal basso verso l’alto -d).

Ad un certo punto l’indicatore SAR inverte il senso passando a SHORT, mentre il MACD e lo ADX rimangono ancora nella condizione di LONG, verificatasi questa condizione il sistema deve segnalare l’uscita dall’operazione di LONG e farci posizionare in una posizione di FLAT (ossia di attesa).

Rimaniamo in attesa fintantochè non accade una delle condizioni di seguito descritte:

3. l’indicatore SAR torna nuovamente LONG e gli indicatori MACD e ADX permangono anch’essi LONG a questo punto il sistema deve segnalare la riapertura della posizione con un operazione ancora LONG

4. l’indicatore SAR rimane nella condizione SHORT e gli indicatori MACD e ADX passano anch’essi SHORT a questo punto il sistema deve segnalare la riapertura della posizione con un operazione SHORT

Spero con questo esempio se pur banale di aver descritto in modo un pochino più chiaro cosa intendevo dire.

Una cosa è certa ripeto non è un TS sofisticatissimo, però mi piacerebbe sperimentarlo anche perché le cose più son complesse e più non funzionanno, comunque viste le tue capacità di programmatore nonché conoscitore di Analisi Tecnica ti invito ad aggiungere qualche suggerimento in termini di ottimizzazione a questo se si può chiamare T.S.

Dimenticavo penso che come posizione di Stop Loss si possa ritenere il valore del SAR come riferimento, mentre non saprei su quale base definire un’ eventuale Target Profit.

In attesa di un tuo riscontro invio cordiali saluti.
 
claudiolibero ha scritto:
Ciao Kidkurry a questa condizione non avevo pensato (tu pensi che ci possa essere un caso come quello da Te descritto????) sinceramente quanto precedentemente da me postato è frutto di un ragionamento di uno studioso di trading system che evidenziava solo le casistiche precedentemente esposte.

Però cercherò magari con 2 righe più dettagliate di spiegarti cosa intendevo.

Supponiamo di aver aperto una posizione SHORT utilizzando l’indicatore SAR come indicatore di allerta e il MACD come conferma (lo ADX sarebbe una ulteriore conferma dovuta agli incroci tra +d e –d nella condizione che +d taglia dall’alto verso il basso -d).

Ad un certo punto l’indicatore SAR inverte il senso passando a LONG, mentre il MACD e lo ADX rimangono ancora nella condizione di SHORT, verificatasi questa condizione il sistema deve segnalare l’uscita dall’operazione di SHORT e farci posizionare in una posizione di FLAT (ossia di attesa).

Rimaniamo in attesa fintantochè non accade una delle condizioni di seguito descritte:

1. l’indicatore SAR torna nuovamente SHORT e gli indicatori MACD e ADX permangono anch’essi SHORT a questo punto il sistema deve segnalare la riapertura della posizione con un operazione ancora SHORT

2. l’indicatore SAR rimane nella condizione LONG e gli indicatori MACD e ADX passano anch’essi LONG a questo punto il sistema deve segnalare la riapertura della posizione con un operazione LONG (tutto ciò fino a che non si verificano condizioni contrarie che di seguito cercherò di descriverti)


Supponiamo a questo punto di aver aperto una posizione LONG (dando seguito a quanto sopra descritto) utilizzando l’indicatore SAR come indicatore di allerta e il MACD come conferma (lo ADX sarebbe una ulteriore conferma dovuta agli incroci tra +d e –d nella condizione che +d taglia dal basso verso l’alto -d).

Ad un certo punto l’indicatore SAR inverte il senso passando a SHORT, mentre il MACD e lo ADX rimangono ancora nella condizione di LONG, verificatasi questa condizione il sistema deve segnalare l’uscita dall’operazione di LONG e farci posizionare in una posizione di FLAT (ossia di attesa).

Rimaniamo in attesa fintantochè non accade una delle condizioni di seguito descritte:

3. l’indicatore SAR torna nuovamente LONG e gli indicatori MACD e ADX permangono anch’essi LONG a questo punto il sistema deve segnalare la riapertura della posizione con un operazione ancora LONG

4. l’indicatore SAR rimane nella condizione SHORT e gli indicatori MACD e ADX passano anch’essi SHORT a questo punto il sistema deve segnalare la riapertura della posizione con un operazione SHORT

Spero con questo esempio se pur banale di aver descritto in modo un pochino più chiaro cosa intendevo dire.

.

La formula rispecchia perfettamente quanto da te descritto.
Però ci sono sempre i "casi" che ti dicevo, e accadono sicuramente.

Cioè....siamo long, sar rimane long ma macd e/o adx vanno short. che fare ?? Io, pensando di interpretare il tuo pensiero, ho dato priorità al sar, cioè lascio la posizione long fino a quando anche sar shorta. Se sar va short, guardo come sono macd e adx: se sono entrambi ancora short, il sistema va short, se uno dei due è long si flatta, se sar torna long ma macd e/o adx sono short si rimane flat.

Mettiti su AB i grafici di macd, adx e sar assieme al ts, cos controlli "visivamente" se i segnali generati corrispondono alle ipotesi da te desiderate


Graph0 = MACD(12,26);
Graph1 = Signal(12,26,9);
Graph2 = Graph0 - Graph1;
Title = Name()
+ " macd(rosso) 12,26,9 = " + WriteVal(Graph0, 1.2)
+ "signal (blu) 12,26,9 = " + WriteVal(Graph1, 1.2)
+ " differenza= " + WriteVal(Graph2, 1.2);

-------------------------------------------------------------------

range = Param("Periods", 14, 2, 200, 1 );

Plot( PDI(range), "+DI", ParamColor( "+DI color", colorGreen ), ParamStyle("+DI style") );
Plot( MDI(range), "-DI", ParamColor( "-DI color", colorRed ), ParamStyle("-DI style") );
ss=(PDI(range)-MDI(range));
Plot(ss,"spread",ParamColor( "spread color", colorYellow),ParamStyle("Histogram style", styleHistogram | styleNoLabel, maskHistogram ) );

--------------------------------------------------------------------

acc = Param("Acceleration", 0.02, 0, 1, 0.001 );
accm = Param("Max. acceleration", 0.2, 0, 1, 0.001 );
Plot( SAR( acc, accm ), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style", styleDots | styleNoLine, maskDefault | styleDots | styleNoLine ) );
PlotOHLC( 1*Open, 1* High, 1* Low, 1* Close, "CLOSE", colorBlack, styleCandle );

-----------------------------------------------------------------------
 
Buongiorno, Kidkurry ho visto che stai lavorando a quanto richiesto ed immagino che questa nuova versione sia migliore delle precedenti.
Volevo segnalarti che quando ho caricato questa nuova versione di codice mi è uscito questo errore: Error 29variable'acc' used without having been initialized.

Grazie per la collaborazione
 
claudiolibero ha scritto:
Buongiorno, Kidkurry ho visto che stai lavorando a quanto richiesto ed immagino che questa nuova versione sia migliore delle precedenti.
Volevo segnalarti che quando ho caricato questa nuova versione di codice mi è uscito questo errore: Error 29variable'acc' used without having been initialized.

Grazie per la collaborazione

non è una nuova versione.
sono i tre listati per visualizzare macd, adx e sar. vanno caricati separatamente, sempre se si è interessati a vedre macd adx e sar
 

Users who are viewing this thread

Back
Alto