-
20-07-14, 12:05 #51
Benvenuto nella discussione invece!
Tu sei bravissimo a programmare e questo porterà solo vantaggi...
Solo una domanda perchè così vediamo di mettere a disposizione nel modo corretto ciò che serve:
che cosa è lo swing chart convenzionale?
io non utilizzo le tecniche di altri per cui spesso mi perdo il nome di cose fatte da altri e non riesco a collegarle ..
Io per swing intendo ed uso:
1) un minimo o massimo di periodo che viene negato,
2) la forza dello swing è considerata come il numero di barre da quando l'evento si è mostrato
3) la lunghezza del periodo su cui viene calcolato deve essere modificabile
4) devo tenere conto di quante volte si verifica per programmare ad esempio un doppioo triplo minimo/massimo
5) che cosa devo aggiungere/modificare a uanto sopra?
@Thalos: deviazione standard e varianza sono due concetti identici che hanno unità di misura differenti in quanto la radice quadrata della varianza è la deviazione standard. Per questo motivo ti puoi costruire l'indicatore che vuoi e colorarlo a tuo piacimento, quindi assegnare i verdi, rossi e grigi...se corri dietro a due lepri, non ne prendi nemmeno una.
-
20-07-14, 13:40 #52
- Data Registrazione
- Feb 2012
- Località
- Pisa
- Messaggi
- 351
Questa sinceramente non l'ho capita ....!
Forse la mia risposta a bergamin è sembrata una polemica?
Tiziano, non so se esista uno swing chart convenzionale, mentre invece so qual è lo swing chart a cui fa riferimento Thalos: lo swing chart di Gann.
Confesso di non aver approfondito lo SwingLow e SwingHigh che ci sono in beeTrader (anzi, mi riprometto di farlo al più presto), tuttavia mi sento di dire che rispetto allo swing chart di Gann sono due cose leggermente differenti sia per costruzione matematica, ma soprattutto per rappresentazione grafica.
E con questo non voglio stare qui a dire che uno sia migliore dell'altro, tutto dipende dal tipo di utilizzo che se ne vuole fare. Del resto, anche la media mobile semplice e la media mobile esponenziale sono due cose matematicamente differenti, eppure probabilmente nessuna delle due è indispensabile!
-
20-07-14, 14:29 #53
Ma no, che dici, tu polemico proprio non lo sei mai stato, anzi!
Il mio benvenuto nella discussione è sincero perchè ti conosco e so che sei concreto e quindi con il tuo aiuto si arriverà più velocemente alla soluzione che cerca e attende Thalos.
Tiziano, non so se esista uno swing chart convenzionale, mentre invece so qual è lo swing chart a cui fa riferimento Thalos: lo swing chart di Gann.
Confesso di non aver approfondito lo SwingLow e SwingHigh che ci sono in beeTrader (anzi, mi riprometto di farlo al più presto), tuttavia mi sento di dire che rispetto allo swing chart di Gann sono due cose leggermente differenti sia per costruzione matematica, ma soprattutto per rappresentazione grafica.
E con questo non voglio stare qui a dire che uno sia migliore dell'altro, tutto dipende dal tipo di utilizzo che se ne vuole fare. Del resto, anche la media mobile semplice e la media mobile esponenziale sono due cose matematicamente differenti, eppure probabilmente nessuna delle due è indispensabile!
Ho rimesso in prima fila la richiesta che avevi fatto relativa al tread che hai lincato e l'ho passata a MAx.
Forse ci siamo dimenticati, in ogni caso sarà pronta velocemente...
Grazie sai,
Tiziano..se corri dietro a due lepri, non ne prendi nemmeno una.
-
20-07-14, 17:10 #54
- Data Registrazione
- Sep 2011
- Messaggi
- 191
Il segreto di Playoptions
Ed ecco il segreto di Playoptions: professionalità, condivisione, chiarimento , mettersi in discussione. Grazie a Tiziano Cagalli e a tutti i trader del forum che sono sempre a disposizione di tutti.
-
20-07-14, 19:04 #55
- Data Registrazione
- Apr 2010
- Messaggi
- 800
Ringrazio sia Tiziano che Smash per l' interessamento, e sono sicuro che gioveremo tutti di questo sistema...
Viene utilizzato da me in discrezionale da anni, e sono sicuro che messo in automatico dara' risultati sorprendenti per tutti..
Per Smash: Giustamente e' lo Swing Charts di Gann spiegato molto bene nel Libro di Fabrizio Bocca " Tecniche di Gann l' evoluzione del Trading", dove io ho preso spunto per la mia operativita'
Per Tiziano: Non sapevo che la Varianza e la Deviazione Standard sono complementari, le ho prese cosi da Visual Trader e applicate, ho visto che funzionavano piuttosto bene, dandomi un' indicazione che uso giornalmente..
Nel Trading System sicuramente la Varianza dovra' essere contemplata, perché da' la Forza al segnale dato dallo Swing..
E' su queste due cose unite che danno al Metodo un buon risultato percentuale...
Poi magari piu' teste ci sono e piu' il metodo potra' essere migliorato, come spero...
Dicono che l' unione fa la forza..--- Trend my Friend ---
-
20-07-14, 21:30 #56
- Data Registrazione
- Feb 2012
- Località
- Pisa
- Messaggi
- 351
Meno male, mi stavano venendo dei sensi di colpa ....
Avevo fatto quel tipo di intervento perchè, oltre che concreto come dici tu, sono anche uno molto diretto!
Ma no, nessuna fretta,
altrimenti ecco come mi sento:!!
Oltretutto lo swing chart di Gann con beeTrader io lo calcolo di già, e tra poco vi illustro in che modo.
-
20-07-14, 22:16 #57
- Data Registrazione
- Feb 2012
- Località
- Pisa
- Messaggi
- 351
Swing Chart di Gann
Il primo passo è la costruzione di questo indicatore:
il quale, a seconda della sequenza recente delle barre, calcola se si è in presenza di uno swing rialzista o ribassista ed assegna all'indicatore il valore del potenziale punto di swing, che non è noto finchè non si è verificata un'inversione dello swing stesso.
Per il calcolo dell'indicatore in EasyScript (vettoriale) ho dovuto considerare lo swing rialzista o ribassista come un pattern a 6 barre (scelta del tutto arbitraria), ed ho costruito la seguente funzione, salvata come file "GannSwingGuideLine.func":
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182SET
CondInsideBar41 =
REF
(
HIGH
,
4
) <=
REF
(
HIGH
,
5
)
AND
REF
(
LOW
,
4
) >=
REF
(
LOW
,
5
)
SET
InsideBar4 = CondInsideBar41
SET
CondInsideBar31 =
REF
(
HIGH
,
3
) <=
REF
(
HIGH
,
4
)
AND
REF
(
LOW
,
3
) >=
REF
(
LOW
,
4
)
SET
CondInsideBar32 =
REF
(
HIGH
,
3
) <=
REF
(
HIGH
,
5
)
AND
REF
(
LOW
,
3
) >=
REF
(
LOW
,
5
)
AND
InsideBar4
SET
InsideBar3 = CondInsideBar31
OR
CondInsideBar32
SET
CondInsideBar21 =
REF
(
HIGH
,
2
) <=
REF
(
HIGH
,
3
)
AND
REF
(
LOW
,
2
) >=
REF
(
LOW
,
3
)
SET
CondInsideBar22 =
REF
(
HIGH
,
2
) <=
REF
(
HIGH
,
4
)
AND
REF
(
LOW
,
2
) >=
REF
(
LOW
,
4
)
AND
InsideBar3
SET
CondInsideBar23 =
REF
(
HIGH
,
2
) <=
REF
(
HIGH
,
5
)
AND
REF
(
LOW
,
2
) >=
REF
(
LOW
,
5
)
AND
InsideBar3
AND
InsideBar4
SET
InsideBar2 = CondInsideBar21
OR
CondInsideBar22
OR
CondInsideBar23
SET
CondInsideBar11 =
REF
(
HIGH
,
1
) <=
REF
(
HIGH
,
2
)
AND
REF
(
LOW
,
1
) >=
REF
(
LOW
,
2
)
SET
CondInsideBar12 =
REF
(
HIGH
,
1
) <=
REF
(
HIGH
,
3
)
AND
REF
(
LOW
,
1
) >=
REF
(
LOW
,
3
)
AND
InsideBar2
SET
CondInsideBar13 =
REF
(
HIGH
,
1
) <=
REF
(
HIGH
,
4
)
AND
REF
(
LOW
,
1
) >=
REF
(
LOW
,
4
)
AND
InsideBar2
AND
InsideBar3
SET
CondInsideBar14 =
REF
(
HIGH
,
1
) <=
REF
(
HIGH
,
5
)
AND
REF
(
LOW
,
1
) >=
REF
(
LOW
,
5
)
AND
InsideBar2
AND
InsideBar3
AND
InsideBar4
SET
InsideBar1 = CondInsideBar11
OR
CondInsideBar12
OR
CondInsideBar13
OR
CondInsideBar14
# Barre Inside
SET
CondInsideBar1 =
HIGH
<=
REF
(
HIGH
,
1
)
AND
LOW
>=
REF
(
LOW
,
1
)
SET
CondInsideBar2 =
HIGH
<=
REF
(
HIGH
,
2
)
AND
LOW
>=
REF
(
LOW
,
2
)
AND
InsideBar1
SET
CondInsideBar3 =
HIGH
<=
REF
(
HIGH
,
3
)
AND
LOW
>=
REF
(
LOW
,
3
)
AND
InsideBar1
AND
InsideBar2
SET
CondInsideBar4 =
HIGH
<=
REF
(
HIGH
,
4
)
AND
LOW
>=
REF
(
LOW
,
4
)
AND
InsideBar1
AND
InsideBar2
AND
InsideBar3
SET
CondInsideBar5 =
HIGH
<=
REF
(
HIGH
,
5
)
AND
LOW
>=
REF
(
LOW
,
5
)
AND
InsideBar1
AND
InsideBar2
AND
InsideBar3
AND
InsideBar4
SET
InsideBar = CondInsideBar1
OR
CondInsideBar2
OR
CondInsideBar3
OR
CondInsideBar4
OR
CondInsideBar5
# Barre Up
SET
CondUpBar1 =
HIGH
>
Ref
(
HIGH
,
1
)
AND
LOW
>=
Ref
(
LOW
,
1
)
SET
CondUpBar2 =
HIGH
>
REF
(
HIGH
,
2
)
AND
LOW
>=
REF
(
LOW
,
2
)
AND
InsideBar1
SET
CondUpBar3 =
HIGH
>
REF
(
HIGH
,
3
)
AND
LOW
>=
REF
(
LOW
,
3
)
AND
InsideBar1
AND
InsideBar2
SET
CondUpBar4 =
HIGH
>
REF
(
HIGH
,
4
)
AND
LOW
>=
REF
(
LOW
,
4
)
AND
InsideBar1
AND
InsideBar2
AND
InsideBar3
SET
CondUpBar5 =
HIGH
>
REF
(
HIGH
,
5
)
AND
LOW
>=
REF
(
LOW
,
5
)
AND
InsideBar1
AND
InsideBar2
AND
InsideBar3
AND
InsideBar4
SET
UpBar = CondUpBar1
OR
CondUpBar2
OR
CondUpBar3
OR
CondUpBar4
OR
CondUpBar5
# Barre Down
SET
CondDownBar1 =
LOW
<
Ref
(
LOW
,
1
)
AND
HIGH
<=
Ref
(
HIGH
,
1
)
SET
CondDownBar2 =
LOW
<
REF
(
LOW
,
2
)
AND
HIGH
<=
REF
(
HIGH
,
2
)
AND
InsideBar1
SET
CondDownBar3 =
LOW
<
REF
(
LOW
,
3
)
AND
HIGH
<=
REF
(
HIGH
,
3
)
AND
InsideBar1
AND
InsideBar2
SET
CondDownBar4 =
LOW
<
REF
(
LOW
,
4
)
AND
HIGH
<=
REF
(
HIGH
,
4
)
AND
InsideBar1
AND
InsideBar2
AND
InsideBar3
SET
CondDownBar5 =
LOW
<
REF
(
LOW
,
5
)
AND
HIGH
<=
REF
(
HIGH
,
5
)
AND
InsideBar1
AND
InsideBar2
AND
InsideBar3
AND
InsideBar4
SET
DownBar = CondDownBar1
OR
CondDownBar2
OR
CondDownBar3
OR
CondDownBar4
OR
CondDownBar5
# Barre Outside rialziste
SET
CondOutsideBarUp1 =
HIGH
>
Ref
(
HIGH
,
1
)
AND
LOW
<
Ref
(
LOW
,
1
)
AND
CLOSE
>
Ref
(
HIGH
,
1
)
SET
CondOutsideBarUp2 =
HIGH
>
REF
(
HIGH
,
2
)
AND
LOW
<
REF
(
LOW
,
2
)
AND
CLOSE
>
Ref
(
HIGH
,
2
)
AND
InsideBar1
SET
CondOutsideBarUp3 =
HIGH
>
REF
(
HIGH
,
3
)
AND
LOW
<
REF
(
LOW
,
3
)
AND
CLOSE
>
Ref
(
HIGH
,
3
)
AND
InsideBar1
AND
InsideBar2
SET
CondOutsideBarUp4 =
HIGH
>
REF
(
HIGH
,
4
)
AND
LOW
<
REF
(
LOW
,
4
)
AND
CLOSE
>
Ref
(
HIGH
,
4
)
AND
InsideBar1
AND
InsideBar2
AND
InsideBar3
SET
CondOutsideBarUp5 =
HIGH
>
REF
(
HIGH
,
5
)
AND
LOW
<
REF
(
LOW
,
5
)
AND
CLOSE
>
Ref
(
HIGH
,
5
)
AND
InsideBar1
AND
InsideBar2
AND
InsideBar3
AND
InsideBar4
SET
OutsideBarUp = CondOutsideBarUp1
OR
CondOutsideBarUp2
OR
CondOutsideBarUp3
OR
CondOutsideBarUp4
OR
CondOutsideBarUp5
# Barre Outside ribassiste
SET
CondOutsideBarDown1 =
HIGH
>
Ref
(
HIGH
,
1
)
AND
LOW
<
Ref
(
LOW
,
1
)
AND
CLOSE
<
Ref
(
LOW
,
1
)
SET
CondOutsideBarDown2 =
HIGH
>
REF
(
HIGH
,
2
)
AND
LOW
<
REF
(
LOW
,
2
)
AND
CLOSE
<
Ref
(
LOW
,
2
)
AND
InsideBar1
SET
CondOutsideBarDown3 =
HIGH
>
REF
(
HIGH
,
3
)
AND
LOW
<
REF
(
LOW
,
3
)
AND
CLOSE
<
Ref
(
LOW
,
3
)
AND
InsideBar1
AND
InsideBar2
SET
CondOutsideBarDown4 =
HIGH
>
REF
(
HIGH
,
4
)
AND
LOW
<
REF
(
LOW
,
4
)
AND
CLOSE
<
Ref
(
LOW
,
4
)
AND
InsideBar1
AND
InsideBar2
AND
InsideBar3
SET
CondOutsideBarDown5 =
HIGH
>
REF
(
HIGH
,
5
)
AND
LOW
<
REF
(
LOW
,
5
)
AND
CLOSE
<
Ref
(
LOW
,
5
)
AND
InsideBar1
AND
InsideBar2
AND
InsideBar3
AND
InsideBar4
SET
OutsideBarDown = CondOutsideBarDown1
OR
CondOutsideBarDown2
OR
CondOutsideBarDown3
OR
CondOutsideBarDown4
OR
CondOutsideBarDown5
SET
FinalUpBar = InsideBar =
0
AND
(UpBar
OR
OutsideBarUp)
SET
FinalDownBar = InsideBar =
0
AND
(DownBar
OR
OutsideBarDown)
# Stato (Up o Down)
SET
UpDown =
IF
(FinalDownBar, -
1
, FinalUpBar)
SET
StatusBar = CHANGEIF(UpDown <>
0
, UpDown)
# Calcolo dei valori high e low
SET
StatusChanged =
LASTIF
(StatusBar <>
REF
(StatusBar,
1
))
SET
Bars = StatusChanged +
1
SET
hh =
HighestHighValue
(Bars)
SET
ll =
LowestLowValue
(Bars)
SET
GannSwingGuideLine =
IF
(StatusBar =
1
, hh, ll)
-
20-07-14, 22:19 #58
- Data Registrazione
- Feb 2012
- Località
- Pisa
- Messaggi
- 351
Il codice dell'indicatore che utilizza la funzione di cui sopra è invece il seguente:
123456SET
PLOT1
= GannSwingGuideLine()
SET
StatusUp =
PLOT1
>
REF
(
PLOT1
,
1
)
SET
StatusDown =
PLOT1
<
REF
(
PLOT1
,
1
)
SET
UpDown = StatusUp - StatusDown
SET
StatusBar = CHANGEIF(UpDown <>
0
, UpDown)
SET
PLOTCOLOR1
=
IF
(StatusBar =
1
,
COLOR_LIGHT_GREEN
,
COLOR_LIGHT_RED
)
-
20-07-14, 22:24 #59
- Data Registrazione
- Feb 2012
- Località
- Pisa
- Messaggi
- 351
Infine, con questo codice per ora calcolo lo swing chart in questa maniera:
123456789101112131415SET
GdLn = GannSwingGuideLine()
SET
StatusUp = GdLn >
REF
(GdLn,
1
)
SET
StatusDown = GdLn <
REF
(GdLn,
1
)
SET
UpDown = StatusUp - StatusDown
SET
StatusUpDown = CHANGEIF(UpDown <>
0
, UpDown)
SET
CondSwingPoint = StatusUpDown <>
REF
(StatusUpDown,
1
)
SET
SwingPoint =
IF
(CondSwingPoint,
REF
(GdLn,
1
), NAN)
SET
PLOT1
= SwingPoint
SET
PLOTCOLOR1
=
COLOR_WHITE
Dico per ora, nel senso che per ora questo è il risultato che ottengo:
ovvero, non è un grafico a segmenti, ed i punti di swing trovati vengono plottati sistematicamente in ritardo, per i motivi che avevo indicato in un post precedente.
-
20-07-14, 23:15 #60
- Data Registrazione
- Apr 2010
- Messaggi
- 800
Ottimo lavoro, ora a mio avviso, se il primo step e' fatto bisognerebbe cominciare a testarlo in Real senza nessun altro indicatore abbinato per vedere come si comporta sul prezzo, quindi se i segnali sono compatibili con la creazione di un TS...
Anzi gia' lo Swing di Gann potrebbe essere un TS, ma purtroppo da solo non da' risultati ottimali sempre, specialmente sui Time Frame bassi...
Bisogna per forza unirlo alla Varianza che da' la forza del segnale, e chicca non da poco le candele Heikin Hashi che danno l' idea del consolidamento del Trend pulendo il grafico e togliendo i falsi segnali che le barre o le candele normali purtroppo danno spesso e volentieri..Ultima modifica di Thalos; 20-07-14 alle 23:36
--- Trend my Friend ---