Indicateur Questions diverses - page 14

 
Max Enrik: J'ai juste besoin de dessiner une des dernières " Flèches ", pas besoin de dessiner dix mille Flèches sur mon graphique.
Il n'est pas nécessaire de ne pas les dessiner. Qu'allez-vous faire lorsque de nouvelles barres se formeront ? Revenir en arrière et supprimer les anciennes ? Après la première exécution, vous ne traiterez de toute façon que la barre zéro. Voir Comment faire vos lookbacks correctement.
 
whroeder1:
Il n'est pas nécessaire de ne pas les dessiner. Qu'allez-vous faire lorsque de nouvelles barres se formeront ? Revenir en arrière et supprimer les anciennes ? Après la première exécution, vous ne traiterez de toute façon que la barre zéro. Voir Comment faire vos lookbacks correctement.

Merci beaucoup.

 

#Une seuleflèche à dessiner- Fermé

Réponse : Il n'est pas nécessaire de dessiner des " Flèches " par le DRAW_ARROW, il faut dessiner des objets à la condition.

 

#Buffer ( array out of range in ) - Ouvrir

J'essaie le code ci-dessous et il me donne une erreur fatale : " array out of range in ", est-ce que je fais mal ? Si oui, comment puis-je le résoudre, s'il vous plaît ?

Merci d'avance.

bufferOne[i]=iMA(Symbol(),0,26,0,MODE_EMA,PRICE_CLOSE,i);
bufferTwo[i]=bufferOne[i+1];
 
Max Enrik: Est-ce que je fais mal ? Si oui, comment puis-je le résoudre, s'il vous plaît ?
  1. C'est évident. Vous regardez au-delà de la fin du tableau.
  2. Faites vos retours en arrière correctement.
 
whroeder1:
  1. C'est évident. Vous regardez au-delà de la fin du tableau.
  2. Fais ton lookback correctement.

OMG ! Pourquoi je n'utilise pas ce super exemple juste pour mon problème. (même si j'ai utilisé ce super exemple pour mes autres problèmes).

S'il vous plaît, dites-moi ce que je pourrais écrire pour le lookback.

int lookback = ?; // I do not know what could I write here.
for(int i = Bars-1-MathMax(lookback, prev_calculated); i >= 0; --i)
{
    bufferOne[i]=iMA(Symbol(),0,26,0,MODE_EMA,PRICE_CLOSE,i);
    bufferTwo[i]=bufferOne[i+1];
}
 
int lookback = ?; // I do not know what could I write here.
for(int i = Bars-1-MathMax(lookback, prev_calculated); i >= 0; --i)
{
    bufferOne[i]=iMA(Symbol(),0,26,0,MODE_EMA,PRICE_CLOSE,i);
    bufferTwo[i]=bufferOne[i+1];
  1. Avez-vous lu le lien fourni ? Regardez à nouveau la toute première case :
    int lookback = ... // iMA(period) has look back of period.
                       // buffer[i+2] has look back of 2 (as TimeSeries)
                       // buffer[i-2] has look back of 2 (not TimeSeries)
                       // use maximum of all.
  2. Vous avez 26 pour le iMA et 1 pour le [i+1]. A votre avis, quel est le maximum ?
 
whroeder1:
  1. Avez-vous lu le lien fourni ? Regardez à nouveau la toute première case :
  2. Vous avez 26 pour le iMA et 1 pour le [i+1]. A votre avis, quel est le maximum ?

Bien sûr, j'ai déjà lu et j'ai essayé votre excellent exemple, je n'ai pas obtenu de bons résultats, c'est pourquoi j'ai posé cette question.
Depuis votre commentaire précédent, j'essaie un nouvel indicateur juste pour essayer votre exemple. J'espère que je ferai quelque chose de bien séparément (puis je les combinerai).

(si je n'obtiens pas de bons résultats, je posterai le code complet).

Merci beaucoup.

 

Haha ! Merci beaucoup M. William. Quels merveilleux résultats. C'est génial ! Un grand merci !

 

J'utilise OnCalculate() avec " int " maintenant je dois demander, lequel est bon pour ce type d'indicateurs, int ou void, s'il vous plaît ?

Merci d'avance.

int OnCalculate(...) {}
Raison: