[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 137

 

Bien sûr, je peux le vérifier moi-même, mais peut-être que quelqu'un pourra me donner une réponse rapide.

Si j'ai un tableau m[] avec le nombre actuel d'éléments déjà générés, disons 10,

et ensuite je dis

ArrayResize(m, 15)

Les 10 éléments originaux du tableau conserveront-ils leur valeur ?

--------------------------------------------------------------------------

Tout est vérifié - les valeurs sont conservées.


 
more:

Bien sûr, je peux le vérifier moi-même, mais peut-être que quelqu'un pourra me donner une réponse rapide.

Si j'ai un tableau m[] avec le nombre actuel d'éléments déjà formés, disons 10,

et ensuite dire

ArrayResize(m, 15)

Les 10 éléments originaux du tableau conserveront-ils leur valeur ?

--------------------------------------------------------------------------

Tout est vérifié - les valeurs sont conservées.


Pourquoi spécifiez-vous 15 ? Il vous faut 10.
 
Il y a quelques questions techniques concernant MT.

1. l'exportation de données. Tout est clair avec DDE et l'archivage des citations. Je suis intéressé par le déchargement de certaines citations d'un certain intervalle sur une certaine période en utilisant le langage embarqué. Je comprends que cela se fait à l'aide de scripts. Sur ce site, j'ai trouvé des exemples de scripts pour le déchargement des données.

Question : Pour que le script soit exécuté automatiquement (dans ce cas, le déchargement), dois-je créer un Conseiller Expert qui exécutera ce script ?

2. Le code des scripts, etc., semble être stocké dans *.mq4, tandis que *.ex4 est probablement un fichier compilé. J'aimerais avoir la possibilité suivante : si nécessaire, modifier le code du script avec n'importe quel éditeur de texte - et pour MT, exécuter le script déjà modifié. Si l'hypothèse concernant les fichiers *.mq4 et *.ex4 est correcte, est-il possible d'effectuer la compilation en utilisant des méthodes sans interface et de transmettre le script modifié à MT pour exécution ?

Je suis intéressé par l'importation/exportation de transactions par le biais d'un fichier et d'une bibliothèque - existe-t-il une telle possibilité (similaire à la fonctionnalité dans QUIK) ? Je n'ai pas trouvé d'indication claire de cette possibilité. Est-il vraiment nécessaire d'organiser l'échange par le biais d'un fichier au format propre : le conseiller expert lit et analyse le fichier et, en fonction de son contenu, il effectue des transactions ? Si cela est possible, existe-t-il desexemples ?


4. Existe-t-il une aide syntaxique pour le langage MetaQuote ?


Merci d'avance pour votre aide !
 
Mopo3:
Il y a quelques questions techniques concernant MT.

1. l'exportation de données. Tout est clair avec DDE et l'archivage des citations. Je suis intéressé par le déchargement de certaines citations d'un certain intervalle sur une certaine période en utilisant le langage embarqué. Je comprends que cela se fait à l'aide de scripts. Sur ce site, j'ai trouvé des exemples de scripts pour le déchargement des données.

Question : Si je veux que le script soit exécuté automatiquement (dans ce cas, le déchargement), dois-je créer un Conseiller Expert qui exécutera ce script ?

2. Le code des scripts, etc., semble être stocké dans *.mq4, tandis que *.ex4 est probablement un fichier compilé. J'aimerais avoir la possibilité suivante : si nécessaire, modifier le code du script avec n'importe quel éditeur de texte - et pour MT, exécuter le script déjà modifié. Si l'hypothèse concernant les fichiers *.mq4 et *.ex4 est correcte, est-il possible d'effectuer la compilation en utilisant des méthodes sans interface et de transmettre le script modifié à MT pour exécution ?

Je suis intéressé par l'importation/exportation de transactions à travers un fichier et une bibliothèque, est-ce possible (similaire à la fonctionnalité QUIK) ? Je n'ai pas trouvé d'indication claire de cette possibilité. Est-il possible d'organiser l'échange par le biais d'un fichier au format propre : le conseiller expert lit et analyse le fichier et, en fonction de son contenu, il effectue des transactions ? Si cela est possible, existe-t-il desexemples ?

4. Existe-t-il une aide syntaxique pour le langage MetaQuote ?

Merci d'avance pour votre aide !

1. Vous pouvez le faire à partir de n'importe quel endroit (script, conseiller expert, indicateur).

2. Vous pouvez le faire, mais pourquoi ? Tout peut être implémenté directement dans le code MQL4.

Oui, c'est possible. Il y a beaucoup d'exemples dans la collection de dossiers, et pas seulement à travers un dossier.

4. F1. https://docs.mql4.com/ru/

 
Egalement le bouton F1 dans les éditeurs)
 
alsu:
Et aussi le bouton F1 dans les éditeurs)
C'est ce que je voulais dire :-))
 
Zhunko:
C'est ce que je voulais dire :-))

Uh-oh. C'est dur un lundi.

 
Zhunko:

1. Vous pouvez le faire de n'importe où (script, expert, indicateur).

2. Vous pouvez le faire, mais pourquoi ? Tout peut être mis en œuvre directement dans le code MQL4.

Oui, c'est possible. Il y a beaucoup d'exemples dans la collection de dossiers, et pas seulement à travers un dossier.

4. F1. https://docs.mql4.com/ru/


1. Je vois, je vais étudier la langue.

2. Un exemple simple : un MTS tiers dans lequel sont sélectionnés des instruments, des TF, etc. Il demandera également des devis à MT, c'est-à-dire dans ce cas changer le code du script de téléchargement des données (je n'ai pas encore trouvé de bibliothèque externe pour se connecter dans une application de gestion MT tierce). MT devra compiler le code modifié et le mettre en route.

J'en déduis que la question de la compilation et de l'exécution automatiques doit être examinée sur https://docs.mql4.com/ru/ ?

3. Je n'ai pas dû chercher assez fort. Il m'a semblé que tous les exemples illustrent exactement la prise de décision du côté MT sur la base de l'analyse des données.

4. Merci beaucoup pour https://docs.mql4.com/ru/. Mais on peut difficilement qualifier la F1 d'aide à la syntaxe :)

 

Malheureusement, l'auteur de cette lorsque retiré de l'entreprise, alors je vous demande un pro-j'ai après une perte de l'affaire s'ouvre, un seul lot de l'affaire *2 - et puis mes commandes sont parfois annulées - après le temps - ils sont tous en attente et ne vient souvent pas à l'ouverture de l'affaire lot *2 Je pense que c'est parce que, après que nous ouvrons cette affaire, nous gardons le solde après workbalance_before= balance_after ; et la fonction est déjà la prochaine affaire, est l'habituel, suggérer - ce qui doivent changer ou fixer - ce qui serait

Aidez-moi à changer ou corriger - que dois-je changer ou corriger - ouvrir le lot *2 jusqu'à ce que l'ordre fonctionne, ou ouvrir jusqu'à ce que la perte soit bloquée, merci d'avance pour la réponse !


Comme paramètres, on passe le volume initial (double lot), et le pas (double x).
Insérez la méthode directement dans OrderSend au lieu du paramètre volume.

Пример вызова функции://+------------------------------------------------------------------+

double getMartinLot(double lot, double x){         //ФУНКЦИЯ УПРАВЛЕНИЯ ОБъЕМОМ ТОРГОВ ПО СИСТЕМЕ МАРТИНГЕЙЛА
   static double balance_before, balance_after;    //ДЛЯ ХРАНЕНИЯ СОСТОЯНИЯ БАЛАНСА ДО И ПОСЛЕ СДЕЛОК
   static double save_Lot;
   balance_after = AccountBalance();               //СОХРАНЕНИЕ ТЕКУЩЕГО СОСТОЯНИЯ БАЛАНСА
   if(balance_after >= balance_before){            //ПРОВЕРКА ИЗМЕНЕНИЯ БАЛАНСА
      save_Lot = lot;                              //ЕСЛИ ОН НЕ ИЗМЕНИЛСЯ ИЛИ СТАЛ БОЛЬШЕ, ТО СБРАСЫВАЕМ ЛОТ ДО БАЗОВОГО
   }else{
      save_Lot *= x;                               //ЕСЛИ СТАЛ МЕНЬШЕ ТО УВЕЛИЧИВАЕМ ЛОТ НА Х РАЗ
   }
   balance_before = balance_after;                 //СОХРАНЯЕМ СОСТОЯНИЕ БАЛАНСА ПОСЛЕ РАБОТЫ
   return(save_Lot);
}
//+------------------------------------------------------------------+

Passez le volume initial (double lot), et le pas (double x) comme paramètres.
Insérez la méthode directement dans OrderSend au lieu du paramètre volume.

Exemple d'appel de fonction :

if(OrdersTotal() == 0){
   OrderSend(Symbol(), OP_BUY, getMartinLot(0.1, 2), Ask, 10, Bid-25*Point, Bid+25*Point);
}

 
Mopo3:


1. Je vois, je vais étudier la langue.

2. Un exemple simple : un MTS tiers dans lequel on sélectionne des instruments, des TF, etc. Il demandera également des devis à MT, c'est-à-dire dans ce cas changer le code du script de téléchargement des données (je n'ai pas encore trouvé de bibliothèque externe à connecter dans l'application de gestion MT tierce). MT devra compiler le code modifié et le mettre en route.

J'en déduis que la question de la compilation et de l'exécution automatiques doit être examinée sur https://docs.mql4.com/ru/ ?

3. Je n'ai pas dû chercher assez fort. Il m'a semblé que tous les exemples illustrent exactement la prise de décision du côté MT sur la base de l'analyse des données.

4. Merci beaucoup pour https://docs.mql4.com/ru/. Mais on peut difficilement qualifier la F1 d'aide à la syntaxe :)

2. Je ne comprends pas pourquoi vous devez compiler quelque chose à la volée. Créez un ensemble de scripts prêts à l'emploi et exécutez-les, si vous ne savez pas comment gérer les paramètres du script de l'extérieur.

Je suis capable de gérer MT4 depuis l'application console. J'utilise la bibliothèque de classes sur la base de laquelle cette bibliothèque est construite.

4. Si quelque chose n'est pas clair dans le code, mettez le curseur sur ce qui n'est pas clair et appuyez sur F1. Il s'agit d'une aide syntaxique.