PAST FINDER ERREUR
Forums › ProRealTime forum Français › Support ProBuilder › PAST FINDER ERREUR
- This topic has 6 replies, 2 voices, and was last updated 3 years ago by
Antoine.
-
-
03/30/2022 at 5:08 PM #190791
Bonjour à tous,
Je suis bloqué sur mon programme.
En effet je voulais récupérer les deux derniers antérieurs 1 et 2, et regarder dans le passé ce qu’il se passé par la suite.
Seulement le programme que j’ai fait ne prend pas en compte l’antérieur 2..
Auriez-vous une idée pour que je puisse résoudre ce problème ?
Il faut regarder à partir de la ligne 893
Merci par avance
PAST FINDER1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889timeFrame(default)COMPTAGE=A+A1+A2+B+B1+B2+Q+Q1+Q2+W+W1+W2MAGICSTO=COMPTAGE///////////////////////////////////////////////////////////////// PAST FINDERIf Islastbarupdate ThenOnce P2=MAGICSTO[2]Once P1=MAGICSTO[1]Once countA=0Once countB=0Once countC=0For j=1 to DONNEESIf MAGICSTO[j+1]=P1 and MAGICSTO[j+2]=P2 ThenDRAWPOINT(barindex-(J+1), MAGICSTO[j+1],2) coloured(0,255,255)If MAGICSTO[j]>MAGICSTO[j+1] ThenDeltaA=1ElseDeltaA=0EndifIf MAGICSTO[j]<MAGICSTO[j+1] ThenDeltaB=1ElseDeltaB=0EndifIf MAGICSTO[j]=MAGICSTO[j+1] ThenDeltaC=1ElseDeltaC=0EndifcountA=countA+DELTAAcountB=countB+DELTABcountC=countC+DELTACEndifNext//NOMBRE DE FOISNBFOISNV=(countA+countB+countC)//RATIO NVRATIOH=round((countA*100)/NBFOISNV)RATIOB=round((countB*100)/NBFOISNV)RATIOHN=round(((countA+countC)*100)/NBFOISNV)RATIOBN=round(((countB+countC)*100)/NBFOISNV)SEGMENTH=RATIOH/20SEGMENTB=RATIOB/20SEGMENTHN=RATIOHN/20SEGMENTBN=RATIOBN/20RRH = max(0,50+(200-((RATIOH-10)-50)*12))GGH = max(0,50+(200+((RATIOH-10)-50)*12))RRB = max(0,50+(200-((RATIOB-10)-50)*12))GGB = max(0,50+(200+((RATIOB-10)-50)*12))RRHN = max(0,50+(200-((RATIOHN-10)-50)*12))GGHN = max(0,50+(200+((RATIOHN-10)-50)*12))RRBN = max(0,50+(200-((RATIOBN-10)-50)*12))GGBN = max(0,50+(200+((RATIOBN-10)-50)*12))If P1>0 ThenDRAWTRIANGLE(barindex-1, P1, barindex, P1, barindex, P1+SEGMENTHN)coloured((min(RRHN,255)),(min(GGHN,255)),0,70)bordercolor((min(RRHN,255)),(min(GGHN,255)),0,0)DRAWTRIANGLE(barindex-1, P1, barindex, P1, barindex, P1-SEGMENTB)coloured((min(RRB,255)),(min(GGB,255)),0,70)bordercolor((min(RRB,255)),(min(GGB,255)),0,0)DRAWTEXT("#countA#/ #countC#",Barindex+4,P1+SEGMENTHN,sansserif,bold,10)coloured(min(RRHN,255),min(GGHN,255),0)DRAWTEXT("#countB#",Barindex+4,P1-SEGMENTB,sansserif,bold,10)coloured(min(RRB,255),min(GGB,255),0)DRAWTEXT("#RATIOHN#%",Barindex+2,P1+SEGMENTHN,sansserif,bold,10)coloured(min(RRHN,255),min(GGHN,255),0)DRAWTEXT("#RATIOB#%",Barindex+2,P1-SEGMENTB,sansserif,bold,10)coloured(min(RRB,255),min(GGB,255),0)EndifIf P1<0 ThenDRAWTRIANGLE(barindex-1, P1, barindex, P1, barindex, P1+SEGMENTH)coloured((min(RRH,255)),(min(GGH,255)),0,70)bordercolor((min(RRH,255)),(min(GGH,255)),0,0)DRAWTRIANGLE(barindex-1, P1, barindex, P1, barindex, P1-SEGMENTBN)coloured((min(RRBN,255)),(min(GGBN,255)),0,70)bordercolor((min(RRBN,255)),(min(GGBN,255)),0,0)DRAWTEXT("#countB#/ #countC#",Barindex+4,P1-SEGMENTBN,sansserif,bold,10)coloured(min(RRBN,255),min(GGBN,255),0)DRAWTEXT("#countA#",Barindex+4,P1+SEGMENTH,sansserif,bold,10)coloured(min(RRH,255),min(GGH,255),0)DRAWTEXT("#RATIOBN#%",Barindex+2,P1-SEGMENTBN,sansserif,bold,10)coloured(min(RRBN,255),min(GGBN,255),0)DRAWTEXT("#RATIOH#%",Barindex+2,P1+SEGMENTH,sansserif,bold,10)coloured(min(RRH,255),min(GGH,255),0)EndifIf DataLigne ThenDRAWSEGMENT(barindex, 0, barindex-DONNEES, 0)coloured(0,255,255)DRAWSEGMENT(barindex-DONNEES,-12, barindex-DONNEES, 12)coloured(0,255,255)EndifEndifReturn MAGICSTO as "MAGIC STO-PAST FINDER"03/31/2022 at 8:59 AM #190833Désolé je ne vois pas de ligne 893 😆
Je n’ai pas bien compris le but du code, une explication peut être ?
L’instruction ONCE permet d’affecter une valeur 1 seule fois à une variable, donc je ne sais pas si cela est bien compris et utile dans le reste de ton code ?
03/31/2022 at 11:12 AM #190847CODE COMPLET123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980DEFPARAM DRAWONLASTBARONLY=trueTIMEFRAME(1 HOUR)K4a=Stochastic[PERIODEK,VITESSEK](close)D4a=average[PERIODED](K4a)K4a1=Stochastic[PERIODEK1,VITESSEK1](close)D4a1=average[PERIODED1](K4a1)K4a2=Stochastic[PERIODEK2,VITESSEK2](close)D4a2=average[PERIODED2](K4a2)/////////////////////////////////////////////////////If K4a[0]<50 ThenBaisseA=1ElseBaisseA=0EndifIf K4a[0]>50 ThenHausseA=1ElseHausseA=0Endif///rougeIF ( D4a[0]<65 AND D4a[0]<D4a[1] and K4a[0]<D4a[0] and K4a[0]<30 and K4a[0]<K4a[1]) THENX1A=-1ElseX1A=0endifIF (D4a[0]<55 and K4a[0]<D4a[0] and D4a[0]<D4a[1]) THENX2A=-1ElseX2A=0endifIF (D4a[0]<20) THENX3A=-1ElseX3A=0endif////vertIF (D4a[0]>35 AND D4a[0]>D4a[1] and K4a[0]>D4a[0] and K4a[0]>70 and K4a[0]>K4a[1]) THENX4A=1ElseX4A=0endifIF (D4a[0]>55 and K4a[0]>D4a[0] and D4a[0]>D4a[1]) THENX5A=1ElseX5A=0endifIF (D4a[0]>80) THENX6A=1ElseX6A=0endif////////////////////////Si BaisseIF (X1A+X2A+X3A)<0 ThenA=-1Endif////////////////////////Si HausseIF (X4A+X5A+X6A)>0 ThenA=1Endif/////////////////////////Si neutre dans de la baisseIF (X1A+X2A+X3A)=0 and BaisseA=1 ThenA=0Endif/////////////////////////Si neutre dans de la hausseIF (X4A+X5A+X6A)=0 and HausseA=1 ThenA=0Endif///////////////////////////////////////////////////////////////////////////////////////////////////////If K4a1[0]<50 ThenBaisse1A=1ElseBaisse1A=0EndifIf K4a1[0]>50 ThenHausse1A=1ElseHausse1A=0Endif///rougeIF ( D4a1[0]<65 AND D4a1[0]<D4a1[1] and K4a1[0]<D4a1[0] and K4a1[0]<30 and K4a1[0]<K4a1[1]) THENX11A=-1ElseX11A=0endifIF (D4a1[0]<55 and K4a1[0]<D4a1[0] and D4a1[0]<D4a1[1]) THENX21A=-1ElseX21A=0endifIF (D4a1[0]<20) THENX31A=-1ElseX31A=0endif////vertIF (D4a1[0]>35 AND D4a1[0]>D4a1[1] and K4a1[0]>D4a1[0] and K4a1[0]>70 and K4a1[0]>K4a1[1]) THENX41A=1ElseX41A=0endifIF (D4a1[0]>55 and K4a1[0]>D4a1[0] and D4a1[0]>D4a1[1]) THENX51A=1ElseX51A=0endifIF (D4a1[0]>80) THENX61A=1ElseX61A=0endif////////////////////////Si BaisseIF (X11A+X21A+X31A)<0 ThenA1=-1Endif////////////////////////Si HausseIF (X41A+X51A+X61A)>0 ThenA1=1Endif/////////////////////////Si neutre dans de la baisseIF (X11A+X21A+X31A)=0 and Baisse1A=1 ThenA1=0Endif/////////////////////////Si neutre dans de la hausseIF (X41A+X51A+X61A)=0 and Hausse1A=1 ThenA1=0Endif////////////////////////////////////////////////////////////////////////////////////If K4a2[0]<50 ThenBaisse2A=1ElseBaisse2A=0EndifIf K4a2[0]>50 ThenHausse2A=1ElseHausse2A=0Endif///rougeIF ( D4a2[0]<65 AND D4a2[0]<D4a2[1] and K4a2[0]<D4a2[0] and K4a2[0]<30 and K4a2[0]<K4a2[1]) THENX12A=-1ElseX12A=0endifIF (D4a2[0]<55 and K4a2[0]<D4a2[0] and D4a2[0]<D4a2[1]) THENX22A=-1ElseX22A=0endifIF (D4a2[0]<20) THENX32A=-1ElseX32A=0endif////vertIF (D4a2[0]>35 AND D4a2[0]>D4a2[1] and K4a2[0]>D4a2[0] and K4a2[0]>70 and K4a2[0]>K4a2[1]) THENX42A=1ElseX42A=0endifIF (D4a2[0]>55 and K4a2[0]>D4a2[0] and D4a2[0]>D4a2[1]) THENX52A=1ElseX52A=0endifIF (D4a2[0]>80) THENX62A=1ElseX62A=0endif////////////////////////Si BaisseIF (X12A+X22A+X32A)<0 ThenA2=-1Endif////////////////////////Si HausseIF (X42A+X52A+X62A)>0 ThenA2=1Endif/////////////////////////Si neutre dans de la baisseIF (X12A+X22A+X32A)=0 and Baisse2A=1 ThenA2=0Endif/////////////////////////Si neutre dans de la hausseIF (X42A+X52A+X62A)=0 and Hausse2A=1 ThenA2=0EndifTIMEFRAME(2 HOUR)K4b=Stochastic[PERIODEK,VITESSEK](close)D4b=average[PERIODED](K4b)K4b1=Stochastic[PERIODEK1,VITESSEK1](close)D4b1=average[PERIODED1](K4b1)K4b2=Stochastic[PERIODEK2,VITESSEK2](close)D4b2=average[PERIODED2](K4b2)/////////////////////////////////////////////////////If K4B[0]<50 ThenBaisseB=1ElseBaisseB=0EndifIf K4B[0]>50 ThenHausseB=1ElseHausseB=0Endif///rougeIF ( D4b[0]<65 AND D4b[0]<D4b[1] and K4b[0]<D4b[0] and K4b[0]<30 and K4b[0]<K4b[1]) THENX1B=-1ElseX1B=0endifIF (D4b[0]<55 and K4b[0]<D4b[0] and D4b[0]<D4b[1]) THENX2B=-1ElseX2B=0endifIF (D4b[0]<20) THENX3B=-1ElseX3B=0endif////vertIF (D4b[0]>35 AND D4b[0]>D4b[1] and K4b[0]>D4b[0] and K4b[0]>70 and K4b[0]>K4b[1]) THENX4B=1ElseX4B=0endifIF (D4b[0]>55 and K4b[0]>D4b[0] and D4b[0]>D4b[1]) THENX5B=1ElseX5B=0endifIF (D4b[0]>80) THENX6B=1ElseX6B=0endif////////////////////////Si BaisseIF (X1B+X2B+X3B)<0 ThenB=-1Endif////////////////////////Si HausseIF (X4B+X5B+X6B)>0 ThenB=1Endif/////////////////////////Si neutre dans de la baisseIF (X1B+X2B+X3B)=0 and BaisseB=1 ThenB=0Endif/////////////////////////Si neutre dans de la hausseIF (X4B+X5B+X6B)=0 and HausseB=1 ThenB=0Endif///////////////////////////////////////////////////////////////////////////////////////////////////////If K4b1[0]<50 ThenBaisse1B=1ElseBaisse1B=0EndifIf K4b1[0]>50 ThenHausse1B=1ElseHausse1B=0Endif///rougeIF ( D4b1[0]<65 AND D4b1[0]<D4b1[1] and K4b1[0]<D4b1[0] and K4b1[0]<30 and K4b1[0]<K4b1[1]) THENX11B=-1ElseX11B=0endifIF (D4b1[0]<55 and K4b1[0]<D4b1[0] and D4b1[0]<D4b1[1]) THENX21B=-1ElseX21B=0endifIF (D4b1[0]<20) THENX31B=-1ElseX31B=0endif////vertIF (D4b1[0]>35 AND D4b1[0]>D4b1[1] and K4b1[0]>D4b1[0] and K4b1[0]>70 and K4b1[0]>K4b1[1]) THENX41B=1ElseX41B=0endifIF (D4b1[0]>55 and K4b1[0]>D4b1[0] and D4b1[0]>D4b1[1]) THENX51B=1ElseX51B=0endifIF (D4b1[0]>80) THENX61B=1ElseX61B=0endif////////////////////////Si BaisseIF (X11B+X21B+X31B)<0 ThenB1=-1Endif////////////////////////Si HausseIF (X41B+X51B+X61B)>0 ThenB1=1Endif/////////////////////////Si neutre dans de la baisseIF (X11B+X21B+X31B)=0 and Baisse1B=1 ThenB1=0Endif/////////////////////////Si neutre dans de la hausseIF (X41B+X51B+X61B)=0 and Hausse1B=1 ThenB1=0Endif////////////////////////////////////////////////////////////////////////////////////If K4b2[0]<50 ThenBaisse2B=1ElseBaisse2B=0EndifIf K4b2[0]>50 ThenHausse2B=1ElseHausse2B=0Endif///rougeIF ( D4b2[0]<65 AND D4b2[0]<D4b2[1] and K4b2[0]<D4b2[0] and K4b2[0]<30 and K4b2[0]<K4b2[1]) THENX12B=-1ElseX12B=0endifIF (D4b2[0]<55 and K4b2[0]<D4b2[0] and D4b2[0]<D4b2[1]) THENX22B=-1ElseX22B=0endifIF (D4b2[0]<20) THENX32B=-1ElseX32B=0endif////vertIF (D4b2[0]>35 AND D4b2[0]>D4b2[1] and K4b2[0]>D4b2[0] and K4b2[0]>70 and K4b2[0]>K4b2[1]) THENX42B=1ElseX42B=0endifIF (D4b2[0]>55 and K4b2[0]>D4b2[0] and D4b2[0]>D4b2[1]) THENX52B=1ElseX52B=0endifIF (D4b2[0]>80) THENX62B=1ElseX62B=0endif////////////////////////Si BaisseIF (X12B+X22B+X32B)<0 ThenB2=-1Endif////////////////////////Si HausseIF (X42B+X52B+X62B)>0 ThenB2=1Endif/////////////////////////Si neutre dans de la baisseIF (X12B+X22B+X32B)=0 and Baisse2B=1 ThenB2=0Endif/////////////////////////Si neutre dans de la hausseIF (X42B+X52B+X62B)=0 and Hausse2B=1 ThenB2=0EndifTIMEFRAME(4 HOUR)K4Q=Stochastic[PERIODEK,VITESSEK](close)D4Q=average[PERIODED](K4Q)K4Q1=Stochastic[PERIODEK1,VITESSEK1](close)D4Q1=average[PERIODED1](K4Q1)K4Q2=Stochastic[PERIODEK2,VITESSEK2](close)D4Q2=average[PERIODED2](K4Q2)/////////////////////////////////////////////////////If K4Q[0]<50 ThenBaisseQ=1ElseBaisseQ=0EndifIf K4Q[0]>50 ThenHausseQ=1ElseHausseQ=0Endif///rougeIF ( D4Q[0]<65 AND D4Q[0]<D4Q[1] and K4Q[0]<D4Q[0] and K4Q[0]<30 and K4Q[0]<K4Q[1]) THENX1Q=-1ElseX1Q=0endifIF (D4Q[0]<55 and K4Q[0]<D4Q[0] and D4Q[0]<D4Q[1]) THENX2Q=-1ElseX2Q=0endifIF (D4Q[0]<20) THENX3Q=-1ElseX3Q=0endif////vertIF (D4Q[0]>35 AND D4Q[0]>D4Q[1] and K4Q[0]>D4Q[0] and K4Q[0]>70 and K4Q[0]>K4Q[1]) THENX4Q=1ElseX4Q=0endifIF (D4Q[0]>55 and K4Q[0]>D4Q[0] and D4Q[0]>D4Q[1]) THENX5Q=1ElseX5Q=0endifIF (D4Q[0]>80) THENX6Q=1ElseX6Q=0endif////////////////////////Si BaisseIF (X1Q+X2Q+X3Q)<0 ThenQ=-1Endif////////////////////////Si HausseIF (X4Q+X5Q+X6Q)>0 ThenQ=1Endif/////////////////////////Si neutre dans de la QaisseIF (X1Q+X2Q+X3Q)=0 and BaisseQ=1 ThenQ=0Endif/////////////////////////Si neutre dans de la hausseIF (X4Q+X5Q+X6Q)=0 and HausseQ=1 ThenQ=0Endif///////////////////////////////////////////////////////////////////////////////////////////////////////If K4Q1[0]<50 ThenBaisse1Q=1ElseBaisse1Q=0EndifIf K4Q1[0]>50 ThenHausse1Q=1ElseHausse1Q=0Endif///rougeIF ( D4Q1[0]<65 AND D4Q1[0]<D4Q1[1] and K4Q1[0]<D4Q1[0] and K4Q1[0]<30 and K4Q1[0]<K4Q1[1]) THENX11Q=-1ElseX11Q=0endifIF (D4Q1[0]<55 and K4Q1[0]<D4Q1[0] and D4Q1[0]<D4Q1[1]) THENX21Q=-1ElseX21Q=0endifIF (D4Q1[0]<20) THENX31Q=-1ElseX31Q=0endif////vertIF (D4Q1[0]>35 AND D4Q1[0]>D4Q1[1] and K4Q1[0]>D4Q1[0] and K4Q1[0]>70 and K4Q1[0]>K4Q1[1]) THENX41Q=1ElseX41Q=0endifIF (D4Q1[0]>55 and K4Q1[0]>D4Q1[0] and D4Q1[0]>D4Q1[1]) THENX51Q=1ElseX51Q=0endifIF (D4Q1[0]>80) THENX61Q=1ElseX61Q=0endif////////////////////////Si BaisseIF (X11Q+X21Q+X31Q)<0 ThenQ1=-1Endif////////////////////////Si HausseIF (X41Q+X51Q+X61Q)>0 ThenQ1=1Endif/////////////////////////Si neutre dans de la BaisseIF (X11Q+X21Q+X31Q)=0 and Baisse1Q=1 ThenQ1=0Endif/////////////////////////Si neutre dans de la hausseIF (X41Q+X51Q+X61Q)=0 and Hausse1Q=1 ThenQ1=0Endif////////////////////////////////////////////////////////////////////////////////////If K4Q2[0]<50 ThenBaisse2Q=1ElseBaisse2Q=0EndifIf K4Q2[0]>50 ThenHausse2Q=1ElseHausse2Q=0Endif///rougeIF ( D4Q2[0]<65 AND D4Q2[0]<D4Q2[1] and K4Q2[0]<D4Q2[0] and K4Q2[0]<30 and K4Q2[0]<K4Q2[1]) THENX12Q=-1ElseX12Q=0endifIF (D4Q2[0]<55 and K4Q2[0]<D4Q2[0] and D4Q2[0]<D4Q2[1]) THENX22Q=-1ElseX22Q=0endifIF (D4Q2[0]<20) THENX32Q=-1ElseX32Q=0endif////vertIF (D4Q2[0]>35 AND D4Q2[0]>D4Q2[1] and K4Q2[0]>D4Q2[0] and K4Q2[0]>70 and K4Q2[0]>K4Q2[1]) THENX42Q=1ElseX42Q=0endifIF (D4Q2[0]>55 and K4Q2[0]>D4Q2[0] and D4Q2[0]>D4Q2[1]) THENX52Q=1ElseX52Q=0endifIF (D4Q2[0]>80) THENX62Q=1ElseX62Q=0endif////////////////////////Si BaisseIF (X12Q+X22Q+X32Q)<0 ThenQ2=-1Endif////////////////////////Si HausseIF (X42Q+X52Q+X62Q)>0 ThenQ2=1Endif/////////////////////////Si neutre dans de la BaisseIF (X12Q+X22Q+X32Q)=0 and Baisse2Q=1 ThenQ2=0Endif/////////////////////////Si neutre dans de la hausseIF (X42Q+X52Q+X62Q)=0 and Hausse2Q=1 ThenQ2=0EndifTIMEFRAME(30 minutes)K4W=Stochastic[PERIODEK,VITESSEK](close)D4W=average[PERIODED](K4W)K4W1=Stochastic[PERIODEK1,VITESSEK1](close)D4W1=average[PERIODED1](K4W1)K4W2=Stochastic[PERIODEK2,VITESSEK2](close)D4W2=average[PERIODED2](K4W2)/////////////////////////////////////////////////////If K4W[0]<50 ThenBaisseW=1ElseBaisseW=0EndifIf K4W[0]>50 ThenHausseW=1ElseHausseW=0Endif///rougeIF ( D4W[0]<65 AND D4W[0]<D4W[1] and K4W[0]<D4W[0] and K4W[0]<30 and K4W[0]<K4W[1]) THENX1W=-1ElseX1W=0endifIF (D4W[0]<55 and K4W[0]<D4W[0] and D4W[0]<D4W[1]) THENX2W=-1ElseX2W=0endifIF (D4W[0]<20) THENX3W=-1ElseX3W=0endif////vertIF (D4W[0]>35 AND D4W[0]>D4W[1] and K4W[0]>D4W[0] and K4W[0]>70 and K4W[0]>K4W[1]) THENX4W=1ElseX4W=0endifIF (D4W[0]>55 and K4W[0]>D4W[0] and D4W[0]>D4W[1]) THENX5W=1ElseX5W=0endifIF (D4W[0]>80) THENX6W=1ElseX6W=0endif////////////////////////Si BaisseIF (X1W+X2W+X3W)<0 ThenW=-1Endif////////////////////////Si HausseIF (X4W+X5W+X6W)>0 ThenW=1Endif/////////////////////////Si neutre dans de la WaisseIF (X1W+X2W+X3W)=0 and BaisseW=1 ThenW=0Endif/////////////////////////Si neutre dans de la hausseIF (X4W+X5W+X6W)=0 and HausseW=1 ThenW=0Endif///////////////////////////////////////////////////////////////////////////////////////////////////////If K4W1[0]<50 ThenBaisse1W=1ElseBaisse1W=0EndifIf K4W1[0]>50 ThenHausse1W=1ElseHausse1W=0Endif///rougeIF ( D4W1[0]<65 AND D4W1[0]<D4W1[1] and K4W1[0]<D4W1[0] and K4W1[0]<30 and K4W1[0]<K4W1[1]) THENX11W=-1ElseX11W=0endifIF (D4W1[0]<55 and K4W1[0]<D4W1[0] and D4W1[0]<D4W1[1]) THENX21W=-1ElseX21W=0endifIF (D4W1[0]<20) THENX31W=-1ElseX31W=0endif////vertIF (D4W1[0]>35 AND D4W1[0]>D4W1[1] and K4W1[0]>D4W1[0] and K4W1[0]>70 and K4W1[0]>K4W1[1]) THENX41W=1ElseX41W=0endifIF (D4W1[0]>55 and K4W1[0]>D4W1[0] and D4W1[0]>D4W1[1]) THENX51W=1ElseX51W=0endifIF (D4W1[0]>80) THENX61W=1ElseX61W=0endif////////////////////////Si BaisseIF (X11W+X21W+X31W)<0 ThenW1=-1Endif////////////////////////Si HausseIF (X41W+X51W+X61W)>0 ThenW1=1Endif/////////////////////////Si neutre dans de la WaisseIF (X11W+X21W+X31W)=0 and Baisse1W=1 ThenW1=0Endif/////////////////////////Si neutre dans de la hausseIF (X41W+X51W+X61W)=0 and Hausse1W=1 ThenW1=0Endif////////////////////////////////////////////////////////////////////////////////////If K4W2[0]<50 ThenBaisse2W=1ElseBaisse2W=0EndifIf K4W2[0]>50 ThenHausse2W=1ElseHausse2W=0Endif///rougeIF ( D4W2[0]<65 AND D4W2[0]<D4W2[1] and K4W2[0]<D4W2[0] and K4W2[0]<30 and K4W2[0]<K4W2[1]) THENX12W=-1ElseX12W=0endifIF (D4W2[0]<55 and K4W2[0]<D4W2[0] and D4W2[0]<D4W2[1]) THENX22W=-1ElseX22W=0endifIF (D4W2[0]<20) THENX32W=-1ElseX32W=0endif////vertIF (D4W2[0]>35 AND D4W2[0]>D4W2[1] and K4W2[0]>D4W2[0] and K4W2[0]>70 and K4W2[0]>K4W2[1]) THENX42W=1ElseX42W=0endifIF (D4W2[0]>55 and K4W2[0]>D4W2[0] and D4W2[0]>D4W2[1]) THENX52W=1ElseX52W=0endifIF (D4W2[0]>80) THENX62W=1ElseX62W=0endif////////////////////////Si BaisseIF (X12W+X22W+X32W)<0 ThenW2=-1Endif////////////////////////Si HausseIF (X42W+X52W+X62W)>0 ThenW2=1Endif/////////////////////////Si neutre dans de la WaisseIF (X12W+X22W+X32W)=0 and Baisse2W=1 ThenW2=0Endif/////////////////////////Si neutre dans de la hausseIF (X42W+X52W+X62W)=0 and Hausse2W=1 ThenW2=0EndiftimeFrame(default)COMPTAGE=A+A1+A2+B+B1+B2+Q+Q1+Q2+W+W1+W2MAGICSTO=COMPTAGE///////////////////////////////////////////////////////////////// SNIFFERIf Islastbarupdate ThenP2=MAGICSTO[2]P1=MAGICSTO[1]countA=0countB=0countC=0For j=1 to DONNEESIf MAGICSTO[j+1]=P1 and MAGICSTO[j+2]=P2 ThenDRAWPOINT(barindex-(J+1), MAGICSTO[j+1],2) coloured(0,255,255)If MAGICSTO[j]>MAGICSTO[j+1] ThenDeltaA=1ElseDeltaA=0EndifIf MAGICSTO[j]<MAGICSTO[j+1] ThenDeltaB=1ElseDeltaB=0EndifIf MAGICSTO[j]=MAGICSTO[j+1] ThenDeltaC=1ElseDeltaC=0EndifcountA=countA+DELTAAcountB=countB+DELTABcountC=countC+DELTACEndifNext//NOMBRE DE FOISNBFOISNV=(countA+countB+countC)//RATIO NVRATIOH=round((countA*100)/NBFOISNV)RATIOB=round((countB*100)/NBFOISNV)RATIOHN=round(((countA+countC)*100)/NBFOISNV)RATIOBN=round(((countB+countC)*100)/NBFOISNV)SEGMENTH=RATIOH/20SEGMENTB=RATIOB/20SEGMENTHN=RATIOHN/20SEGMENTBN=RATIOBN/20RRH = max(0,50+(200-((RATIOH-10)-50)*12))GGH = max(0,50+(200+((RATIOH-10)-50)*12))RRB = max(0,50+(200-((RATIOB-10)-50)*12))GGB = max(0,50+(200+((RATIOB-10)-50)*12))RRHN = max(0,50+(200-((RATIOHN-10)-50)*12))GGHN = max(0,50+(200+((RATIOHN-10)-50)*12))RRBN = max(0,50+(200-((RATIOBN-10)-50)*12))GGBN = max(0,50+(200+((RATIOBN-10)-50)*12))If P1>0 ThenDRAWTRIANGLE(barindex-1, P1, barindex, P1, barindex, P1+SEGMENTHN)coloured((min(RRHN,255)),(min(GGHN,255)),0,70)bordercolor((min(RRHN,255)),(min(GGHN,255)),0,0)DRAWTRIANGLE(barindex-1, P1, barindex, P1, barindex, P1-SEGMENTB)coloured((min(RRB,255)),(min(GGB,255)),0,70)bordercolor((min(RRB,255)),(min(GGB,255)),0,0)DRAWTEXT("#countA#/ #countC#",Barindex+4,P1+SEGMENTHN,sansserif,bold,10)coloured(min(RRHN,255),min(GGHN,255),0)DRAWTEXT("#countB#",Barindex+4,P1-SEGMENTB,sansserif,bold,10)coloured(min(RRB,255),min(GGB,255),0)DRAWTEXT("#RATIOHN#%",Barindex+2,P1+SEGMENTHN,sansserif,bold,10)coloured(min(RRHN,255),min(GGHN,255),0)DRAWTEXT("#RATIOB#%",Barindex+2,P1-SEGMENTB,sansserif,bold,10)coloured(min(RRB,255),min(GGB,255),0)EndifIf P1<0 ThenDRAWTRIANGLE(barindex-1, P1, barindex, P1, barindex, P1+SEGMENTH)coloured((min(RRH,255)),(min(GGH,255)),0,70)bordercolor((min(RRH,255)),(min(GGH,255)),0,0)DRAWTRIANGLE(barindex-1, P1, barindex, P1, barindex, P1-SEGMENTBN)coloured((min(RRBN,255)),(min(GGBN,255)),0,70)bordercolor((min(RRBN,255)),(min(GGBN,255)),0,0)DRAWTEXT("#countB#/ #countC#",Barindex+4,P1-SEGMENTBN,sansserif,bold,10)coloured(min(RRBN,255),min(GGBN,255),0)DRAWTEXT("#countA#",Barindex+4,P1+SEGMENTH,sansserif,bold,10)coloured(min(RRH,255),min(GGH,255),0)DRAWTEXT("#RATIOBN#%",Barindex+2,P1-SEGMENTBN,sansserif,bold,10)coloured(min(RRBN,255),min(GGBN,255),0)DRAWTEXT("#RATIOH#%",Barindex+2,P1+SEGMENTH,sansserif,bold,10)coloured(min(RRH,255),min(GGH,255),0)EndifIf DataLigne ThenDRAWSEGMENT(barindex, 0, barindex-DONNEES, 0)coloured(0,255,255)DRAWSEGMENT(barindex-DONNEES,-12, barindex-DONNEES, 12)coloured(0,255,255)EndifEndifReturn MAGICSTO as "MAGIC STO-PAST FINDER"J’ai collé le code complet
En fait je regarde sur 4 Time Frame Différents, le positionnement de 3 sto de différentes périodes et vitesses 2/1/2 , 4/2/4, 8/2/8. Il s’appelle donc MAGICSTO à partir de la ligne 893, il a un intervalle de +12 jusqu’à -12.
Sur ce MAGICSTO, dans timeframe défaut je viens regarder les deux derniers antérieurs [1] et [2].
Pour savoir comment est ce qu’ils ont agit dans le passé si : – ils ont rejetté vers le haut – si ils ont été égaux – ou si ils sont descendus.
Hier je pensai que mon code était faux mais en faite non. Le problème était que je regardais sur 10 000 données un historique et il fallait que je charge ma fenêtre du 30 mn sur 10 000 données également.
Le nouveau problème qui se montre à moi est que, parfois j’ai des écarts lorsque le programme tourne voir photos (PROBLEME AVANT ACTUALISATION) . Cela arrive de manière aléatoire. Lorsque je relance le programme tout rentre dans l’ordre voir photo (PROBLEME APRES REDEMARRAGE).
Ma question serait d’ou peut venir le problème et comment le résoudre ?
Merci par avance pour ton aide
Si ce n’est pas clair j’essayerai de reformuler ma demande
03/31/2022 at 11:19 AM #190850J’ai pu constater exactement le même problème sur les deux autres programmes que j’ai pu créer avec la même base (MAGICSTO).
Il y a régulièrement des problèmes d’actualisations avec la même source de données.
Le “module” que j’ai mis dans mon précédent commentaire viendra se plugger sur une fenetre que j’utilise déjà voir si la photo ci-joint.
03/31/2022 at 12:47 PM #190854Ton problème vient sans doute de ton code. La lecture de l’historique implique une seule lecture sur chaque UT d’une information, hors en temps réel à chaque tick tu vas chercher une valeur différente dans chaque UT puisque tu n’utilises pas UPDATEONCLOSE qui renvoie la dernière valeur clôturée (hors ici tu prends la valeur de tes indics dans chaque UT à l’instant T). Je n’ai pas bien pris le temps de lire et comprendre tout ton code, mais cette notion pourrait avoir un impact sur ta valeur calculée en temps réel.
03/31/2022 at 1:56 PM #190861Nicolas merci pour ton retour je vais faire un test
Tu me conseilles de le mettre en debut de code avec DEFPARAM, ou alors de le mettre dans chaque UT ?
Je pense reprendre d’ici quelques temps la “source” pour avoir plus de valeurs et de positionnement dans chaque UT. Cela me permettra d’avoir un intervalle de données beaucoup plus précis que 12 et -12.
04/11/2022 at 9:44 PM #191597Bonsoir Nicolas,
Mon problème est toujours existant, sur chaque relance de programme ou redémarrage de la cession.
Mettre updateonclose dans chaque UT ne met pas utile puisque je cherche à figer à l’instant t dans le TMF defaukt, le positionnement de plusieurs stochastic de différentes UT /périodes /vitesses.
Le triangle que tu peux appercevoir, se base sur les deux derniers antérieurs. Pour pouvoir connaitre qu’elles ont été, les conséquences de ce shémat sur l’instant d’après dans le passé.
Aurais-tu une autre idée pour que je puisse faire disparaître ce problème ?
Merci par avance
past finder123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766DEFPARAM DRAWONLASTBARONLY=trueTIMEFRAME(30 minutes)K4W=Stochastic[PERIODEK,VITESSEK](close)D4W=average[PERIODED](K4W)K4W1=Stochastic[PERIODEK1,VITESSEK1](close)D4W1=average[PERIODED1](K4W1)K4W2=Stochastic[PERIODEK2,VITESSEK2](close)D4W2=average[PERIODED2](K4W2)////////////////////////////////////////////////////////BaisseIF ( D4W[0]<65 AND D4W[0]<D4W[1] and K4W[0]<D4W[0] and K4W[0]<30 and K4W[0]<K4W[1]) THENX1W=-1ElseX1W=0endifIF (D4W[0]<55 and K4W[0]<D4W[0] and D4W[0]<D4W[1]) THENX2W=-1ElseX2W=0endifIF (D4W[0]<20) THENX3W=-1ElseX3W=0endif////HausseIF (D4W[0]>35 AND D4W[0]>D4W[1] and K4W[0]>D4W[0] and K4W[0]>70 and K4W[0]>K4W[1]) THENX4W=1ElseX4W=0endifIF (D4W[0]>55 and K4W[0]>D4W[0] and D4W[0]>D4W[1]) THENX5W=1ElseX5W=0endifIF (D4W[0]>80) THENX6W=1ElseX6W=0endif////////////////////////Si BaisseIF (X1W+X2W+X3W)<0 ThenWB=-1ElseWB=0Endif////////////////////////Si HausseIF (X4W+X5W+X6W)>0 ThenWH=1ElseWH=0Endif//////////////////////////////////////////////////////////////////////////////////////////////////////////BaisseIF ( D4W1[0]<65 AND D4W1[0]<D4W1[1] and K4W1[0]<D4W1[0] and K4W1[0]<30 and K4W1[0]<K4W1[1]) THENX11W=-1ElseX11W=0endifIF (D4W1[0]<55 and K4W1[0]<D4W1[0] and D4W1[0]<D4W1[1]) THENX21W=-1ElseX21W=0endifIF (D4W1[0]<20) THENX31W=-1ElseX31W=0endif////HausseIF (D4W1[0]>35 AND D4W1[0]>D4W1[1] and K4W1[0]>D4W1[0] and K4W1[0]>70 and K4W1[0]>K4W1[1]) THENX41W=1ElseX41W=0endifIF (D4W1[0]>55 and K4W1[0]>D4W1[0] and D4W1[0]>D4W1[1]) THENX51W=1ElseX51W=0endifIF (D4W1[0]>80) THENX61W=1ElseX61W=0endif////////////////////////Si BaisseIF (X11W+X21W+X31W)<0 ThenW1B=-1ElseW1B=0Endif////////////////////////Si HausseIF (X41W+X51W+X61W)>0 ThenW1H=1ElseW1H=0Endif///////////////////////////////////////////////////////////////////////////////////////BaisseIF ( D4W2[0]<65 AND D4W2[0]<D4W2[1] and K4W2[0]<D4W2[0] and K4W2[0]<30 and K4W2[0]<K4W2[1]) THENX12W=-1ElseX12W=0endifIF (D4W2[0]<55 and K4W2[0]<D4W2[0] and D4W2[0]<D4W2[1]) THENX22W=-1ElseX22W=0endifIF (D4W2[0]<20) THENX32W=-1ElseX32W=0endif////HausseIF (D4W2[0]>35 AND D4W2[0]>D4W2[1] and K4W2[0]>D4W2[0] and K4W2[0]>70 and K4W2[0]>K4W2[1]) THENX42W=1ElseX42W=0endifIF (D4W2[0]>55 and K4W2[0]>D4W2[0] and D4W2[0]>D4W2[1]) THENX52W=1ElseX52W=0endifIF (D4W2[0]>80) THENX62W=1ElseX62W=0endif////////////////////////Si BaisseIF (X12W+X22W+X32W)<0 ThenW2B=-1ElseW2B=0Endif////////////////////////Si HausseIF (X42W+X52W+X62W)>0 ThenW2H=1ElseW2H=0EndifTIMEFRAME(1 HOUR)K4a=Stochastic[PERIODEK,VITESSEK](close)D4a=average[PERIODED](K4a)K4a1=Stochastic[PERIODEK1,VITESSEK1](close)D4a1=average[PERIODED1](K4a1)K4a2=Stochastic[PERIODEK2,VITESSEK2](close)D4a2=average[PERIODED2](K4a2)////////////////////////////////////////////////////////BaisseIF ( D4a[0]<65 AND D4a[0]<D4a[1] and K4a[0]<D4a[0] and K4a[0]<30 and K4a[0]<K4a[1]) THENX1A=-1ElseX1A=0endifIF (D4a[0]<55 and K4a[0]<D4a[0] and D4a[0]<D4a[1]) THENX2A=-1ElseX2A=0endifIF (D4a[0]<20) THENX3A=-1ElseX3A=0endif////HausseIF (D4a[0]>35 AND D4a[0]>D4a[1] and K4a[0]>D4a[0] and K4a[0]>70 and K4a[0]>K4a[1]) THENX4A=1ElseX4A=0endifIF (D4a[0]>55 and K4a[0]>D4a[0] and D4a[0]>D4a[1]) THENX5A=1ElseX5A=0endifIF (D4a[0]>80) THENX6A=1ElseX6A=0endif////////////////////////Si BaisseIF (X1A+X2A+X3A)<0 ThenAB=-1ElseAB=0Endif////////////////////////Si HausseIF (X4A+X5A+X6A)>0 ThenAH=1ElseAH=0Endif//////////////////////////////////////////////////////////////////////////////////////////////////////////BaisseIF ( D4a1[0]<65 AND D4a1[0]<D4a1[1] and K4a1[0]<D4a1[0] and K4a1[0]<30 and K4a1[0]<K4a1[1]) THENX11A=-1ElseX11A=0endifIF (D4a1[0]<55 and K4a1[0]<D4a1[0] and D4a1[0]<D4a1[1]) THENX21A=-1ElseX21A=0endifIF (D4a1[0]<20) THENX31A=-1ElseX31A=0endif////HausseIF (D4a1[0]>35 AND D4a1[0]>D4a1[1] and K4a1[0]>D4a1[0] and K4a1[0]>70 and K4a1[0]>K4a1[1]) THENX41A=1ElseX41A=0endifIF (D4a1[0]>55 and K4a1[0]>D4a1[0] and D4a1[0]>D4a1[1]) THENX51A=1ElseX51A=0endifIF (D4a1[0]>80) THENX61A=1ElseX61A=0endif////////////////////////Si BaisseIF (X11A+X21A+X31A)<0 ThenA1B=-1ElseA1B=0Endif////////////////////////Si HausseIF (X41A+X51A+X61A)>0 ThenA1H=1ElseA1H=0Endif///////////////////////////////////////////////////////////////////////////////////////BaisseIF ( D4a2[0]<65 AND D4a2[0]<D4a2[1] and K4a2[0]<D4a2[0] and K4a2[0]<30 and K4a2[0]<K4a2[1]) THENX12A=-1ElseX12A=0endifIF (D4a2[0]<55 and K4a2[0]<D4a2[0] and D4a2[0]<D4a2[1]) THENX22A=-1ElseX22A=0endifIF (D4a2[0]<20) THENX32A=-1ElseX32A=0endif////HausseIF (D4a2[0]>35 AND D4a2[0]>D4a2[1] and K4a2[0]>D4a2[0] and K4a2[0]>70 and K4a2[0]>K4a2[1]) THENX42A=1ElseX42A=0endifIF (D4a2[0]>55 and K4a2[0]>D4a2[0] and D4a2[0]>D4a2[1]) THENX52A=1ElseX52A=0endifIF (D4a2[0]>80) THENX62A=1ElseX62A=0endif////////////////////////Si BaisseIF (X12A+X22A+X32A)<0 ThenA2B=-1ElseA2B=0Endif////////////////////////Si HausseIF (X42A+X52A+X62A)>0 ThenA2H=1ElseA2H=0EndifTIMEFRAME(2 HOUR)K4b=Stochastic[PERIODEK,VITESSEK](close)D4b=average[PERIODED](K4b)K4b1=Stochastic[PERIODEK1,VITESSEK1](close)D4b1=average[PERIODED1](K4b1)K4b2=Stochastic[PERIODEK2,VITESSEK2](close)D4b2=average[PERIODED2](K4b2)////////////////////////////////////////////////////////BaisseIF ( D4b[0]<65 AND D4b[0]<D4b[1] and K4b[0]<D4b[0] and K4b[0]<30 and K4b[0]<K4b[1]) THENX1B=-1ElseX1B=0endifIF (D4b[0]<55 and K4b[0]<D4b[0] and D4b[0]<D4b[1]) THENX2B=-1ElseX2B=0endifIF (D4b[0]<20) THENX3B=-1ElseX3B=0endif////HausseIF (D4b[0]>35 AND D4b[0]>D4b[1] and K4b[0]>D4b[0] and K4b[0]>70 and K4b[0]>K4b[1]) THENX4B=1ElseX4B=0endifIF (D4b[0]>55 and K4b[0]>D4b[0] and D4b[0]>D4b[1]) THENX5B=1ElseX5B=0endifIF (D4b[0]>80) THENX6B=1ElseX6B=0endif////////////////////////Si BaisseIF (X1B+X2B+X3B)<0 ThenBB=-1ElseBB=0Endif////////////////////////Si HausseIF (X4B+X5B+X6B)>0 ThenBH=1ElseBH=0Endif//////////////////////////////////////////////////////////////////////////////////////////////////////////BaisseIF ( D4b1[0]<65 AND D4b1[0]<D4b1[1] and K4b1[0]<D4b1[0] and K4b1[0]<30 and K4b1[0]<K4b1[1]) THENX11B=-1ElseX11B=0endifIF (D4b1[0]<55 and K4b1[0]<D4b1[0] and D4b1[0]<D4b1[1]) THENX21B=-1ElseX21B=0endifIF (D4b1[0]<20) THENX31B=-1ElseX31B=0endif////HausseIF (D4b1[0]>35 AND D4b1[0]>D4b1[1] and K4b1[0]>D4b1[0] and K4b1[0]>70 and K4b1[0]>K4b1[1]) THENX41B=1ElseX41B=0endifIF (D4b1[0]>55 and K4b1[0]>D4b1[0] and D4b1[0]>D4b1[1]) THENX51B=1ElseX51B=0endifIF (D4b1[0]>80) THENX61B=1ElseX61B=0endif////////////////////////Si BaisseIF (X11B+X21B+X31B)<0 ThenB1B=-1ElseB1B=0Endif////////////////////////Si HausseIF (X41B+X51B+X61B)>0 ThenB1H=1ElseB1H=0Endif///////////////////////////////////////////////////////////////////////////////////////BaisseIF ( D4b2[0]<65 AND D4b2[0]<D4b2[1] and K4b2[0]<D4b2[0] and K4b2[0]<30 and K4b2[0]<K4b2[1]) THENX12B=-1ElseX12B=0endifIF (D4b2[0]<55 and K4b2[0]<D4b2[0] and D4b2[0]<D4b2[1]) THENX22B=-1ElseX22B=0endifIF (D4b2[0]<20) THENX32B=-1ElseX32B=0endif////HausseIF (D4b2[0]>35 AND D4b2[0]>D4b2[1] and K4b2[0]>D4b2[0] and K4b2[0]>70 and K4b2[0]>K4b2[1]) THENX42B=1ElseX42B=0endifIF (D4b2[0]>55 and K4b2[0]>D4b2[0] and D4b2[0]>D4b2[1]) THENX52B=1ElseX52B=0endifIF (D4b2[0]>80) THENX62B=1ElseX62B=0endif////////////////////////Si BaisseIF (X12B+X22B+X32B)<0 ThenB2B=-1ElseB2B=0Endif////////////////////////Si HausseIF (X42B+X52B+X62B)>0 ThenB2H=1ElseB2H=0EndifTIMEFRAME(4 HOUR)K4Q=Stochastic[PERIODEK,VITESSEK](close)D4Q=average[PERIODED](K4Q)K4Q1=Stochastic[PERIODEK1,VITESSEK1](close)D4Q1=average[PERIODED1](K4Q1)K4Q2=Stochastic[PERIODEK2,VITESSEK2](close)D4Q2=average[PERIODED2](K4Q2)////////////////////////////////////////////////////////BaisseIF ( D4Q[0]<65 AND D4Q[0]<D4Q[1] and K4Q[0]<D4Q[0] and K4Q[0]<30 and K4Q[0]<K4Q[1]) THENX1Q=-1ElseX1Q=0endifIF (D4Q[0]<55 and K4Q[0]<D4Q[0] and D4Q[0]<D4Q[1]) THENX2Q=-1ElseX2Q=0endifIF (D4Q[0]<20) THENX3Q=-1ElseX3Q=0endif////HausseIF (D4Q[0]>35 AND D4Q[0]>D4Q[1] and K4Q[0]>D4Q[0] and K4Q[0]>70 and K4Q[0]>K4Q[1]) THENX4Q=1ElseX4Q=0endifIF (D4Q[0]>55 and K4Q[0]>D4Q[0] and D4Q[0]>D4Q[1]) THENX5Q=1ElseX5Q=0endifIF (D4Q[0]>80) THENX6Q=1ElseX6Q=0endif////////////////////////Si BaisseIF (X1Q+X2Q+X3Q)<0 ThenQB=-1ElseQB=0Endif////////////////////////Si HausseIF (X4Q+X5Q+X6Q)>0 ThenQH=1ElseQH=0Endif//////////////////////////////////////////////////////////////////////////////////////////////////////////BaisseIF ( D4Q1[0]<65 AND D4Q1[0]<D4Q1[1] and K4Q1[0]<D4Q1[0] and K4Q1[0]<30 and K4Q1[0]<K4Q1[1]) THENX11Q=-1ElseX11Q=0endifIF (D4Q1[0]<55 and K4Q1[0]<D4Q1[0] and D4Q1[0]<D4Q1[1]) THENX21Q=-1ElseX21Q=0endifIF (D4Q1[0]<20) THENX31Q=-1ElseX31Q=0endif////HausseIF (D4Q1[0]>35 AND D4Q1[0]>D4Q1[1] and K4Q1[0]>D4Q1[0] and K4Q1[0]>70 and K4Q1[0]>K4Q1[1]) THENX41Q=1ElseX41Q=0endifIF (D4Q1[0]>55 and K4Q1[0]>D4Q1[0] and D4Q1[0]>D4Q1[1]) THENX51Q=1ElseX51Q=0endifIF (D4Q1[0]>80) THENX61Q=1ElseX61Q=0endif////////////////////////Si BaisseIF (X11Q+X21Q+X31Q)<0 ThenQ1B=-1ElseQ1B=0Endif////////////////////////Si HausseIF (X41Q+X51Q+X61Q)>0 ThenQ1H=1ElseQ1H=0Endif///////////////////////////////////////////////////////////////////////////////////////BaisseIF ( D4Q2[0]<65 AND D4Q2[0]<D4Q2[1] and K4Q2[0]<D4Q2[0] and K4Q2[0]<30 and K4Q2[0]<K4Q2[1]) THENX12Q=-1ElseX12Q=0endifIF (D4Q2[0]<55 and K4Q2[0]<D4Q2[0] and D4Q2[0]<D4Q2[1]) THENX22Q=-1ElseX22Q=0endifIF (D4Q2[0]<20) THENX32Q=-1ElseX32Q=0endif////HausseIF (D4Q2[0]>35 AND D4Q2[0]>D4Q2[1] and K4Q2[0]>D4Q2[0] and K4Q2[0]>70 and K4Q2[0]>K4Q2[1]) THENX42Q=1ElseX42Q=0endifIF (D4Q2[0]>55 and K4Q2[0]>D4Q2[0] and D4Q2[0]>D4Q2[1]) THENX52Q=1ElseX52Q=0endifIF (D4Q2[0]>80) THENX62Q=1ElseX62Q=0endif////////////////////////Si BaisseIF (X12Q+X22Q+X32Q)<0 ThenQ2B=-1ElseQ2B=0Endif////////////////////////Si HausseIF (X42Q+X52Q+X62Q)>0 ThenQ2H=1ElseQ2H=0EndiftimeFrame(default,UPDATEONCLOSE)////////////////////////////////////////////////////////////////////////COMPTAGE=WB+WH+W1B+W1H+W2B+W2H+AB+AH+A1B+A1H+A2B+A2H+BB+BH+B1B+B1H+B2B+B2H+QB+QH+Q1B+Q1H+Q2B+Q2HMAGICSTO=COMPTAGE///////////////////////////////////////////////////////////////// SNIFFERIf Islastbarupdate ThenP2=MAGICSTO[2]P1=MAGICSTO[1]countA=0countB=0countC=0For j=1 to DONNEESIf MAGICSTO[j+1]=P1 and MAGICSTO[j+2]=P2 ThenIf MAGICSTO[j]>MAGICSTO[j+1] ThenDeltaA=1ElseDeltaA=0EndifIf MAGICSTO[j]<MAGICSTO[j+1] ThenDeltaB=1ElseDeltaB=0EndifIf MAGICSTO[j]=MAGICSTO[j+1] ThenDeltaC=1ElseDeltaC=0EndifcountA=countA+DELTAAcountB=countB+DELTABcountC=countC+DELTACEndifNext//NOMBRE DE FOISNBFOISNV=(countA+countB+countC)//RATIO NVRATIOH=round((countA*100)/NBFOISNV)RATIOB=round((countB*100)/NBFOISNV)RATIOHN=round(((countA+countC)*100)/NBFOISNV)RATIOBN=round(((countB+countC)*100)/NBFOISNV)SEGMENTH=RATIOH/20SEGMENTB=RATIOB/20SEGMENTHN=RATIOHN/20SEGMENTBN=RATIOBN/20RRH = max(0,50+(200-((RATIOH-10)-50)*12))GGH = max(0,50+(200+((RATIOH-10)-50)*12))RRB = max(0,50+(200-((RATIOB-10)-50)*12))GGB = max(0,50+(200+((RATIOB-10)-50)*12))RRHN = max(0,50+(200-((RATIOHN-10)-50)*12))GGHN = max(0,50+(200+((RATIOHN-10)-50)*12))RRBN = max(0,50+(200-((RATIOBN-10)-50)*12))GGBN = max(0,50+(200+((RATIOBN-10)-50)*12))If P1>0 ThenDRAWTRIANGLE(barindex-1, P1, barindex, P1+SEGMENTHN, barindex+1, P1)coloured((min(RRHN,255)),(min(GGHN,255)),0,70)bordercolor((min(RRHN,255)),(min(GGHN,255)),0,0)DRAWTRIANGLE(barindex-1, P1, barindex, P1-SEGMENTB, barindex+1, P1)coloured((min(RRB,255)),(min(GGB,255)),0,70)bordercolor((min(RRB,255)),(min(GGB,255)),0,0)DRAWTEXT("#countA#/#countC#",Barindex+5,P1+SEGMENTHN,sansserif,bold,10)coloured(min(RRHN,255),min(GGHN,255),0)DRAWTEXT("#countB#",Barindex+5,P1-SEGMENTB,sansserif,bold,10)coloured(min(RRB,255),min(GGB,255),0)DRAWTEXT("#RATIOHN#%",Barindex+2,P1+SEGMENTHN,sansserif,bold,10)coloured(min(RRHN,255),min(GGHN,255),0)DRAWTEXT("#RATIOB#%",Barindex+2,P1-SEGMENTB,sansserif,bold,10)coloured(min(RRB,255),min(GGB,255),0)EndifIf P1<0 ThenDRAWTRIANGLE(barindex-1, P1, barindex, P1+SEGMENTH, barindex+1, P1)coloured((min(RRH,255)),(min(GGH,255)),0,70)bordercolor((min(RRH,255)),(min(GGH,255)),0,0)DRAWTRIANGLE(barindex-1, P1, barindex, P1-SEGMENTBN, barindex+1, P1)coloured((min(RRBN,255)),(min(GGBN,255)),0,70)bordercolor((min(RRBN,255)),(min(GGBN,255)),0,0)DRAWTEXT("#countB#/#countC#",Barindex+5,P1-SEGMENTBN,sansserif,bold,10)coloured(min(RRBN,255),min(GGBN,255),0)DRAWTEXT("#countA#",Barindex+5,P1+SEGMENTH,sansserif,bold,10)coloured(min(RRH,255),min(GGH,255),0)DRAWTEXT("#RATIOBN#%",Barindex+2,P1-SEGMENTBN,sansserif,bold,10)coloured(min(RRBN,255),min(GGBN,255),0)DRAWTEXT("#RATIOH#%",Barindex+2,P1+SEGMENTH,sansserif,bold,10)coloured(min(RRH,255),min(GGH,255),0)EndifIf DataLigne ThenDRAWSEGMENT(barindex, 0, barindex-DONNEES, 0)coloured(0,255,255)DRAWSEGMENT(barindex-DONNEES,-12, barindex-DONNEES, 12)coloured(0,255,255)EndifEndifReturn -
AuthorPosts
Find exclusive trading pro-tools on