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

 
Maxim Kuznetsov:

Lors de l'ouverture d'un ordre, inscrivez le numéro de la règle/variable correspondante dans le commentaire.

Ensuite, lorsque vous effectuez une vérification de l'historique, vous prenez ce numéro, vous lui ajoutez 1 et vous obtenez un nouveau numéro de règle.

Merci ! C'est un bon moyen. Je vais essayer

 
Igor Makanu:

Expérimentez avec ce code, c'est peut-être ce dont vous avez besoin.

2019.11.28 22:31:26.409 tst EURUSD,H1 : 0.7 ---> 0.7

2019.11.28 22:31:26.409 tst EURUSD,H1 : 0.6 ---> 0.7

2019.11.28 22:31:26.409 tst EURUSD,H1 : 0.5 ---> 0.6

2019.11.28 22:31:26.409 tst EURUSD,H1 : 0.4 ---> 0.5

2019.11.28 22:31:26.409 tst EURUSD,H1 : 0.3 ---> 0.4

2019.11.28 22:31:26.409 tst EURUSD,H1 : 0.2 ---> 0.3

2019.11.28 22:31:26.409 tst EURUSD,H1 : 0.1 ---> 0.2

Dans ma fonction GetNextLot(), vous introduisez le volume du dernier ordre fermé, et elle renvoie la valeur suivante du paramètre Lot_XX.

la seule limitation dans ce code est que vous devez configurer les lots dans l'ordre croissant - je pense que le code est simple et direct, vous pouvez le modifier pour répondre à vos besoins

Merci ! !!

 
Corvin85:

Merci ! !!

s'il vous plaît

Si le calcul de votre lot est arbitraire, vous pouvez essayer de remplacer if par switch-case dans mon exemple

 
Je veux ouvrir deux terminaux MT4 et me connecter à un EA à partir de ceux-ci, c'est-à-dire qu'un programme sera installé dans un terminal et l'autre pourra aussi trouver l'EA, c'est très difficile de compiler le programme et à chaque fois de jeter un fichier ici et là. Est-il possible de le faire ?
 

Quelle est la meilleure façon d'écrire l'algorithme ?


Tâche :

Un conseiller expert fonctionne sur différents graphiques.

J'ai besoin d'un fichier séparé contenant des informations minute par minute sur le compte, le solde, les fonds propres, etc.


Il s'avère maintenant que tous les conseillers experts écrivent toutes les informations dans un seul fichier. Par conséquent, nous avons beaucoup d'entrées inutiles.


Quelle pourrait être la solution ingénieuse pour qu'un seul bot fasse des enregistrements dans le fichier ? (Et si par exemple il a été supprimé, les enregistrements ont commencé à faire un autre bot, etc.)

 
Seric29:
Je veux ouvrir 2 terminaux MT4 et me connecter à un EA à partir de ceux-ci, c'est-à-dire qu'un programme sera installé dans un terminal et le second sera également capable de trouver l'EA, très difficile de compiler un programme et à chaque fois de jeter le fichier ici et là. Est-il possible de le faire ?

Vous ne pouvez pas faire ça.

Recherchez un programme Windows qui synchronise les données dans des dossiers. Et configurez-le pour que l'EA soit automatiquement copié sur le nouveau terminal.

 
Sergey Likho:

Quelle est la meilleure façon d'écrire l'algorithme ?


Tâche :

Un conseiller expert fonctionne sur différents graphiques.

J'ai besoin d'un fichier séparé contenant des informations minute par minute sur le compte, le solde, les fonds propres, etc.


Il s'avère maintenant que tous les conseillers experts écrivent toutes les informations dans un seul fichier. Par conséquent, nous avons beaucoup d'entrées inutiles.


Quelle est la solution originale possible, pour que seul un bot écrive dans le fichier (Et, par exemple, s'il a été supprimé, l'autre bot commence à faire des enregistrements, etc).

Vous pouvez essayer d'organiser la communication par le biais de GV.

Par exemple : En commençant le premier, il ne trouve pas GV et le crée avec un certain nom. L'ID du graphique peut être utilisé comme valeur. Vous lancez le prochain Expert Advisor, GV est là, il n'écrit pas. Vous supprimez le premier, il vérifie la valeur et si la valeur est égale à l'ID du graphique, il supprime le GV. Le suivant voit que le GV est absent et le crée avec sa propre valeur.

Ainsi, le GV ne peut être supprimé que par celui qui l'a créé ou par celui qui en a la charge, littéralement. Supprimez-le à la main.

 

Bonjour, tout le monde. J'ai une question stupide, je ne veux pas expérimenter un peu. J'ai un indicateur, je n'ai pas besoin d'en sortir quoi que ce soit, mais mon conseiller expert doit en tirer des données. Quelle est la bonne façon d'initialiser des tableaux?

INDICATOR_DATA ou INDICATOR_CALCULATIONS ?

Eh bien, en général, je veux savoir si je peux obtenir des données à partir du numéro de tampon dans la fonction iCustom - en utilisant le tampon défini comme SetIndexBuffer(N, BufferName, INDICATOR_CALCULATIONS) ;

 
Никита Парамонов:

Bonjour, tout le monde. J'ai une question stupide, je ne veux pas expérimenter un peu. J'ai un indicateur, je n'ai pas besoin d'en sortir quoi que ce soit, mais mon conseiller expert doit en tirer des données. Quelle est la bonne façon d'initialiser des tableaux?

INDICATOR_DATA ou INDICATOR_CALCULATIONS ?

Eh bien, en général, je veux savoir si je peux obtenir des données à partir du numéro de tampon dans la fonction iCustom - en utilisant le tampon défini comme SetIndexBuffer(N, BufferName, INDICATOR_CALCULATIONS) ;

Prenez la MA standard, modifiez le type de données du tampon, compilez et vérifiez dans la fenêtre de données du terminal (Ctrl+D).

 

ChartID() est écrit dans les variables globales du terminal avec une erreur. Quelle est cette absurdité ?


Essayez ce code :


   string GlobalVar1 = "GVAR";
   long ChID = ChartID();
   
   if(GlobalVariableSet(GlobalVar1,ChID) == 0)
      Print("Error GV", GetLastError());

   Print(GlobalVar1," id:",ChID, " GV_id:", (long)GlobalVariableGet(GlobalVar1));


//мой ответ 2019.11.29 13:30:39.292     test EURUSD,M5: GVAR id:132194970392300419 GV_id:132194970392300416

разница в конце в одну цифру
Raison: