J'ai un code (ci-dessous) que j'essaie de corriger. Le but est de vérifier s'il y a eu 7 jours positifs consécutifs (la fermeture est supérieure à l'ouverture). Nous allons ensuite placer une valeur binaire le 8ème jour si cela est vrai, c'est-à-dire 1 si elle est Vrai et 0 si elle est Faux.Codage Nouvel indicateur de négociation
seven.bar.buy = function(open,close,n){
seven.bar.buy = rep(0, length(open))
for(i in (n+2):length(open)){
for(j in (i-n-1):(i-1)){
if(open[(i-n-1):(i-1)]<close[(i-n-1):(i-1)]){
seven.bar.buy[i] == 1
}
}
}
return(seven.bar.buy)
}
seven.bar.buy(open = Op(EURUSD.st1), close = Cl(EURUSD.st1), n = 7)
Le code ci-dessus s'exécute sans erreur, mais la sortie est un vecteur de 0.
Je pense que l'erreur provient de la ligne 5 où j'essaie de comparer 7 fermées consécutives et s'ouvre dans une seule instruction if, puis affecter la valeur binaire pour vrai/faux.
Je sais pour un fait que 7 jours de hausse consécutifs existent dans l'échantillon OHLC données que j'ai pour l'EUR/USD, donc il ne devrait pas être un vecteur de 0.
Y a-t-il un moyen de contourner cela? Est-ce la seule erreur?