Croisement de 2 indicateurs
Forums › ProRealTime forum Français › Support ProScreener › Croisement de 2 indicateurs
- This topic has 4 replies, 2 voices, and was last updated 2 years ago by finplus.
-
-
09/25/2022 at 10:50 AM #201339
Bonjour,
j’ai tenté de coder le screener suivant qui est un simple croisement de 2 indicateurs (celui en 4h croise celui en daily) dont j’avais demandé l’adaptation pour Prorealtime (merci encore Nicolas).
J’ai l’impression que mon codage n’est pas parfait car certains croisements n’apparaissent pas correctement.
Quelqu’un pourrait il y jeter un oeil et éventuellement apporter les corrections nécessaires (il fonctionne en UT 4heures).
Merci.
Croisement de 2 indicateurs en Daily et en 4h12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485//////////////////////////////// Trend Envelopppestimeframe(Daily)timePeriodDaily=14DeviationDaily=0.1price1Daily=customclosedsmaDaily = WeightedAverage[timePeriodDaily](price1Daily)valuesHighDaily = (1 + deviationDaily / 100) * dsmaDailyvaluesLowDaily = (1 - deviationDaily / 100) * dsmaDailyinputsDaily=price1Dailyif (inputsDaily > valuesHighDaily)thentrendDaily = 1elsif (inputsDaily < valuesLowDaily) thentrendDaily = -1endifif (trendDaily > 0) thenif ( valuesLowDaily < valuesLowDaily[1]) thenvaluesLowDaily = valuesLowDaily[1]endifif trendDaily[1]>0 thenoutputs0Daily = valuesLowDailyoutputs1Daily = valueshighDailyendifelseif (valuesHighDaily > valuesHighDaily[1]) thenvaluesHighDaily = valuesHighDaily[1]endifif trendDaily[1]<0 thenoutputs1Daily = valuesHighDailyoutputs0Daily = valueslowDailyendifendifTimeframe (4 hours)//////////////////////////////// Trend EnvelopppestimePeriod=14Deviation=0.1price1=customclosedsma = WeightedAverage[timePeriod](price1)valuesHigh = (1 + deviation / 100) * dsmavaluesLow = (1 - deviation / 100) * dsmainputs=price1if (inputs > valuesHigh)thentrend = 1elsif (inputs < valuesLow) thentrend = -1endifif (trend > 0) thenif ( valuesLow < valuesLow[1]) thenvaluesLow = valuesLow[1]endifif trend[1]>0 thenoutputs0 = valuesLowoutputs1 = valueshighendifelseif (valuesHigh > valuesHigh[1]) thenvaluesHigh = valuesHigh[1]endifif trend[1]<0 thenoutputs1 = valuesHighoutputs0 = valueslowendifendifCrossUp = (outputs0 crosses over outputs0Daily)CrossDn = (outputs1 crosses under Outputs1Daily)Screener [CrossUp or CrossDn]09/26/2022 at 9:10 AM #20140009/26/2022 at 4:46 PM #201451Bonsoir, je ne comprends pas la demande. L’indicateur est disponible dans ma demande. Le rendu est dans le graphique en pièce jointe (paire CHF JPY) prise le 26 septembre à 17h45 environ Time frame 4 heure : une courbe en tracé plein donc en UT 4 heures et une 2ème en tracé en pointillé qui correspond à l’indicateur en daily.
09/26/2022 at 6:25 PM #201458Je les ajoute tous les deux sur une UT 4 heures
1234567891011121314151617181920212223242526272829303132333435363738394041424344//////////////////////////////// Trend Envelopppestimeframe(Daily,updateonclose)timePeriod=14Deviation=0.1price1=customclosedsma = WeightedAverage[timePeriod](price1)valuesHigh = (1 + deviation / 100) * dsmavaluesLow = (1 - deviation / 100) * dsmainputs=price1if (inputs > valuesHigh)thentrend = 1elsif (inputs < valuesLow) thentrend = -1endifif (trend > 0) thenalpha1 = 0if ( valuesLow < valuesLow[1]) thenvaluesLow = valuesLow[1]endifif trend[1]>0 thenoutputs0 = valuesLowoutputs1 = valueshighalpha0 = 255endifelsealpha0=0if (valuesHigh > valuesHigh[1]) thenvaluesHigh = valuesHigh[1]endifif trend[1]<0 thenoutputs1 = valuesHighoutputs0 = valueslowalpha1 = 255endifendifreturn outputs0 coloured(65,105,225,alpha0) as "EnvelopUpDaily", outputs1 coloured(255,0,0,alpha1) as "EnvelopdnDaily"12345678910111213141516171819202122232425262728293031323334353637383940414243//////////////////////////////// Trend EnvelopppestimePeriod=14Deviation=0.1price1=customclosedsma = WeightedAverage[timePeriod](price1)valuesHigh = (1 + deviation / 100) * dsmavaluesLow = (1 - deviation / 100) * dsmainputs=price1if (inputs > valuesHigh)thentrend = 1elsif (inputs < valuesLow) thentrend = -1endifif (trend > 0) thenalpha1 = 0if ( valuesLow < valuesLow[1]) thenvaluesLow = valuesLow[1]endifif trend[1]>0 thenoutputs0 = valuesLowoutputs1 = valueshighalpha0 = 255endifelsealpha0=0if (valuesHigh > valuesHigh[1]) thenvaluesHigh = valuesHigh[1]endifif trend[1]<0 thenoutputs1 = valuesHighoutputs0 = valueslowalpha1 = 255endifendifreturn outputs0 coloured(65,105,225,alpha0) as "EnvelopUp", outputs1 coloured(255,0,0,alpha1) as "Envelopdn"10/08/2022 at 6:04 PM #202116 -
AuthorPosts
Find exclusive trading pro-tools on