Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 793

 
ponochka:
Onitit et ontick ont été ajoutés ! Pas de changement

vous pouvez avoir des problèmes pour les demandes d'ontick ;-) c'est-à-dire être banni et mis sur liste noire

Imprimez les diagnostics à return(false) - ce sera plus clair ce qui ne va pas.

 
Maxim Kuznetsov:

Vous pouvez avoir des ennuis pour les demandes OnTick ;-) c'est-à-dire vous retrouver dans des bannissements et des listes noires.

Imprimez les diagnostics pour return(false) - cela rendra plus clair ce qui ne va pas.

Que dois-je écrire dans Imprimer pour trouver ce qui ne va pas ? 0_o

Si vous écrivez Print(response) ; cela donne : 13369448

 
ponochka:

Que dois-je écrire dans Imprimer pour trouver ce qui ne va pas ? 0_o

si vous écrivez Print(response) ; cela donne : 13369448

if (response == 0) {

   Print("Что-то пошло не так");

  // потом уже добавите диагностику из WinAPI

   return false;

}

et avant le retour normal, imprimez le résultat aussi

Print(" всё хорошо, результат:" toStr);

return toStr;

et exécuter l'ensemble du code dans une minuterie, par exemple une fois par minute. Entraînez-vous sur une ressource qui est sûre de ne pas être interdite et qui donne des temps différents mais prévisibles, afin que vous puissiez vérifier.

----
par télépathie - s'il y a vraiment un problème,
soit l'initialisation est mauvaise (je ne me souviens pas si WinSOCK doit être initialisé pour InternetOpenW ou non)
Ou une ressource n'est pas libérée.

 
Artyom Trishkin:

Examinez le contenu du dossier Include

Alors tout est là ? Je l'ai ouvert et j'ai regardé les calculs, qui sont assez compliqués pour moi.

 
Seric29:

Alors tout est là ? Je l'ai ouvert et j'ai regardé les calculs, qui sont assez compliqués pour moi.

Nous voulions faire mieux :)

Forum pour le trading, les systèmes de trading automatisés et les tests de stratégie

Toutes les questions des débutants sur MQL4, aide et discussion sur les algorithmes et les codes

Seric29, 2019.03.26 23:32

Comment puis-je voir le code source/les bibliothèques des fonctions fournies avec MQL4 ? J'aimerais examiner leurs propriétés et faire des choses similaires ou meilleures, qui sait, sur ce sujet ?

 
Comment puis-je utiliser ArrayResize pour modifier la taille d'un tableau multidimensionnel? Juste des exemples standards sur des tableaux unidimensionnels seulement
 
Alexandr Sokolov:
Comment puis-je utiliser ArrayResize pour modifier la taille d'un tableau multidimensionnel? C'est juste que les exemples standard n'utilisent que des tableaux unidimensionnels.

Vous pouvez uniquement modifier la taille de la première dimension d'un tableau multidimensionnel. C'est exactement la même chose que pour un tableau unidimensionnel.

Dans ce cas, le tableau doit être dynamique.

 
Artyom Trishkin:

Vous pouvez uniquement modifier la taille de la première dimension d'un tableau multidimensionnel. C'est exactement la même chose que pour un tableau unidimensionnel.

Dans ce cas, le tableau doit être dynamique.

Merci !

 

Bonne journée à vous tous !

J'ai perdu deux heures, mais je n'ai rien trouvé.

S'il vous plaît, dites-moi comment dans mq4, dans l'EA, intelligemment

construire un indicateur sur un autre en utilisant des fonctions intégrées

et il devrait être affiché dans les tests dans la sous-fenêtre comme il se doit,

par exemple MA sur les données RSI ?

 
Northwest:

Par exemple, une MA sur des données RSI ?

#property copyright "IgorM"
#property link      "https://www.mql5.com/ru/users/igorm"
#property version   "1.00"
#property strict
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_plots   2
//--- plot line1
#property indicator_label1  "RSI"
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrRed
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1

#property indicator_label2  "MA"
#property indicator_type2   DRAW_LINE
#property indicator_color2  clrYellow
#property indicator_style2  STYLE_SOLID
#property indicator_width2  1
//--- input parameters
input int      PeriodRSI   =  10;
input int      PeriodMA    =  12;
//--- indicator buffers
double         rsiBuffer[],maBuffer[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator buffers mapping
   SetIndexBuffer(0,rsiBuffer);
   SetIndexBuffer(1,maBuffer);
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
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[])
  {
//---
   int i,limit;
   if(prev_calculated==0) limit=rates_total-1; else limit=rates_total-prev_calculated+1;
   for(i=limit; i>=0; i--)
     {
      rsiBuffer[i]=iRSI(NULL,0,PeriodRSI,PRICE_CLOSE,i);
     }
   for(i=limit; i>=0; i--)
     {
      maBuffer[i]=iMAOnArray(rsiBuffer,0,PeriodMA,0,MODE_SMA,i);
     }
  
   return(rates_total);
  }
//+------------------------------------------------------------------+
Raison: