Bonjour!
Voici la stratégie “Short”. Merci @lannogeoffrey.
//PRC_AnotherRSIdivergences | indicator to Strategy
//25.02.2019
//Nicolas @ www.prorealcode.com
//Sharing ProRealTime knowledge
// Definition of code parameters
DEFPARAM CumulateOrders = False
DEFPARAM FLATBEFORE = 100000
DEFPARAM FLATAFTER = 181500
noEntryBeforeTime = 100000
timeEnterBefore = time >= noEntryBeforeTime
noEntryAfterTime = 173000
timeEnterAfter = time < noEntryAfterTime
daysForbiddenEntry = OpenDayOfWeek = 6 OR OpenDayOfWeek = 0
// --- settings
RSIp=14
obLevel=70
osLevel=30
// --- end of settings
irsi = rsi[RSIp]
ob = irsi>obLevel
os = irsi<osLevel
if ob then
if not ob[1] then
maxrsi = 0
maxprice = 0
endif
maxrsi=max(maxrsi,irsi)
maxprice=max(maxprice,high)
if maxrsi<>maxrsi[1] then
endif
endif
if os then
if not os[1] then
minrsi = 100
minprice = close*100
endif
minrsi=min(minrsi,irsi)
minprice=min(minprice,low)
if minrsi<>minrsi[1] then
endif
endif
if irsi crosses under obLevel then
div = maxprice>oldmaxprice and maxrsi<oldmaxrsi
MMFilter = Average[10000](close)
c1 = (close < MMFilter)
MyVolume = Volume
c2 = (MyVolume >= 400)
if c1 AND summation [1](c2) AND div AND timeEnterBefore AND timeEnterAfter AND not daysForbiddenEntry then
SELLSHORT 1 CONTRACT AT MARKET
endif
oldmaxrsi = maxrsi
oldmaxprice = maxprice
endif
//
if irsi crosses over osLevel then
div = minprice<oldminprice and minrsi>oldminrsi
ENDIF
oldminrsi = minrsi
oldminprice = minprice
//trailing stop
trailingstop = (close*0.003)/pointsize
if not onmarket then
MINPRICE = close
priceexit = 0
endif
if shortonmarket then
MINPRICE = MIN(MINPRICE,close)
if tradeprice(1)-MINPRICE>=trailingstop*pointsize then
priceexit = MINPRICE+trailingstop*pointsize
endif
endif
if onmarket and priceexit>0 then
EXITSHORT AT priceexit STOP
endif
startBreakeven = (close*0.0025)/pointsize
PointsToKeep = 3
IF NOT ONMARKET THEN
breakevenLevel=0
ENDIF
IF SHORTONMARKET AND tradeprice(1)-close>startBreakeven*pipsize THEN
breakevenLevel = tradeprice(1)-PointsToKeep*pipsize
ENDIF
IF breakevenLevel>0 THEN
EXITSHORT AT breakevenLevel STOP
ENDIF
SET STOP %LOSS 0.5
SET TARGET %PROFIT 0.6
Les signaux de divergences dont tu parles sont sans aucun doute écartés car le RSI n’a pas été sur-acheté (ou sur-vendu, je ne me souviens plus de l’exemple) d’a minima de X bougies (minimalBars).
Bonjour Nicolas,
Je reviens vers toi concernant l’indicateur pour deux choses :
- j’essais de faire afficher des flèches sur le graphique des prix avec le niveau d’entrée (qui est le prix de clôture de la barre signal), mais sans succès, la flèche n’apparaît pas ou apparaît au mauvais endroit par rapport au signal donné par l’indicateur. Pourrais tu m’aider.
- j’ai remarqué dans le codes les formules suivantes “divseel=osLevel” et “divby=osLevle”, est ce que le “divby” ne devrait pas être égale à “obLevel” ?
- Merci de ton aide.
Bonjour Nicolas,
J’ai essayé de faire évoluer le code pour afficher les divergences cachées suivant le même principe mais j’avoue me mélanger les pinceaux.
Merci pour ton aide.
Geoffrey
Merci de fournir des exemples, à minima ! 😕
Désolé.
En voici un.
On voit le rsi qui fait un nouveau plus bas plus bas que le précédent alors que les prix font un nouveau plus bas plus haut que le précédent. (inversement pour les ventes).
Merci Nicolas
Donc il faudrait ajouter ce type de divergences dans l’indicateur que j’ai fais en première page du sujet ?
Oui tout à fait. Si tu veux bien.
Je pense que ça pourra lui donner un peu de piquant en plus 😉
Pas assez précis, des rectangles qui englobent 3 creux du prix, on prend lequel pour le comparer au RSI ? Il y a énormément de barres entre les creux qui détectent cette divergence (au moins une 50aine, quid du réglage de minimalBars de l’indicateur d’origine ? toutes les divergences entre 1 et 50 unités ne seraient pas détectées).
C’est très difficile de comparer une perception visuelle avec un code qui fait strictement ce quoi pour lequel il est programmé. On pourrait tâcher de faire un code qui trouvera cette divergence précisément, mais plein d’autres seront écartées, des divergences entre les flèches que tu as tracées, il y en a d’autres aussi..
Par ailleurs on est assez éloigné de l’indicateur original, puisque les règles précises de la vidéo ne sont plus respectées dans le cas présent.
As-tu regardé du côté des autres codes de divergences accessibles sur le site ? Liens génériques (et non exhaustif de ce qui est présent sur le site) :
https://www.prorealcode.com/topics-tag/divergences/
https://www.prorealcode.com/tag/divergences/
Bonjour,
Vous serait-il possible de créer un screener associé à cet indicateur ?
Ci-joint le screener pour la détection des divergences haussières et baissières selon la méthode de l’indicateur décrite dans ce sujet.
DIOSParticipant
Junior
Bonjour,
j’ai ajouté la stratégie short de l’indicateur mais j’ai pleins d’erreur, j’ai pro realtime 11.1
ci joins la photo avec les codes erreur.
Merci pour vos retour
DIOSParticipant
Junior
Bon, j’ai trouvé j’ai importé le fichier que Nicolas avez posté.
Je reviens vers vous pour d’autre demande merci beaucoup
DIOSParticipant
Junior
Voila donc l’indicateur installé
Pourriez vous m’aider à le modifier
J’aimerai bien:
Epaissir la taille du trait rouge et vert.
Enlever les flêches rouge est verte
Je n’arrive pas non plus dans les options configurer de l’indicateur de trouver la ligne 30 et 70 de zone de sur achat et sur vente pour pouvoir en modifier la couleur, trait etc etc.
Merci pour votre patience par avance.
Pour reboucler l’information, autre version du screener liée à cet indicateur disponible dans ce sujet : https://www.prorealcode.com/topic/a-propos-du-screener-another-rsi-divergences/#post-156395