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

 
Vitaly Muzichenko:

Peut-être que je ne comprends pas quelque chose, mais vous devriez utiliserlong tml = (long)ObjectGetInteger(ChartID(),vlines_name[i],OBJPROP_TIME) ; substituez le nom de la ligne, pas l'index, sinon vous n'obtiendrez pas de résultats.

Oui, merci beaucoup. J'ai ajouté une ligne dans la boucle et cela fonctionne )))).

   for(int i = 0; i < vlines; i++)
   {
      vlines_name[i]    = ObjectName(ChartID(),i,0,OBJ_VLINE);
      long tml          = (long)ObjectGetInteger(ChartID(),vlines_name[i],OBJPROP_TIME);
      vlines_arr[i][0]  = tml;
      vlines_arr[i][1]  = (long)i;
   }
 

Bonjour : La tâche est d'afficher les chandeliers de 2 instruments sur le graphique, mais un instrument manque de chandeliers par endroits. Nous devons parcourir les barres de l'instrument avec toutes les données, en comparant le temps des barres de 2 instruments et lorsque nous rencontrons une divergence, la boucle doit continuer pour un instrument et s'arrêter pour un autre jusqu'à ce que les temps des barres correspondent, de sorte que le graphique ait des valeurs vides où les barres sont manquantes. Comment faire ?

 
Comment placer un expert sur la place de marché ?
Le problème est que, lorsque j'ajoute un expert, je dois sélectionner le type d'expert. Mon expert appartient au type "neuronet", je le choisis, je l'ajoute, et ensuite il s'avère qu'il est impossible d'utiliser une API externe pour obtenir des données dans le conseiller expert.
Et comment un réseau neuronal peut-il fonctionner sur l'ordinateur de l'utilisateur final ? Ou dois-je joindre un manuel pour l'installation de Tensoflow + Keras + Ta-Lib + quelques scripts en python ?

Comment cette question est-elle résolue dans la pratique ? Quelqu'un a sûrement fait des experts sur les réseaux neuronaux.
 

Bon après-midi à tous ! Veuillez me conseiller ou corriger le code. Il est demandé de dessiner un histogramme sur la barre de zéro, hauteur 500, couleur rouge.

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_plots   1
#property indicator_type1   DRAW_COLOR_HISTOGRAM
#property indicator_color1  Red
#property indicator_style1  0
#property indicator_width1  1
#property indicator_minimum 0.0


double                    ExtBuffer[];
double                    ExtColorsBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
void OnInit()
  {
//---- buffers   
   SetIndexBuffer(0,ExtBuffer,INDICATOR_DATA);
   SetIndexBuffer(1,ExtColorsBuffer,INDICATOR_COLOR_INDEX);
   
//----
  }
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
  
  ExtBuffer[0]=500;
  ExtColorsBuffer[0]=Red;
   
   return(rates_total);
  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
 
EfDim:

Bon après-midi à tous ! Veuillez me conseiller ou corriger le code. Il est demandé de dessiner un histogramme sur la barre de zéro, hauteur 500, couleur rouge.

La barre zéro est la barre la plus à gauche. Taux actuels_total-1

 
Alexey Viktorov:

La barre zéro, c'est la barre la plus à gauche. Taux actuels_total-1

Merci, mon pote !
 

Bonjour !

Veuillez m'aider à résoudre un problème.

//----------БЛОК 1---------
if(x)
 {
   func_1(a,b);
   ......
 }
//-----------БЛОК 2--------
if(z)
 {
  func(c,d);
  ....
 } 
//---------------------

Ces blocs doivent fonctionner dans les modes suivants :

1)normalement, c'est-à-dire comme écrit, vérifier les conditions des blocs en séquence

2)Bloc 1 : la vérification de la condition x est annulée et le code à l'intérieur n'est pas exécuté ; Bloc 2 : la vérification de la condition z est annulée et le code à l'intérieur est exécuté sans condition.

3)Bloc 1 : la vérification de la condition x est annulée et le code à l'intérieur est exécuté sans condition ; Bloc 2 : la vérification de la condition z est annulée et le code à l'intérieur n'est pas exécuté.

Le changement de mode doit être effectué manuellement, dans les paramètres de l'EA.

(Je n'ai eu assez d'imagination que pour un interrupteur, trois variantes d'exécution, mais le code est alors répété, et je voudrais l'éviter. Est-ce possible ?)

Торговые советники и собственные индикаторы - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
Торговые советники и собственные индикаторы - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
  • www.metatrader5.com
Среди программ для автоматического трейдинга можно выделить две большие категории: торговые роботы и индикаторы. Первые предназначены для совершения торговых операций на рынках, а вторые — для анализа котировок и выявления закономерностей в их изменении. При этом индикаторы могут использоваться непосредственно в роботах, образуя полноценную...
 

Bon après-midi.

Il existe un code comme celui-ci :

         // Нормализация входных данных
         Print(TimeToString((datetime)vlines_arr[i][0]));
         Print("размер buf_Dsl = ",ArraySize(buf_Dsl));
         ArrayPrint(buf_Dsl);
         double d1         = 0.0;
         double d2         = 1.0;
         double x_min      = buf_Dsl[ArrayMinimum(buf_Dsl)];
         double x_max      = buf_Dsl[ArrayMaximum(buf_Dsl)];
         for(int n = 0; n < ArraySize(buf_Dsl); n++)
         {
            inp_Dsl[n]=(((buf_Dsl[n]-x_min)*(d2-d1))/(x_max-x_min))+d1; // array out of range
         }

Je ne sais pas pourquoi il se bat...

2019.09.04 06:00
размер buf_Dsl = 6
 -7.25207 -12.75148 -14.52521 -13.95145 -12.49837  -3.17857
array out of range in '.....' (143,20)
Comment puis-je sortir du tableau?
 
Сергей Таболин:

Bon après-midi.

Il existe un code comme celui-ci :

Je ne sais pas pourquoi il fronce les sourcils...

Comment aller au-delà du tableau?

En fait, il est maudit àinp_Dsl[n]

 
Vladimir Karputov:

En fait, c'estinp_Dsl[n] qui est maudit.

Bien. Je n'ai pas réglé la taille... Merci.