MetaTrader 4 Build 529 beta publié avec un nouveau compilateur - page 129

 
Wahoo:


Je pensais que dans le testeur, cette fonction devait retourner les valeurs correspondant à la période testée, comme dans MT5, et non la dernière cotation actuelle, même si je teste le mois de novembre.

Nous sommes le 16 décembre. Je fais le test depuis novembre mais SymbolInfoTick renvoie les cotations d'aujourd'hui (16 décembre), ce qui entraîne des requêtes :). Il y a un exemple avec le code, essayez de l'exécuter dans votre environnement.

La différence entre lasttick.ask et Ask est d'environ 200 pips.

Je vois ce que vous voulez dire. Vous voulez dire le testeur. Désolé, je n'ai pas compris tout de suite.

On va se rattraper.

 

// Si le terminal est allumé et que l'EA est placé sur le graphique, le timer démarre.
// si le terminal est allumé et que l'EA est sur le graphique le timer démarre aussi
// Si je démarre le TERMINAL avec le EA branché, la section OnTimer ne démarre pas (le TIMER ne démarre pas) ce qui est une erreur.

Mettez le code source dans la boîte de service pour reproduire la situation

La minuterie ne démarre pas si je modifie le graphique, alors qu'elle devrait le faire.

 

cet indicateur effondre complètement le terminal, le terminal ne démarrera pas avec lui

#property indicator_chart_window
#property indicator_buffers 6

#property   indicator_color1  clrRed
#property   indicator_color2  clrDarkGreen
#property   indicator_color3  clrBlack
#property   indicator_color4  clrDodgerBlue
#property   indicator_color5  clrDodgerBlue
#property   indicator_color6  clrDodgerBlue

#property   indicator_width1  1
#property   indicator_width2  1
#property   indicator_width3  2
#property   indicator_width4  1
#property   indicator_width5  1
#property   indicator_width6  1


extern int    Bperiod    = 21   ;
extern int    Ma1_period = 8     ;
extern int    Ma2_period = 30    ;
extern int    Ma3_period = 100   ;


double     ExtBuffer0[];
double     ExtBuffer1[];
double     ExtBuffer2[];
double     ExtBuffer3[];
double     ExtBuffer4[];
double     ExtBuffer5[];
//======================================================================================================================//
void init()
  {

SetIndexStyle (0,DRAW_LINE);
SetIndexBuffer(0, ExtBuffer0 ); // буфер для первой линии
SetIndexLabel (0,"ExtBuffer0");

SetIndexStyle (1,DRAW_LINE);
SetIndexBuffer(1, ExtBuffer1 ); 
SetIndexLabel (1,"ExtBuffer1");

SetIndexStyle (2,DRAW_LINE);
SetIndexBuffer(2, ExtBuffer2 ); 
SetIndexLabel (2,"ExtBuffer2");

SetIndexStyle (3,DRAW_LINE);
SetIndexBuffer(3, ExtBuffer3 ); 
SetIndexLabel (3,"ExtBuffer3");

SetIndexStyle (4,DRAW_LINE);
SetIndexBuffer(4, ExtBuffer4 ); 
SetIndexLabel (4,"ExtBuffer4");

SetIndexStyle (5,DRAW_LINE);
SetIndexBuffer(5, ExtBuffer5 ); 
SetIndexLabel (5,"ExtBuffer5");
}
//======================================================================================================================//
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 limit=rates_total-prev_calculated;
   int rez=1440/_Period;

     for(int x=0; x<limit; x++)
       {
            ExtBuffer0[x]=iMA(NULL,0,Ma1_period,0,2,0,x);
            ExtBuffer1[x]=iMA(NULL,0,Ma2_period,0,1,0,x);
            ExtBuffer2[x]=iMA(NULL,0,Ma3_period,0,3,0,x);

            ExtBuffer3[x]=iBands(NULL,0,Bperiod*rez,2,0,0,MODE_UPPER,x);
            ExtBuffer4[x]=iMA   (NULL,0,Bperiod*rez,  0,0,0,x);
            ExtBuffer5[x]=iBands(NULL,0,Bperiod*rez,2,0,0,MODE_LOWER,x);
      }
   return(rates_total);
  }
//======================================================================================================================//
 

une autre question

les caractères peuvent maintenant être sauvegardés dans des ensembles ...

mais la façon de charger un jeu de caractères n'est pas claire .....

 
Armani86:

Pas un seul indicateur tiers ou EA dans les nouvelles constructions ne fonctionne... C'est un désastre... La compilation dans le nouvel éditeur donne beaucoup d'erreurs et d'avertissements...

Metaquotes ne semble pas avoir assez d'argent.

Ils ont décidé de couper toute la base de code accumulée et de faire de l'argent sur le marché. Cool, qu'est-ce que je peux dire...

Je me demande juste si je demande aux développeurs de MT4 de corriger mon indicateur - le feront-ils ?

C'est parce qu'ils le font exprès maintenant pour qu'aucun des anciens indicateurs et conseillers experts ne fonctionnent. Donc ils doivent le réparer aussi...

Prenez votre temps - la version finale n'est pas encore disponible.

les tests sont toujours en cours

 
Si le nouveau compilateur signale des avertissements et des erreurs, vous devez le croire, et non spéculer.
 
Renat:
Si le nouveau compilateur signale des avertissements et des erreurs, vous devez le croire, et non spéculer.

Sur les tests bêta du compilateur ?
 
tara:

Sur les tests bêta des compilateurs ?
Vous ne savez probablement pas qu'il s'agit d'un compilateur MQL5, vieux de plusieurs années et débogué. Il ne reste plus qu'à intégrer pleinement les problèmes du nouveau langage MQL4 dans l'environnement virtuel de l'environnement MT4. Nous devons non seulement interfacer des milliers de points de fonction, mais aussi préserver l'ancien moteur de compilation. C'est précisément le problème des points d'appariement que nous traitons.
 
stringo:

Je vois. Vous voulez dire le testeur. Désolé, je n'ai pas compris tout de suite.

On va se rattraper.


Il y aura un correctif dans la prochaine version
 
pro_:

Ecoutez, c'est quoi cette panique !
En fait, le marché n'est pas seulement et pas tellement pour les Metakvots, mais pour les développeurs d'indicateurs et d'Expert Advisors appropriés et utiles. Ils ne doivent pas toujours travailler pour eux. Je suis avec les deux mains "pour !" pour le Marché, bien que je programme seulement pour être capable de ne pas dépendre d'aucun changement et pour être capable d'adapter à eux tout ce que j'utilise.

Outre-mer, ils mettent à jour le logiciel et c'est tout ! Ils ne discutent de rien avec personne. De plus, ils changent également le langage (programmation), ce qui vous oblige à réapprendre. Tous les anciens développements ne fonctionnent que dans l'ancienne version du programme, que personne ne supporte. En d'autres termes, vous voulez continuer à conduire un chariot, mais ne voulez pas monter dans notre voiture. Les métakvots transforment votre chariot en voiture, pensez-vous vraiment que cela va disparaître sans le moindre problème ?

Je suis sûr que votre indicateur fonctionnera aussi lorsque la dernière version sortira, mais pour l'instant, travaillez sur 509 pour ne pas prendre de risques. Laissez le bêta-test aux autres si cela vous cause des émotions aussi dures et négatives.

Les développeurs et les utilisateurs ont besoin d'un site de marché à part entière, avec une large sélection de critères de recherche, des produits clairement présentés, des descriptions, des statistiques. Il en va de même pour les signaux.

Nous avons lancé Market sur mcl5, mais il n'est pas terminé, quatre paramètres de recherche primitifs sont disponibles - "Popular New Free Paid", loin des demandes réelles.

Il n'y a pas de visiteurs.

Mais il y a des utilisateurs actifs de mt4 et mt5.

Rassemblons-les en un seul troupeau et remplissons l'ingérable dans le terminal. La foule sera heureuse, regardant par le judas, non seulement les paramètres des conseillers experts, mais aussi le marché et les signaux. Qui a besoin dans le terminal des signaux de démonstration avec des courbes de rendement tombant à zéro, pourquoi avons-nous besoin de tout ce que quelqu'un a écrit dans le terminal, parce qu'il veut le vendre ?

La tour de Babel.

Raison: