GANN SWING CHART
Forums › ProRealTime forum Italiano › Supporto piattaforma ProRealTime › GANN SWING CHART
- This topic has 16 replies, 6 voices, and was last updated 4 years ago by marao.
-
-
08/01/2017 at 11:01 AM #4218008/01/2017 at 12:51 PM #42202
Puoi provare con questo codice che ho appena fatto. Non so se sono vicino all’indicatore originale o no, fai i tuoi test e consigli. Grazie.
È possibile modificare il conteggio della barra per cambiare la direzione di rotazione con il parametro “periodo” all’inizio del codice.1234567891011121314151617181920212223period = 2once lastswing=0if high>high[1] thencountH=countH+1if countH>=period and lastswing<=0 thenswing = low//min(ll,low)countH = 0lastswing=1endifendifif low<low[1] thencountL=countL+1if countL>=period and lastswing>=0 thenswing = high//max(high,hh)countL = 0lastswing=-1endifendifreturn swing08/03/2017 at 11:39 AM #4239708/03/2017 at 1:33 PM #4240308/03/2017 at 4:24 PM #42421Per copiare un testo seleziona quello che ti interessa poi premi CTRL+INS (o CTRL+C), infine posiziona il cursore dove vuoi incollarlo e premi CTRL+V.
08/03/2017 at 4:31 PM #4242208/03/2017 at 4:58 PM #42427Innanzitutto posizionati sul grafico che ti interessa, poi fai click col pulsante destro del mouse e seleziona PROPRIETA’ PREZZO, dopodiché ti posizioni sulla voce PREZZO e clicchi in Alto a Sinistra.
Nell’immagine ti ho indicato i due semplici passi da fare.
Roberto
08/03/2017 at 4:59 PM #42429grazie nicolas mi sono permesso diu fare una modifica semplicissima
swing1234567891011121314151617181920212223period = 2once lastswing=0if high>high[1] thencountH=countH+1if countH>=period and lastswing<=0 thenswing = high//max(high,hh)countH = 0lastswing=1endifendifif low<low[1] thencountL=countL+1if countL>=period and lastswing>=0 thenswing = low//min(ll,low)countL = 0lastswing=-1endifendifreturn swingperò il risultato sperato è ancora lontano e non so come modificare il codice
08/03/2017 at 5:00 PM #4243008/03/2017 at 5:02 PM #4243108/03/2017 at 5:12 PM #4243708/03/2017 at 5:22 PM #4243809/04/2017 at 12:29 PM #45355ciao ho trovato questo codice ma mi da degli errori
Swing123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128inputs: filter(2), stats(0);vars : xBar(0) , xHigh(0), xLow(0), xCount(0), xSwitch(0);vars : xSkip(0), xConfirm(0);vars : pBar(0) , pHigh(0), pLow(0);vars : bFirst(1);if xSwitch = 0 thenbeginif High >= xHigh thenbeginxHigh = High;xLow = Low;xBar = BarNumber;xSkip = 0;endelsebeginxSkip = xSkip + 1;if xSkip >= filter thenbeginxConfirm = 1;xCount = 1;while xCount < filterbeginif (Low[xCount] <= Low[xCount-1]) or (xLow <= Low[filter-1])thenbeginxCount = filter;xConfirm = 0;end;xCount = xCount + 1;end;if xConfirm = 1 thenbeginxSwitch = 1;if stats = 0 thenplot1[BarNumber-xBar](xHigh,"Swing")elsebeginif bFirst = 0 thenbeginplot2[BarNumber-xBar](xHigh-pLow,"Range");plot3[BarNumber-xBar](xBar -pBar,"Duration");end;bFirst = 0;end;pHigh = xHigh;pLow = xLow;pBar = xBar;xHigh = High;xLow = Low;xBar = BarNumber;xSkip = 0;end;end;end;endelsebeginif Low <= xLow thenbeginxHigh = High;xLow = Low;xBar = BarNumber;xSkip = 0;endelsebeginxSkip = xSkip + 1;if xSkip >= filter thenbeginxConfirm = 1;xCount = 1;while xCount < filterbeginif (High[xCount] >= High[xCount-1]) or (xHigh >=High[filter-1]) thenbeginxCount = filter;xConfirm = 0;end;xCount = xCount + 1;end;if xConfirm = 1 thenbeginxSwitch = 0;if stats = 0 thenplot1[BarNumber-xBar](xLow,"Swing")elsebeginplot2[BarNumber-xBar](pHigh-xLow,"Range");plot3[BarNumber-xBar](xBar -pBar,"Duration");end;pHigh = xHigh;pLow = xLow;pBar = xBar;xLow = Low;xHigh = High;xBar = BarNumber;xSkip = 0;end;end;end;end;if ((date = lastcalcdate) and (time = lastcalctime)) thenbeginif xSwitch = 0 thenbeginif stats = 0 thenplot1[BarNumber-xBar](xHigh,"Swing")elsebeginplot2[BarNumber-xBar](xHigh-pLow,"Range");plot3[BarNumber-xBar](xBar -pBar,"Duration");end;endelsebeginif stats = 0 thenplot1[BarNumber-xBar](xLow,"Swing")elsebeginplot2[BarNumber-xBar](pHigh-xLow,"Range");plot3[BarNumber-xBar](xBar -pBar,"Duration");end;end;end;Si possono risolvere gli errori???
10/11/2017 at 9:17 AM #49007e ho trovato questa versione in un vecchio forum italiano, è corretto secondo te?
1234567891011121314151617181920212223242526272829303132333435363738394041424344// Swing di GANN// dedicato a Katia// creato da Luca De Florio per ProRealTimeif barindex=0 thenlasthigh=highlastlow=lowoldrv=highendif// calcola le barre che hanno massimo e minimo piu' alto della precedenteif (high > lasthigh) AND (low > lastlow) thenrv = High[0]lasthigh=rvlastlow=lowlastrv=1// Poi calcola le barre che hanno massimo e minimo piu' basso della precedenteelsif (high < lasthigh) AND (low < lastlow) thenrv = low[0]lastlow=rvlasthigh=highlastrv=2else// nel caso di inside o outside, controlla la barra precedente,// se era High prende il valore high, se era Low prende il valore Lowif lastrv=1 and high>lasthigh thenrv=highlasthigh=highlastlow= lowelsif lastrv=2 and low<lastlow thenrv=lowlasthigh=highlastlow= lowelserv=oldrvendifendif// Solo nel caso della prima barra, si parte dall'High del giornooldrv=rvreturn rv as "Swing"10/16/2017 at 8:30 PM #49621 -
AuthorPosts