Erreurs, bugs, questions - page 3085

 
fxsaber #:

Envoyez toutes les données pour la lecture. Seules les tiques sont possibles.

Il n'y a pas de ticks, seulement des barres de minutes. Mais la simulation reste OHLC sur M1. Ça marchait avant.

Dossiers :
Test.ZIP  9375 kb
 
Ivan Titov #:

Il n'y a pas de ticks, seulement des barres de minutes. Mais la simulation reste OHLC sur M1. Ça marchait avant.

Malheureusement, je ne peux rien dire sur ce mode de travail. Je ne le fais fonctionner que par "vrais tics".

 
Dmitriy Skub #:

Nan, tu t'es excité trop tôt.

2021.09.12 11:59:20.806 L'initialisation des experts de XXXXXXXL (USDSEK,H1) a échoué avec le code 0(échec de la préparation de l'exécution).

Le dispositif se bloque en dehors du débogage jusqu'au point OnInit.

En attendant le 3039

Veuillez fournir le fichier EX5 pour l'enquête

 

Bonjour. Je n'arrive pas à trouver comment initialiser des tableaux statiques dans MQL. J'ai essayé de le faire de la manière suivante :

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
struct S_MA_MethodAndName {
  ENUM_MA_METHOD method;
  string desc;
};

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
class MA_MethodInfo {
public:
  MA_MethodInfo() {}
  ~MA_MethodInfo() {}

  static const S_MA_MethodAndName info[4];
};

S_MA_MethodAndName MA_MethodInfo::info = { {MODE_SMA, "Simple"}, {MODE_EMA, "Exponential"}, {MODE_SMMA, "Smoothed"}, {MODE_LWMA, "Linear Weighted"} };

Mais lorsque j'essaie de compiler ce code, il génère l'erreur suivante :

'info' - redefinition; different type modifiers

De telles constructions sont-elles possibles dans MQL, ou peut-être que je fais quelque chose de mal ?
 
Mihail Matkovskij #:

Je n'arrive pas à trouver comment initialiser des tableaux statiques dans MQL.

static const S_MA_MethodAndName MA_MethodInfo::info[4] = { {MODE_SMA, "Simple"}, {MODE_EMA, "Exponential"}, {MODE_SMMA, "Smoothed"}, {MODE_LWMA, "Linear Weighted"} };
 
fxsaber #:

Étrange. VS, par exemple, jure sur les statiques :

Autorisé uniquement :

const S_MA_MethodAndName MA_MethodInfo::info[4] = { {MODE_SMA, "Simple"}, {MODE_EMA, "Exponential"}, {MODE_SMMA, "Smoothed"}, {MODE_LWMA, "Linear Weighted"} };

Et je n'ai jamais eu à faire quelque chose comme ça dans MQL. C'est pourquoi j'ai décidé de la poser sur le forum. Merci !

 

De plus, les constantes statiques dans MQL n'ont pas besoin du mot-clé static :

class C1 {
public:
  static const int value;
};

const int C1::value = 3;

Mais dans le cas d'un tableau, il doit être obligatoire :. La situation est un peu différente de celle du C++.

 
Sur ios je vois un nouveau message dans les notifications, mais pas dans l'application elle-même mt4

p.s arrive, mais avec une mise à jour retardée
 
Ilyas #:

Veuillez fournir un fichier EX5 pour examen

Soumis par.
 
Ilyas #:

Fixé par

Le rectangle de couleur disparaît toujours - voici un exemple :

void OnStart()
{
    const long chart_id = 0;
    const string name = "YYY";
    const int sub_window = 0;
    const datetime time1 = iTimeNULL, timeframe,  5 );
    const datetime time2 = iTimeNULL, timeframe, 15 );
    const double price = 2*iHigh( NULL, timeframe,  0 );
    ObjectCreate( chart_id, name, OBJ_RECTANGLE, sub_window, time1, price, time2, -price );
    ObjectSetInteger( chart_id, name, OBJPROP_FILL, true );
    for ( int i = 0; !IsStopped() && i < 1024; i++ )
    {
        const double priceY = (i % 2 ? price : price*1e6);
        ObjectMove( chart_id, name, 0, time1,  priceY );
        ObjectMove( chart_id, name, 1, time2, -priceY );
        ChartRedraw( chart_id );
        Sleep( 1000 );
    }
    ObjectDelete( chart_id, name );
}

Résultat sur EURUSD,H1 : Sur un i pair, le rectangle coloré disparaît.