Erreurs, bugs, questions - page 2816

 
Stanislav Korotky:

Comment ça, différent ? J'en ai besoin dans OnTesterInit - pas d'autres options.

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

Bugs, bugs, questions

fxsaber, 2017.08.15 17:49

ParameterGetRange ne fonctionne pas dans OnTesterInit.
sinput int Range = 5;

#define  PRINT(A) Print(#A + " = " + (string)(A));

void PrintParameter( const string Name, const string From )
{
  PRINT(From)
  
  bool Enable;
  long Value, Start, Step, Stop;
  
  if (ParameterGetRange(Name, Enable, Value, Start, Step, Stop))
  {
    PRINT(Start)
    PRINT(Step)
    PRINT(Stop)
    PRINT(Value)
    PRINT(Enable)
  }   
}

void OnTesterInit()
{
  ParameterSetRange("Range", true, 5, 1, 2, 3); // Задали ненулевыми все значения
  
  PrintParameter("Range", __FUNCTION__); // Возвращает одни нули
}

void OnTesterDeinit()
{
  PrintParameter("Range", __FUNCTION__); // Работает нормально
  
  ChartClose();
}

void OnTesterPass()
{
  PrintParameter("Range", __FUNCTION__); // Работает нормально
}

int OnInit()
{
  uchar Data[];
  
  FrameAdd(NULL, 0, 0, Data);
  
  return(INIT_FAILED);
}
 
fxsaber:

Cela ne fait que confirmer mon cas de test : le fait de définir un paramètre dans MQL n'a aucun effet sur sa lecture ultérieure dans OnTesterInit. Dans les autres manipulateurs, il est trop tard pour ajuster quoi que ce soit, car les passes sont déterminées par les réglages initiaux.

 
Shortcoming
#import "z.ex5" //(1) Error: '#import' - #import was not closed
#import
/*
.
.
.
*/
#import "z.ex5" //(2)

Le deuxième #import n'est pas fermé, mais l'erreur se trouve sur le premier - par conséquent, l'emplacement réel de l'erreur n'est pas indiqué correctement - il m'a fallu beaucoup de temps pour comprendre ce qui n'allait pas.

 
Erreur de compilation :
class A {};
class B {
public:
    static A a;
} b;  //Error: unresolved static variable 'B::a'
A B::a;
void OnStart() {}
 
 

Fonction :

CopyTicksRange(_Symbol, _ticks, COPY_TICKS_ALL);

en mode de génération de ticks renvoie un maximum de 131072 ticks. S'agit-il d'un bogue, d'une fonctionnalité, la documentation dit-elle quelque chose à ce sujet ?

En mode ticks réels, il n'y a pas de telle limitation.

 
Les commentaires non liés à ce sujet ont été déplacés vers "Questions des débutants de MQL4 MT4 MetaTrader 4".
 
Le comportement actuel est-il correct lorsque le conseiller expert en mode cadre sur le graphique du terminal est exécuté avec les paramètres d'entrée par défaut plutôt que ceux définis dans l'onglet Paramètres du testeur ?
 
Est-il possible de protéger le graphique contre les changements de temps et de symbole ?
 
est-il possible de contrôler ce chiffre par le biais de MQL ? (c'est la boîte de la ligne sur le graphique en MT)