Questions des débutants MQL5 MT5 MetaTrader 5 - page 470

 
Artyom Trishkin:

Pourquoi vos cheveux sont-ils crépus ? C'est peut-être le mauvais shampooing ? ;)

Qu'est-ce qui ne va pas, d'ailleurs ? Trois tampons, chacun responsable d'une période de calcul différente.

Qu'est-ce qu'il y a de mal à ça ?

https://www.mql5.com/ru/forum/1111/page1442#comment_2012053 - décrit en détail ici. :)
A propos des cheveux - ils sont presque partis. :)))
 
Mike:
https://www.mql5.com/ru/forum/1111/page1442#comment_2012053 - a décrit tout ce qui s'y passe en détail. :)
A propos des cheveux - ils sont presque partis. :)))

Premièrement : est-ce que tous les paramètres des MAIs séparés dans une fenêtre coïncident avec les paramètres des MAIs créés par un indicateur avec trois buffers ?

Deuxièmement : lorsque vous avez superposé des AMI dans une fenêtre, dans le paramètre "Appliquer à" (ou quelque chose comme ça - je ne me souviens pas exactement), qu'avez-vous sélectionné ?

Le chat dit qu'il peut partager ses poils - cela ne le dérange pas ;)

 

La documentation du Guide de référence MQL5Fondamentaux du langageVariablesVariables d'entrée

est donné à titre d'exemple :


#property script_show_inputs 

//--- input parameters
input dayOfWeek swapday=W;

//--- day of week
enum dayOfWeek 
  {
   S=0,     // Sunday
   M=1,     // Monday
   T=2,     // Tuesday
   W=3,     // Wednesday
   Th=4,    // Thursday
   Fr=5,    // Friday,
   St=6,    // Saturday
  };

//Вставляю в советник, только без #property script_show_inputs
//Компилятор ругается:
//'dayOfWeek' - declaration without type   54   7

//Испавляю на:
input int dayOfWeek swapday=W;
//Компилятор пишет шибку:
//'swapday' - semicolon expected                   54   21

Pouvez-vous me dire quel est le problème ?


 
Leo59:

La documentation du Guide de référence MQL5Fondamentaux du langageVariablesVariables d'entrée

est donné à titre d'exemple :

Pouvez-vous me dire quel est le problème ?

enum dayOfWeek devrait être au-dessus de input dayOfWeek. La deuxième orthographe n'est pas du tout correcte. Un conseil : n'écrivez pas une telle énumération, le modificateur W sera extrêmement difficile à retrouver par la suite.
 
Vasiliy Sokolov:
enum dayOfWeek devrait être supérieur à input dayOfWeek. La deuxième variante d'écriture n'est pas du tout correcte. Un conseil : n'écrivez pas une telle énumération, le modificateur W sera extrêmement difficile à retrouver par la suite.
MERCI BEAUCOUP !!!!
Et je ....., par simplicité, a soulevé cette ligne ci-dessus.
Merci !
 

Camarades, aidez à l'alerte s'il vous plaît.

Je voulais faire en sorte que si la barre précédente est supérieure à 250 pips, alors une notification s'affiche et un bip apparaît, le problème est qu'il sonne toutes les 2-3 secondes.... Comment faire pour que l'indicateur attende 10 minutes ou une alerte jusqu'au prochain signal ?

input int Bar     = 1;
input int pips    = 250;
input bool alert  = true;
input bool sound  = true;
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+


int start()
  {
  //alert criteria
int buy_o, sell_o, buy_go=0, sell_go=0;

int dig;
if (Digits==3)(dig=100);
if (Digits==5)(dig=10000);

double buy_bar=(High[Bar]-Low[Bar]);if(buy_bar>0 && Open[Bar]>Close[Bar]){buy_o=buy_bar*dig;}
if(buy_o>pips){buy_go=1;}

double sell_bar=(High[Bar]-Low[Bar]);if(sell_bar>0 && Open[Bar]<Close[Bar]){sell_o=sell_bar*dig;}
if(sell_o>pips){sell_go=1;}
Comment (buy_o,"_",sell_o);   
 if (buy_go==1) //Signal Buy
 {

if(alert==TRUE){Alert("Покупка: ",Symbol(),", Пунктов:" ,buy_o);}
if(sound==TRUE){PlaySound("alert.wav");} Comment("buy");
 }
 if (sell_go==1) //Signal Sell
 {
if(alert==TRUE){Alert("Продажа: ",Symbol(),", Пунктов:" ,sell_o);}
if(sound==TRUE){PlaySound("alert.wav");} Comment ("sell");
 }




//----------
return(0);
  }
 

Pouvez-vous me dire comment passer correctement des tableaux par référence dans une fonction ?

#define   SIZE     50 
double   MACD[SIZE];         // Статический массив

int start()
   {
    Fun(     );
   }

int Fun(const double &MACD[    ])
   {
    for(int i=1; i<SIZE; i++)
        {
         if(MACD[i]>MACD[i-1] && MACD[i]>MACD[i+1])
              return(1);
        }
   }
 
Leo59:

Pouvez-vous me dire comment passer correctement des tableaux par référence dans une fonction ?

#define   SIZE     50 
double   MACD[SIZE];         // Статический массив

int start()
   {
    // Необходимо перед вызовом функции заполнить массив данными
    Fun(MACD);
   }

int Fun(const double & _array[])
   {
    for(int i=1; i<ArraySize(_array)-1; i++)
        {
         if(_array[i]>_array[i-1] && _array[i]>_array[i+1])
              return(1);
        }
   return(0);
   }
Vous pouvez le faire comme suit
 
Victor Nikolaev:
Tu peux faire comme ça.
Merci !!!!
 
Artyom Trishkin:

Premièrement : est-ce que tous les paramètres des MAIs séparés dans une fenêtre coïncident avec les paramètres des MAIs créés par un indicateur avec trois buffers ?

Deuxièmement : lorsque vous avez superposé les DAMM dans une fenêtre, qu'avez-vous choisi dans le paramètre "Appliquer à" (ou quelque chose de similaire - je ne me souviens pas exactement) ?

Le chat dit qu'il peut partager ses cheveux - cela ne le dérange pas ;)

1. Tous les matchs.
2. Ce paramètre n'existe pas.
On m'a dit dans un autre fil que ce problème est insoluble dans MT4. :(
Raison: