[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 1081

 
dzhini:

Quelque chose ne semble pas fonctionner. S'IL VOUS PLAÎT, AIDEZ-MOI.

L'idée du test est la suivante : si la bougie est supérieure à une certaine valeur, il faut interdire la poursuite des transactions.


Je ne comprends pas ce que vous essayez de faire. Pour votre dernier post, que vous avez supprimé, j'ai fait un script qui affiche toutes les données sur la taille du chandelier et les paramètres à vérifier. Tout fonctionne.

Seule une logique étrange m'a paru : si la bougie est haussière, on interdit l'achat, et si elle est baissière, on interdit la vente... Mais c'est à votre propre logique...

//+------------------------------------------------------------------+
//|                                        Проверка высоты свечи.mq4 |
//|                             Copyright © 2010, Trishkin Artyom A. |
//|                                           support@goldsuccess.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, Trishkin Artyom A."
#property link      "support@goldsuccess.ru"

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
bool BuyOne =false;
bool SellOne=false;
int  CandleVolume=10;

int start()
  {
//----
   Alert ("Проверка дала результат = ",CheckVolume());
//----
   return(0);
  }
//+------------------------------------------------------------------+
int CheckVolume()                               // функция проверки высоты свечи
{
   double volume=High[1]-Low[1];                // проверка высоты свечи
   double signCandle=Open[1]-Close[1];          // проверка направления (положительное или отрицательное значение)
   double CVol=CandleVolume*Point;
   int    Res=0;

   BuyOne =true;
   SellOne=true;
   if (NormalizeDouble(CVol-volume,Digits)>=0) Res=1; // если свеча меньше, то всё ОК
   else {                                       // если свеча больше, то прверяем её направление
      if (signCandle<0) BuyOne =false;          // если значение меньше ноля (т.е. закрытие больше открытия), то блокируем покупки
      if (signCandle>0) SellOne=false;          // в противном случае блокируем продажи
      Res=-1;                                   // возвращаем отказ по сделке
      }
   Comment ("\n",
            "High[1] = ",High[1],"\n",
            "Low[1] = ",Low[1],"\n",
            "Высота свечи (High[1]-Low[1]) = ",volume,"\n",
            "Проверяемый размер свечи = ",CVol,"\n",
            "Open[1] = ",Open[1],"\n",
            "Close[1] = ",Close[1],"\n",
            "Open[1]-Close[1] = ",Open[1]-Close[1],"\n",
            "Направление свечи = ",signCandle,"\n",
            "BuyOne = ",BuyOne,"\n",
            "SellOne = ",SellOne,"\n"
            
            );
   return(Res);
}
 

Comment mettre en œuvre cette section du code :

Nous vérifions la barre zéro (qui n'est pas encore complètement formée) jusqu'à ce qu'elle soit la première (déjà complètement formée). Si la barre, qui était zéro, est maintenant la première (au lieu de 0, elle a un 1) - alors continuez...

Pro, aidez-moi à faire cette partie du code !!!

 
Aide à trouver un conseiller qui prend les informations de l'histoire ....
 
kolyango:

Comment mettre en œuvre un tel morceau de code :

Nous vérifions la barre zéro (qui n'est pas encore complètement formée) jusqu'à ce qu'elle soit la première (déjà complètement formée). Si la barre de zéro est maintenant la première (au lieu de 0 il y a un 1) - alors continuez...

Pro, aidez-moi à faire cette partie du code !!!

Vérifiez le premier tout de suite. Pourquoi vérifier le zéro en attendant que ce soit le premier ?
 
itum:
Aide à trouver un conseiller qui prend les informations de l'histoire ....
Quel genre d'information ? Sur l'emplacement des étoiles ?
 
artmedia70:
Quel genre d'information ? Sur l'emplacement des étoiles ?
Il a été question plus d'une fois sur ce forum d'un conseiller qui va dans l'historique et prend des informations (devis, etc.) Je cherche donc quelque chose comme ça !
 
itum:
Il a été discuté sur ce forum plus d'une fois d'un conseiller expert qui va dans l'historique et prend des informations (cotations, etc.) Donc je cherche quelque chose comme ça !
Peut-être est-il préférable de décider des informations que l'on veut obtenir de l'historique et d'écrire le code ?
 
artmedia70:
Ne serait-il pas préférable de décider des informations que vous voulez tirer de l'histoire et d'écrire le code ?
Pourquoi écrire du code si vous avez déjà quelque chose de similaire ? En gros, j'ai besoin d'un EA qui montrerait de très bons résultats uniquement sur le testeur ...... ! !
 
artmedia70:
Vérifiez tout de suite le premier. Pourquoi vérifier le zéro en attendant qu'il soit le premier ?

Cela permettra de s'assurer que chaque tick n'exécutera pas tout le code plus loin, mais seulement lorsque la barre zéro est la première...
 
kolyango:

Cela permettra de s'assurer que chaque tick n'exécutera pas tout le code plus loin, mais seulement lorsque la barre zéro est la première...
bool Fun_New_Bar()                              // Ф-ия обнаружения ..
  {                                             // .. нового бара
   static datetime New_Time=0;                  // Время текущего бара
   bool New_Bar=false;                               // Нового бара нет
   if(New_Time!=Time[0])                        // Сравниваем время
     {
      New_Time=Time[0];                         // Теперь время такое
      New_Bar=true;                             // Поймался новый бар
     }
  }