[Archive] Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 2. - page 172

 
100yan:
Il demande une valeur entière, mais un tableau peut aussi être déclaré comme une variable !

Savez-vous ce qu'est une variable ? C'est une cellule de la mémoire qui peut être modifiée. int est un type de variable.

https://book.mql4.com/ru/basics/vars

https://book.mql4.com/ru/basics/types

 
Pour tester un système de trading dans MT4 sur des données historiques, je dois charger une archive de cotations, sélectionner la paire de devises qui m'intéresse, sélectionner toutes les échéances, y compris la minute, et la charger. Il n'y a pas d'incompatibilité entre les graphiques pendant les tests, mais il y a un problème qui affecte de manière significative les résultats des tests et de l'optimisation. Il y a souvent des écarts temporels dans les cotations. Par exemple, dans le graphique H1, après la bougie du 7 mai 2010, il y a une bougie du 8 juillet 2010, c'est-à-dire un écart d'un mois. Le téléchargement répété de l'archive des citations ne résout pas la situation. J'ai plus qu'assez d'espace libre sur mon disque dur pour télécharger les citations.

La question : Comment puis-je télécharger correctement toutes les cotations sans écart de temps vers MT4 ?
 
polsvv:

Pouvez-vous me dire quelle est la signification de cette merde dans les journaux ? Comment puis-je l'éviter ? Le conseiller expert négocie avec cet indicateur, après une erreur, la transaction se fige jusqu'à ce que vous redémarriez le terminal, car le redémarrage du conseiller expert peut provoquer un nouveau crash.

22:39:53 +ZigZag_Levels CLJ1,M5 : uninit reason 3
22:39:53 Zigzag CLJ1,M5 : uninit reason 1

22:39:53 Zigzag CLJ1,M5 : enlevé

Peut-être est-ce parce que j'utilise le terminal sur un serveur distant et sur mon propre ordinateur en même temps ?

https://docs.mql4.com/ru/constants/uninit vérifier les raisons de la désinitialisation, il semble que vous changez de période/symbole de graphique avec l'EA en cours d'exécution, d'où les plantages.
 
wizmon:
Question : comment télécharger correctement toutes les cotations sans aucun décalage dans MT4 ?

+ avant de télécharger (si vous avez de tels trous), il est conseillé de supprimer l'historique existant

+ Définir la profondeur de l'historique dans les paramètres, au moins 10 000 000 barres.

+ Après avoir chargé l'historique, vous devez cliquer à nouveau sur le bouton "Charger" et confirmer le recalcul de toutes les TF.

 
polsvv:

L'expert utilise cet indicateur, mais après une erreur, la transaction s'arrête.

Probablement un code en boucle.
 
polsvv:

Pouvez-vous me dire quelle est la signification de cette merde dans les journaux ? Comment puis-je l'éviter ? Le conseiller expert négocie avec cet indicateur, après une erreur, la transaction se fige jusqu'à ce que vous redémarriez le terminal, car le redémarrage du conseiller expert peut provoquer un nouveau crash.

22:39:53 +ZigZag_Levels CLJ1,M5 : uninit reason 3
22:39:53 Zigzag CLJ1,M5 : uninit reason 1

22:39:53 Zigzag CLJ1,M5 : supprimé

C'est peut-être parce que j'utilise le terminal sur le serveur distant et sur mon PC en même temps ?

Je ne pense pas que le code soit en boucle. Que signifie la raison de non-initialisation 1 ou 3 ? Avez-vous un décodage ?

L'EA fonctionne normalement depuis 2 jours.

Une fois encore, je voudrais répéter la question sur les terminaux.

Si j'ai un terminal avec EA sur un serveur distant et que j'exécute le même terminal sur mon PC, j'y fais mes affaires. Je les optimise et ainsi de suite. Je tiens à rappeler que l'EA ne se trouve pas dans la fenêtre d'un outil de trading dans le terminal d'accueil parce qu'il est exécuté localement sur mon ordinateur (distant) et non sur le serveur du courtier.

Ainsi, l'EA peut-il échouer s'il est exécuté dans un terminal, qui est exécuté 2 fois en même temps ?

 
polsvv:

Je ne pense pas que le code soit en boucle. Que signifie la raison de non-initiation 1 ou 3 ? Existe-t-il un décodage ?

lisez ma réponse ci-dessus
 
polsvv:

Je ne pense pas que le code soit en boucle. Que signifie la raison de non-initiation 1 ou 3 ? Un décodage ?


REASON_REMOVE1Le programme est retiré du tableau
RAISON_CHARTCHANGE3Le symbole ou la période du graphique a été modifié
 
alsu:
https://docs.mql4.com/ru/constants/uninit vérifiez les raisons de la désinitialisation, il semble que vous modifiez le graphique de la période/symbole avec l'EA en cours d'exécution, d'où les plantages.
Oui. Apparemment, c'est la raison. Merci pour le conseil !
 

Bonjour.

J'ai démonté et modifié l'indicateur Laguerre, mais ça ne marche pas très bien. Veuillez m'aider avec le code.

A la fin, Laguerre a commencé son code.

i=CountBars-1;
   while(i>=0)
   {
      L0A = L0;
      L1A = L1;
      L2A = L2;
      L3A = L3;
      L0 = (1 - gamma)*Close[i] + gamma*L0A;
      L1 = - gamma *L0 + L0A + gamma *L1A;
      L2 = - gamma *L1 + L1A + gamma *L2A;
      L3 = - gamma *L2 + L2A + gamma *L3A;

      CU = 0;
      CD = 0;
      
      if (L0 >= L1) CU = L0 - L1; else CD = L1 - L0;
      if (L1 >= L2) CU = CU + L1 - L2; else CD = CD + L2 - L1;
      if (L2 >= L3) CU = CU + L2 - L3; else CD = CD + L3 - L2;

      if (CU + CD != 0) LRSI = CU / (CU + CD);
      val1[i] = LRSI;
          i--;
        }
for(int a=0; a<Bars; a++ )
{if(LRSI[i]>0.45)
   LastLag++;
  
  }
 

D'après ce que j'ai compris, la ligne d'indicateur elle-même s'appelle LRSI.

Je ne peux donc pas lui attribuer une valeur de compteur. Par exemple, lorsque la ligne franchit 0,45 à la hausse, LastLag est ajouté de un.

Jusqu'à présent, le seul problème est l'attribution d'une valeur de compteur. Je peux écrire l'idée entière plus tard. Merci.

Dossiers :
laguerre.mq4  4 kb