ProRealCode - Trading & Coding with ProRealTime™
Bonjour !
Je viens demander un coup de main suite à la création d’un Screener
Celui-ci me retourne des erreur de temps à autre, dans le code, les variable demande les conditions suivantes avec ichimoku
Nuage haussier // Tenkan > Kijun // Chikou > tout les éléments // prix > tout les éléments, tout ça en journalier + hebdo
Il ne me semble pas avoir fait d’erreur dans l’écriture, mais pourtant le screener me retourne certaines actions qui ne respectent pas les conditions
Je vous montre en image deux erreurs qu’il m’a retournées et le code en suivant
Savez-vous me dire si j’ai fait une quelconque erreur ou s’il y a un moyen d’éviter ça ?
Merci bien !
//
//=/===============/=//=/ Indicateur
//=/ Ichimoku
H1xM0 = highest[9](close)
L1xM0 = lowest[9](close)
//=//
H2xM0 = highest[26](close)
L2xM0 = lowest[26](close)
//=//
H3xM0 = highest[52](close)
L3xM0 = lowest[52](close)
//=//
TKxM0 = (H1xM0+L1xM0)/2
KJxM0 = (H2xM0+L2xM0)/2
SAxM0 = (TKxM0[26]+KJxM0[26])/2
SBxM0 = (H3xM0[26]+L3xM0[26])/2
//=//
XAxM0 = (TKxM0+KJxM0)/2
XBxM0 = (H3xM0+L3xM0)/2
//=/ Ichimoku
timeframe(weekly)
H1xM1 = highest[9](close)
L1xM1 = lowest[9](close)
//=//
H2xM1 = highest[26](close)
L2xM1 = lowest[26](close)
//=//
H3xM1 = highest[52](close)
L3xM1 = lowest[52](close)
//=//
TKxM1 = (H1xM1+L1xM1)/2
KJxM1 = (H2xM1+L2xM1)/2
SAxM1 = (TKxM1[26]+KJxM1[26])/2
SBxM1 = (H3xM1[26]+L3xM1[26])/2
//=//
XAxM1 = (TKxM1+KJxM1)/2
XBxM1 = (H3xM1+L3xM1)/2
timeframe(default)
//
//=/===============/=//=/ Bias Haussier
//=/ Conditions
BHxM0x1 = close > TKxM0[26] and close > KJxM0[26] and close > SAxM0[26] and close > SBxM0[26]
BHxM0x2 = (TKxM0 > KJxM0) or (TKxM0 = KJxM0 and TKxM0 > TKxM0[1] and KJxM0 > KJxM0[1])
BHxM0x3 = (XAxM0 > XBxM0) or (XAxM0 = XBxM0 and XAxM0 > XAxM0[1] and XBxM0 > XBxM0[1])
BHxM0x4 = close > TKxM0 and close > KJxM0 and close > SAxM0 and close > SBxM0
//=//
if BHxM0x1 and BHxM0x2 and BHxM0x3 and BHxM0x4 then
BHxM0 = 1
else
BHxM0 = 0
endif
//=/ Conditions
timeframe(weekly)
BHxM1x1 = close > TKxM1[26] and close > KJxM1[26] and close > SAxM1[26] and close > SBxM1[26]
BHxM1x2 = (TKxM1 > KJxM1) or (TKxM1 = KJxM1 and TKxM1 > TKxM1[1] and KJxM1 > KJxM1[1])
BHxM1x3 = (XAxM1 > XBxM1) or (XAxM1 = XBxM1 and XAxM1 > XAxM1[1] and XBxM1 > XBxM1[1])
BHxM1x4 = close > TKxM1 and close > KJxM1 and close > SAxM1 and close > SBxM1
//=//
if BHxM1x1 and BHxM1x2 and BHxM1x3 and BHxM1x4 then
BHxM1 = 1
else
BHxM1 = 0
endif
timeframe(default)
if BHxM0 = 1 and BHxM1 = 1 then
Trend = 1
else
Trend = 0
endif
//
//=/===============/=//=/ Screener
screener [Trend = 1]
Code avec plus de précision pour vous repérer
//
//=/===============/=//=/ Indicateur
//=/ Ichimoku
H1xM0 = highest[9](close)
L1xM0 = lowest[9](close)
//=//
H2xM0 = highest[26](close)
L2xM0 = lowest[26](close)
//=//
H3xM0 = highest[52](close)
L3xM0 = lowest[52](close)
//=//
TKxM0 = (H1xM0+L1xM0)/2 // Tenkan
KJxM0 = (H2xM0+L2xM0)/2 // Kijun
SAxM0 = (TKxM0[26]+KJxM0[26])/2 // SSA futur
SBxM0 = (H3xM0[26]+L3xM0[26])/2 // SSB futur
//=//
XAxM0 = (TKxM0+KJxM0)/2 // SSA réel (non décaller pour calcul nuage haussier)
XBxM0 = (H3xM0+L3xM0)/2 // SSB réel
//=/ Ichimoku
timeframe(weekly)
H1xM1 = highest[9](close)
L1xM1 = lowest[9](close)
//=//
H2xM1 = highest[26](close)
L2xM1 = lowest[26](close)
//=//
H3xM1 = highest[52](close)
L3xM1 = lowest[52](close)
//=//
TKxM1 = (H1xM1+L1xM1)/2 // Tenkan
KJxM1 = (H2xM1+L2xM1)/2 // Kijun
SAxM1 = (TKxM1[26]+KJxM1[26])/2 // SSA futur
SBxM1 = (H3xM1[26]+L3xM1[26])/2 // SSB futur
//=//
XAxM1 = (TKxM1+KJxM1)/2 // SSA réel
XBxM1 = (H3xM1+L3xM1)/2 // SSB réel
timeframe(default)
//
//=/===============/=//=/ Bias Haussier
//=/ Conditions
BHxM0x1 = close > TKxM0[26] and close > KJxM0[26] and close > SAxM0[26] and close > SBxM0[26] // Chikou > Tout
BHxM0x2 = (TKxM0 > KJxM0) or (TKxM0 = KJxM0 and TKxM0 > TKxM0[1] and KJxM0 > KJxM0[1]) // Tenkan > Kijun
BHxM0x3 = (XAxM0 > XBxM0) or (XAxM0 = XBxM0 and XAxM0 > XAxM0[1] and XBxM0 > XBxM0[1]) // SSA > SSB (Nuage futur haussier)
BHxM0x4 = close > TKxM0 and close > KJxM0 and close > SAxM0 and close > SBxM0 // Prix > Tout
//=//
if BHxM0x1 and BHxM0x2 and BHxM0x3 and BHxM0x4 then // Positif ou négatif conditions
BHxM0 = 1
else
BHxM0 = 0
endif
//=/ Conditions
timeframe(weekly)
BHxM1x1 = close > TKxM1[26] and close > KJxM1[26] and close > SAxM1[26] and close > SBxM1[26] // Chikou > Tout
BHxM1x2 = (TKxM1 > KJxM1) or (TKxM1 = KJxM1 and TKxM1 > TKxM1[1] and KJxM1 > KJxM1[1]) // Tenkan > Kijun
BHxM1x3 = (XAxM1 > XBxM1) or (XAxM1 = XBxM1 and XAxM1 > XAxM1[1] and XBxM1 > XBxM1[1]) // SSA > SSB (Nuage futur haussier)
BHxM1x4 = close > TKxM1 and close > KJxM1 and close > SAxM1 and close > SBxM1 // Prix > Tout
//=//
if BHxM1x1 and BHxM1x2 and BHxM1x3 and BHxM1x4 then // Positif ou négatif conditions
BHxM1 = 1
else
BHxM1 = 0
endif
timeframe(default)
if BHxM0 = 1 and BHxM1 = 1 then // Positif ou négatif conditions regrouper
Trend = 1
else
Trend = 0
endif
//
//=/===============/=//=/ Screener
screener [Trend = 1]
Avant de m’aventurer dans ton code et d’essayer de comprendre toutes ces conditions, as-tu essayé de transposer cela dans un indicateur et de vérifier tes conditions sur le graphique ?
En effet oui
Si je supprime le mode multi timeframe ça ne change rien au problème non plus..
Je pense qu’il est question d’un problème autre que mon code, mais peut-être y a t’il quand même une erreur ?
En image, l’indicateur me retourne 0 si les conditions son nul ou 1 si elles sont présente, sur l’image qui suit avec le code de l’indicateur on constate que l’erreur ne vient pas du code, ou du moins pas de l’indicateur
Peut-être y a t’il une subtilité a ajouter au screener ??
//
//=/===============/=//=/ Indicateur
//=/ Ichimoku
H1xM0 = highest[9](close)
L1xM0 = lowest[9](close)
//=//
H2xM0 = highest[26](close)
L2xM0 = lowest[26](close)
//=//
H3xM0 = highest[52](close)
L3xM0 = lowest[52](close)
//=//
TKxM0 = (H1xM0+L1xM0)/2 // Tenkan
KJxM0 = (H2xM0+L2xM0)/2 // Kijun
SAxM0 = (TKxM0[26]+KJxM0[26])/2 // SSA futur
SBxM0 = (H3xM0[26]+L3xM0[26])/2 // SSB futur
//=//
XAxM0 = (TKxM0+KJxM0)/2 // SSA réel (non décaller pour calcul nuage haussier)
XBxM0 = (H3xM0+L3xM0)/2 // SSB réel
//=/ Ichimoku
timeframe(weekly)
H1xM1 = highest[9](close)
L1xM1 = lowest[9](close)
//=//
H2xM1 = highest[26](close)
L2xM1 = lowest[26](close)
//=//
H3xM1 = highest[52](close)
L3xM1 = lowest[52](close)
//=//
TKxM1 = (H1xM1+L1xM1)/2 // Tenkan
KJxM1 = (H2xM1+L2xM1)/2 // Kijun
SAxM1 = (TKxM1[26]+KJxM1[26])/2 // SSA futur
SBxM1 = (H3xM1[26]+L3xM1[26])/2 // SSB futur
//=//
XAxM1 = (TKxM1+KJxM1)/2 // SSA réel
XBxM1 = (H3xM1+L3xM1)/2 // SSB réel
timeframe(default)
//
//=/===============/=//=/ Bias Haussier
//=/ Conditions
BHxM0x1 = close > TKxM0[26] and close > KJxM0[26] and close > SAxM0[26] and close > SBxM0[26] // Chikou > Tout
BHxM0x2 = (TKxM0 > KJxM0) or (TKxM0 = KJxM0 and TKxM0 > TKxM0[1] and KJxM0 > KJxM0[1]) // Tenkan > Kijun
BHxM0x3 = (XAxM0 > XBxM0) or (XAxM0 = XBxM0 and XAxM0 > XAxM0[1] and XBxM0 > XBxM0[1]) // SSA > SSB (Nuage futur haussier)
BHxM0x4 = close > TKxM0 and close > KJxM0 and close > SAxM0 and close > SBxM0 // Prix > Tout
//=//
if BHxM0x1 and BHxM0x2 and BHxM0x3 and BHxM0x4 then // Positif ou négatif conditions
BHxM0 = 1
else
BHxM0 = 0
endif
//=/ Conditions
timeframe(weekly)
BHxM1x1 = close > TKxM1[26] and close > KJxM1[26] and close > SAxM1[26] and close > SBxM1[26] // Chikou > Tout
BHxM1x2 = (TKxM1 > KJxM1) or (TKxM1 = KJxM1 and TKxM1 > TKxM1[1] and KJxM1 > KJxM1[1]) // Tenkan > Kijun
BHxM1x3 = (XAxM1 > XBxM1) or (XAxM1 = XBxM1 and XAxM1 > XAxM1[1] and XBxM1 > XBxM1[1]) // SSA > SSB (Nuage futur haussier)
BHxM1x4 = close > TKxM1 and close > KJxM1 and close > SAxM1 and close > SBxM1 // Prix > Tout
//=//
if BHxM1x1 and BHxM1x2 and BHxM1x3 and BHxM1x4 then // Positif ou négatif conditions
BHxM1 = 1
else
BHxM1 = 0
endif
timeframe(default)
if BHxM0 = 1 and BHxM1 = 1 then // Positif ou négatif conditions regrouper
Trend = 1
else
Trend = 0
endif
return Trend
Je peux écrire le code avec des mots du type Tenkan et non TKxMO si ça peut permettre une résolution du problème plus simplement, n’hésite pas à me demander.
Selon moi, cette version remise au propre fonctionne mieux ?!
Pourquoi ne pas utiliser les instructions Ichimoku de ProBuilder ?
//
//=/===============/=//=/ Indicateur
//=/ Ichimoku
timeframe(weekly)
H1xM1 = highest[9](close)
L1xM1 = lowest[9](close)
//=//
H2xM1 = highest[26](close)
L2xM1 = lowest[26](close)
//=//
H3xM1 = highest[52](close)
L3xM1 = lowest[52](close)
//=//
TKxM1 = (H1xM1+L1xM1)/2 // Tenkan
KJxM1 = (H2xM1+L2xM1)/2 // Kijun
SAxM1 = (TKxM1[26]+KJxM1[26])/2 // SSA futur
SBxM1 = (H3xM1[26]+L3xM1[26])/2 // SSB futur
//=//
XAxM1 = (TKxM1+KJxM1)/2 // SSA réel
XBxM1 = (H3xM1+L3xM1)/2 // SSB réel
BHxM1x1 = close > TKxM1[26] and close > KJxM1[26] and close > SAxM1[26] and close > SBxM1[26] // Chikou > Tout
BHxM1x2 = (TKxM1 > KJxM1) or (TKxM1 = KJxM1 and TKxM1 > TKxM1[1] and KJxM1 > KJxM1[1]) // Tenkan > Kijun
BHxM1x3 = (XAxM1 > XBxM1) or (XAxM1 = XBxM1 and XAxM1 > XAxM1[1] and XBxM1 > XBxM1[1]) // SSA > SSB (Nuage futur haussier)
BHxM1x4 = close > TKxM1 and close > KJxM1 and close > SAxM1 and close > SBxM1 // Prix > Tout
//=//
BHxM1 = BHxM1x1 and BHxM1x2 and BHxM1x3 and BHxM1x4 // Positif ou négatif conditions
timeframe(default)
//=/ Ichimoku
H1xM0 = highest[9](close)
L1xM0 = lowest[9](close)
//=//
H2xM0 = highest[26](close)
L2xM0 = lowest[26](close)
//=//
H3xM0 = highest[52](close)
L3xM0 = lowest[52](close)
//=//
TKxM0 = (H1xM0+L1xM0)/2 // Tenkan
KJxM0 = (H2xM0+L2xM0)/2 // Kijun
SAxM0 = (TKxM0[26]+KJxM0[26])/2 // SSA futur
SBxM0 = (H3xM0[26]+L3xM0[26])/2 // SSB futur
//=//
XAxM0 = (TKxM0+KJxM0)/2 // SSA réel (non décaller pour calcul nuage haussier)
XBxM0 = (H3xM0+L3xM0)/2 // SSB réel
//=/ Conditions
BHxM0x1 = close > TKxM0[26] and close > KJxM0[26] and close > SAxM0[26] and close > SBxM0[26] // Chikou > Tout
BHxM0x2 = (TKxM0 > KJxM0) or (TKxM0 = KJxM0 and TKxM0 > TKxM0[1] and KJxM0 > KJxM0[1]) // Tenkan > Kijun
BHxM0x3 = (XAxM0 > XBxM0) or (XAxM0 = XBxM0 and XAxM0 > XAxM0[1] and XBxM0 > XBxM0[1]) // SSA > SSB (Nuage futur haussier)
BHxM0x4 = close > TKxM0 and close > KJxM0 and close > SAxM0 and close > SBxM0 // Prix > Tout
//=//
BHxM0 = BHxM0x1 and BHxM0x2 and BHxM0x3 and BHxM0x4 // Positif ou négatif conditions
trend = BHxM0 and BHxM1
screener [Trend]
Ton code est plus court pour le même résultat
En image, je t’envoie l’action qui sort en erreur, je n’utilise pas les variables ProBuilder, car j’utilise ichimoku sur les prix en clôture, il me faut également coder la SSA et SSB réel pour utiliser le nuage futur et non celui qui se trouve au niveau de la bougie actuelle.
Je ne vois vraiment pas comment résoudre ce souci, le code me semble propre..
Les données CFD en serait elle la cause ??
j’utilise ce code pour ichimoku
// ichimoku
Tenkan = (highest[9](high)+lowest[9](low))/2
Kijun = (highest[26](high)+lowest[26](low))/2
SSpanA = (tenkan[26]+kijun[26])/2
SSpanB = (highest[52](high[26])+lowest[52](low[26]))/2
FutureSpanA = (tenkan+kijun)/2
FutureSpanB = (highest[52](high)+lowest[52](low))/2
Merci pour ton retour, mais toujours le même soucis sous cette forme, l’action en question est toujours dans la liste
//
//=/===============/=//=/ Code
timeframe(weekly)
TKxM1 = (highest[9](close)+lowest[9](close))/2 // Tenkan
KJxM1 = (highest[26](close)+lowest[26](close))/2 // Kijun
SAxM1 = (TKxM1[26]+KJxM1[26])/2 // SSA futur
SBxM1 = (highest[52](close[26])+lowest[52](close[26]))/2 // SSB futur
//=//
XAxM1 = (TKxM1+KJxM1)/2 // SSA réel
XBxM1 = (highest[52](close)+lowest[52](close))/2 // SSB réel
//=/ Conditions
BHxM1x1 = ((TKxM1 > KJxM1) or (TKxM1 = KJxM1 and TKxM1 > TKxM1[1] and KJxM1 > KJxM1[1])) // Tenkan > Kijun
BHxM1x2 = ((XAxM1 > XBxM1) or (XAxM1 = XBxM1 and XAxM1 > XAxM1[1] and XBxM1 > XBxM1[1])) // SSA > SSB (Nuage futur haussier)
//=//
BHxM1x3 = close > TKxM1[26] and close > KJxM1[26] and close > SAxM1[26] and close > SBxM1[26] // Chikou > Tout
BHxM1x4 = close > TKxM1 and close > KJxM1 and close > SAxM1 and close > SBxM1 // Prix > Tout
//=//
BHaM1 = BHxM1x1 and BHxM1x2
BHcM1 = BHxM1x3 and BHxM1x4
BHxM1 = BHaM1 and BHcM1 // Positif ou négatif conditions
timeframe(default)
//=/ Ichimoku
TKxM0 = (highest[9](close)+lowest[9](close))/2 // Tenkan
KJxM0 = (highest[26](close)+lowest[26](close))/2 // Kijun
SAxM0 = (TKxM0[26]+KJxM0[26])/2 // SSA futur
SBxM0 = (highest[52](close[26])+lowest[52](close[26]))/2 // SSB futur
//=//
XAxM0 = (TKxM0+KJxM0)/2 // SSA réel (non décaller pour calcul nuage haussier)
XBxM0 = (highest[52](close)+lowest[52](close))/2 // SSB réel
//=/ Conditions
BHxM0x1 = ((TKxM0 > KJxM0) or (TKxM0 = KJxM0 and TKxM0 > TKxM0[1] and KJxM0 > KJxM0[1])) // Tenkan > Kijun
BHxM0x2 = ((XAxM0 > XBxM0) or (XAxM0 = XBxM0 and XAxM0 > XAxM0[1] and XBxM0 > XBxM0[1])) // SSA > SSB (Nuage futur haussier)
//=//
BHxM0x3 = close > TKxM0[26] and close > KJxM0[26] and close > SAxM0[26] and close > SBxM0[26] // Chikou > Tout
BHxM0x4 = close > TKxM0 and close > KJxM0 and close > SAxM0 and close > SBxM0 // Prix > Tout
//=//
BHaM0 = BHxM0x1 and BHxM0x2
BHcM0 = BHxM0x3 and BHxM0x4
BHxM0 = BHaM0 and BHcM0 // Positif ou négatif conditions
//=/ Screener
Trend = BHxM0 and BHxM1
screener [Trend]
J’ai modifier X fois la façon d’écrire, je vais contacter PRT pour voir avec eux directement..
Sauf erreur de ma part cette action est dans la liste NASDAQ? Si je lance ton screener sur cette liste, je n’obtiens que 2 résultats (voir image) et correspondent bien à l’indicateur que j’ai fait (code ci-dessous) qui reprend les mêmes conditions.
//
//=/===============/=//=/ Indicateur
//=/ Ichimoku
timeframe(weekly,updateonclose)
H1xM1 = highest[9](close)
L1xM1 = lowest[9](close)
//=//
H2xM1 = highest[26](close)
L2xM1 = lowest[26](close)
//=//
H3xM1 = highest[52](close)
L3xM1 = lowest[52](close)
//=//
TKxM1 = (H1xM1+L1xM1)/2 // Tenkan
KJxM1 = (H2xM1+L2xM1)/2 // Kijun
SAxM1 = (TKxM1[26]+KJxM1[26])/2 // SSA futur
SBxM1 = (H3xM1[26]+L3xM1[26])/2 // SSB futur
//=//
XAxM1 = (TKxM1+KJxM1)/2 // SSA réel
XBxM1 = (H3xM1+L3xM1)/2 // SSB réel
BHxM1x1 = close > TKxM1[26] and close > KJxM1[26] and close > SAxM1[26] and close > SBxM1[26] // Chikou > Tout
BHxM1x2 = (TKxM1 > KJxM1) or (TKxM1 = KJxM1 and TKxM1 > TKxM1[1] and KJxM1 > KJxM1[1]) // Tenkan > Kijun
BHxM1x3 = (XAxM1 > XBxM1) or (XAxM1 = XBxM1 and XAxM1 > XAxM1[1] and XBxM1 > XBxM1[1]) // SSA > SSB (Nuage futur haussier)
BHxM1x4 = close > TKxM1 and close > KJxM1 and close > SAxM1 and close > SBxM1 // Prix > Tout
//=//
BHxM1 = BHxM1x1 and BHxM1x2 and BHxM1x3 and BHxM1x4 // Positif ou négatif conditions
timeframe(default,updateonclose)
//=/ Ichimoku
H1xM0 = highest[9](close)
L1xM0 = lowest[9](close)
//=//
H2xM0 = highest[26](close)
L2xM0 = lowest[26](close)
//=//
H3xM0 = highest[52](close)
L3xM0 = lowest[52](close)
//=//
TKxM0 = (H1xM0+L1xM0)/2 // Tenkan
KJxM0 = (H2xM0+L2xM0)/2 // Kijun
SAxM0 = (TKxM0[26]+KJxM0[26])/2 // SSA futur
SBxM0 = (H3xM0[26]+L3xM0[26])/2 // SSB futur
//=//
XAxM0 = (TKxM0+KJxM0)/2 // SSA réel (non décaller pour calcul nuage haussier)
XBxM0 = (H3xM0+L3xM0)/2 // SSB réel
//=/ Conditions
BHxM0x1 = close > TKxM0[26] and close > KJxM0[26] and close > SAxM0[26] and close > SBxM0[26] // Chikou > Tout
BHxM0x2 = (TKxM0 > KJxM0) or (TKxM0 = KJxM0 and TKxM0 > TKxM0[1] and KJxM0 > KJxM0[1]) // Tenkan > Kijun
BHxM0x3 = (XAxM0 > XBxM0) or (XAxM0 = XBxM0 and XAxM0 > XAxM0[1] and XBxM0 > XBxM0[1]) // SSA > SSB (Nuage futur haussier)
BHxM0x4 = close > TKxM0 and close > KJxM0 and close > SAxM0 and close > SBxM0 // Prix > Tout
//=//
BHxM0 = BHxM0x1 and BHxM0x2 and BHxM0x3 and BHxM0x4 // Positif ou négatif conditions
trend = BHxM0 and BHxM1
if trend then
backgroundcolor(100,200,0)
endif
return
Oui c’est bien sur la liste Nasdaq, et j’ai toujours cette action et d’autre dans la liste avec ton code qui ne correspondent pas au conditions :/ , Arrow Financial Corp
Le souci a été réglé par PRT, parfait.
Screener Ichimoku retourne des erreur dans la liste
This topic contains 15 replies,
has 4 voices, and was last updated by Dany12
4 years, 2 months ago.
| Forum: | ProScreener : Scanners de Marché & Détection |
| Language: | French |
| Started: | 10/13/2021 |
| Status: | Active |
| Attachments: | 7 files |
The information collected on this form is stored in a computer file by ProRealCode to create and access your ProRealCode profile. This data is kept in a secure database for the duration of the member's membership. They will be kept as long as you use our services and will be automatically deleted after 3 years of inactivity. Your personal data is used to create your private profile on ProRealCode. This data is maintained by SAS ProRealCode, 407 rue Freycinet, 59151 Arleux, France. If you subscribe to our newsletters, your email address is provided to our service provider "MailChimp" located in the United States, with whom we have signed a confidentiality agreement. This company is also compliant with the EU/Swiss Privacy Shield, and the GDPR. For any request for correction or deletion concerning your data, you can directly contact the ProRealCode team by email at privacy@prorealcode.com If you would like to lodge a complaint regarding the use of your personal data, you can contact your data protection supervisory authority.