[ARCHIVE !] Toute question de débutant, pour ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 4. - page 265

 

ce que les lignes signifient : 1) if (Volume [0]>1) return ;

2) if (Open [1]>ma) ; ?

Merci !

 
okvseok:

ce que les lignes signifient : 1) if (Volume [0]>1) return ;

2) if (Open [1]>ma) ; ?

Merci !


1) Si le volume sur la bougie zéro est supérieur à 1, alors retour.

2) Si le prix d'ouverture de la première bougie est supérieur à la valeur de la variable ma. La construction

 if (Open [1]>ma) ;

n'a pas le droit d'exister, puisque rien ne découle de la condition. Il n'est pas clair pour le transformateur ce qu'il devra faire, si la condition est remplie ou non.

 
okvseok:

ce que les lignes signifient : 1) if (Volume [0]>1) return ;

2) if (Open [1]>ma) ; ?

Merci !

Habituellement, la condition 1 est appliquée pour déterminer si une nouvelle barre a été ouverte. Dans votre exemple, si le volume de la barre actuelle est >1, il faut quitter le programme et le programme ne fonctionnera pas du tout. Dans le second, après si (...) mais avant ;, vous devez décrire une action.
 
drknn:
C'est un peu un terme inapproprié. La question est de savoir comment prescrire dans un EA, pas dans un indicateur. Mais merci quand même, même si la question reste ouverte.

 
kwadrad:
Ce n'est pas tout à fait la question. La question est de savoir comment l'écrire dans un EA, et non dans un indicateur. Mais merci quand même, même si la question reste ouverte.

Vous avez demandé le code - je vous ai donné le code.

Ceci est également réalisable dans un EA. Vous devez déclarer un tableau, le remplir de valeurs RSI, et ensuite vous pouvez traiter ce tableau comme vous le souhaitez. Incluant la fonction iMAOnArray()

 
drknn:

Vous avez demandé le code - je vous ai donné le code.

Ceci est également réalisable dans un EA. Vous devez déclarer un tableau, le remplir de valeurs RSI, et ensuite vous pouvez traiter ce tableau comme vous le souhaitez. Y compris l'utilisation de la fonction iMAOnArray()

Ce sont les subtilités de la déclaration et du remplissage avec des valeurs de tableau qui posent problème, c'est-à-dire qu'elles ne fonctionnent pas sur le graphique. Peut-être que je remplis le tableau du mauvais côté ou que mon orthographe n'est pas correcte. Il fonctionne dans l'indicateur. Il ne fonctionne pas dans l'EA.
 
kwadrad:
Ce sont les subtilités de la déclaration et du remplissage du tableau avec des valeurs qui posent problème, c'est-à-dire qu'elles ne fonctionnent pas dans le graphique. Peut-être que je remplis le tableau du mauvais côté ou que l'orthographe est de travers. Il fonctionne dans l'indicateur. Il n'est pas dans un EA.
Avez-vous lu des articles sur ce sujet ?
Transfert du code d'un indicateur vers le code d'un conseiller expert. Construction d'un indicateur.
Transfert du code de l'indicateur vers le code du conseiller expert. Schémas généraux de construction d'un Expert Advisor et fonctions des indicateurs
 
kwadrad:
Ce sont les subtilités de la déclaration et du remplissage du tableau avec des valeurs qui posent problème, c'est-à-dire qu'elles ne fonctionnent pas dans le graphique. Peut-être que je remplis le tableau du mauvais côté ou que l'orthographe est de travers. Il fonctionne dans l'indicateur. Il ne fonctionne pas dans l'EA.
// перед блоком инициализации советника пишем:
  extern int RazmerMassiva=10;// размер будущего массива
  double Massiv[1];//Перед блоком инициализации объявляем массив
  // в старте советника пишем:
  if(ArrayResize(Massiv,RazmerMassiva)==(-1)){
    Print("Ошибка № ",GetLastError()," при изменении размерности массива - размерность не изменена");
  }
  else{// заполняем массив значениями
    for(int i=0;i<RazmerMassiva;i++){
      Massiv[i]=iRSI(/* Сюда вставить нужные параметры */);
      // сразу проверяем что у нас в массив внесено
      Print("Massiv[",i,"] = ",Massiv[i]);
    }
  }
  // далее точно так же организзуем цикл, заполняющий другой массив значениями, возвращаемыми
  // функцией iMAOnArray() и точно так же сразу принтуем результат. Если принты показывают
  //биллеберду, то становится понятно в каком направлении искать. Без принтов Вы не разберётесь,
  //как работать с iMAOnArray()
 
Qu'est-ce que c'est que ça : 2012.07.20 07:15:00 '*****' : ordre de vente 0.10 EURUSD ouverture à 1.2256 sl : 0.0000 tp : 0.0000 échoué [Le contexte commercial est occupé], mais pour les ordres d'achat pas occupé ?

Et maintenant, le contraire : 2012.07.20 07:51:13 '*****' : ordre d'achat 0.10 EURUSD ouverture à 1.2258 sl : 0.0000 tp : 0.0000 échoué [Le contexte commercial est occupé].

De quoi s'agit-il ?
 
yosuf:
Qu'est-ce que c'est que ce bordel : 2012.07.20 07:15:00 '*****' : ordre de vente 0.10 EURUSD ouverture à 1.2256 sl : 0.0000 tp : 0.0000 échoué [Le contexte commercial est occupé], mais pour les ordres d''achat' pas occupé ?

Et maintenant, le contraire : 2012.07.20 07:51:13 '*****' : ordre d'achat 0.10 EURUSD ouverture à 1.2258 sl : 0.0000 tp : 0.0000 échoué [Le contexte commercial est occupé].

De quoi s'agit-il ?


https://www.mql5.com/ru/forum/100321

PS. Yusuf, la recherche sur le forum fonctionne.

Raison: