Twin Range Filter Statégy
Forums › ProRealTime forum Français › Support ProOrder › Twin Range Filter Statégy
- This topic has 7 replies, 3 voices, and was last updated 1 year ago by RICOU.
-
-
09/02/2023 at 5:37 PM #22022609/07/2023 at 8:39 PM #220523
Bonjour,
je me permets de relancer le message car je n’ai pas eu de réponse à ma première requête.
Est ce qu’il existe une stratégie basée sur l’indicateur “Twin Range Filter” dévéloppée par Nicolas ?
J’ai essayé de le faire mais ça ne fonctionne pas, help !!!
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364//PRC_Twing Range Filter | indicator//28.03.2023//Nicolas @ www.prorealcode.com//Sharing ProRealTime knowledge//author: colinmck// --- settingsper1 = 27 //"Fast period"mult1 = 1.6 //"Fast range"per2 = 55 //"Slow period"mult2 = 2 //"Slow range"// --- end of settingssource = customcloseonce wper1 = per1 * 2 - 1avrng1 = average[per1,1](abs(source - source[1]))smrng1 = average[wper1,1](avrng1) * mult1once wper2 = per2 * 2 - 1avrng2 = average[per2,1](abs(source - source[1]))smrng2 = average[wper2,1](avrng2) * mult2smrng = (smrng1 + smrng2) / 2r = smrngif source>rngfilt[1] thenif (source-r)<rngfilt[1] thenrngfilt=rngfilt[1]elserngfilt=source-rendifelsif (source+r)>rngfilt[1] thenrngfilt=rngfilt[1]elserngfilt=source+rendifif rngfilt > rngfilt[1] thenupward=upward+1downward=0endifif rngfilt < rngfilt[1] thenupward=0downward=downward+1endiflongCond = (source > rngfilt and source > source[1] and upward > 0) or (source > rngfilt and source < source[1] and upward > 0)shortCond = (source < rngfilt and source < source[1] and downward > 0) or (source < rngfilt and source > source[1] and downward > 0)if longcond thencolorr=0colorg=255elsif shortcond thencolorr=255colorg=0endifif colorr=0 and colorr[1]=255 thendrawarrowup(barindex,min(low,rngfilt)-averagetruerange[14]/2) coloured("blue")endifif colorr=255 and colorr[1]=0 thendrawarrowdown(barindex,max(high,rngfilt)+averagetruerange[14]/2) coloured("yellow")endifreturn rngfilt coloured(colorr,colorg,0) style(line,2)09/08/2023 at 10:25 AM #220561Bonjour,
code ci-dessus mis au format du bouton “insert PRT code” pour meilleure lisibilité.
Est ce qu’il existe une stratégie basée sur l’indicateur “Twin Range Filter” dévéloppée par Nicolas ?
Pas à ma connaissance, après avoir consulté ce que retourne le moteur de recherche interne du site.
Dans le post de la library dont voici le lien:
https://www.prorealcode.com/prorealtime-indicators/twin-range-filter/
il est indiqué dans le texte: “(…) but there’s still too much noise here to set and forget with bots. Use it as the basis of your own system with additional filtering on top.” – Traduction: il y a trop de bruit pour en faire un robot qui achète automatiquement sur les seuls signaux longcond, shortcond, à utiliser comme base pour vos propres systèmes en y ajoutant vos filtres.
Donc coder un buy en cas de variable longcond vraie et un sell en cas de variable sellcond vraie ne suffira pas, il faut d’autres règles à coder pour filtrer les interventions.
09/08/2023 at 11:04 AM #220565Ci-dessous le code de la stratégie depuis ce code d’indicateur.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455defparam cumulateorders=false//PRC_Twing Range Filter | indicator//28.03.2023//Nicolas @ www.prorealcode.com//Sharing ProRealTime knowledge//author: colinmck// --- settingsper1 = 27 //"Fast period"mult1 = 1.6 //"Fast range"per2 = 55 //"Slow period"mult2 = 2 //"Slow range"// --- end of settingssource = customcloseonce wper1 = per1 * 2 - 1avrng1 = average[per1,1](abs(source - source[1]))smrng1 = average[wper1,1](avrng1) * mult1once wper2 = per2 * 2 - 1avrng2 = average[per2,1](abs(source - source[1]))smrng2 = average[wper2,1](avrng2) * mult2smrng = (smrng1 + smrng2) / 2r = smrngif source>rngfilt[1] thenif (source-r)<rngfilt[1] thenrngfilt=rngfilt[1]elserngfilt=source-rendifelsif (source+r)>rngfilt[1] thenrngfilt=rngfilt[1]elserngfilt=source+rendifif rngfilt > rngfilt[1] thenupward=upward+1downward=0endifif rngfilt < rngfilt[1] thenupward=0downward=downward+1endiflongCond = (source > rngfilt and source > source[1] and upward > 0) or (source > rngfilt and source < source[1] and upward > 0)shortCond = (source < rngfilt and source < source[1] and downward > 0) or (source < rngfilt and source > source[1] and downward > 0)if longcond and not longonmarket thenbuy at marketelsif shortcond and not shortonmarket thensellshort at marketendif09/09/2023 at 8:35 AM #22060909/09/2023 at 8:44 AM #220610Ce code fonctionne très bien, en revanche j’aimerai le modifier de la façon suivante :
. déclenchement d’un ordre en fonction des critères actuels et mise en place d’un stop loss, je ne veux pas que la stratégie “tourne en boucle”, avec ouverture de la bougie suivante à la fermeture de la précédente.
Par avance, merci.
09/11/2023 at 10:26 AM #22069409/11/2023 at 5:54 PM #220791 -
AuthorPosts
Find exclusive trading pro-tools on