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

 
Artyom Trishkin:
Vous avez une courbe ? Il n'est jamais trop tard pour apprendre.

Plus d'un sujet de la catégorie : Je veux obtenir plus d'impact et rendre les programmes plus compacts et structurés, ce qui, en fin de compte, améliore la performance des programmes.

 
Comment retourner l'adresse de la variable et l'élément d'index d'une cellule de tableau ?
 
Seric29:
Comment retourner l'adresse d'une variable et l'élément d'indexation d'une cellule de tableau ?

https://docs.mql4.com/ru/basis/types/this

Les programmes MQL n'ont pas d'accès physique à la mémoire, ils peuvent seulement obtenir un pointeur sur un objet.

Ссылки. Модификатор & и ключевое слово this - Типы данных - Основы языка - Справочник MQL4
Ссылки. Модификатор & и ключевое слово this - Типы данных - Основы языка - Справочник MQL4
  • docs.mql4.com
В MQL4 параметры простых типов можно передавать как по значению, так и по ссылке, в то время как параметры сложных типов всегда передаются по ссылке. Для указания компилятору на необходимость передачи параметра по ссылке, перед именем параметра ставится знак амперсанда Передача параметра по ссылке означает передачу адреса переменной, поэтому...
 

Veuillez conseiller mes amis. Je reçois des requêtes sur le MT5 avec Marekt Execution.

Comment traiter correctement cette erreur pour ouvrir une transaction ? Je comprends que mon courtier renvoie la demande d'ouverture de la transaction à 1.12875 ? Comment faites-vous face à cela ?

CTrade::OrderSend: instant buy 0.01 EURUSD at 1.12879 sl: 1.12655 tp: 1.14879 [requote (1.12875/1.12881)]

 
Yury Smagin:

Veuillez conseiller mes amis. Je reçois des requêtes sur le MT5 avec Marekt Execution.

Comment traiter correctement cette erreur pour ouvrir une transaction ? Je comprends que mon courtier renvoie la demande d'ouverture de la transaction à 1.12875 ? Comment le gérez-vous ?


Demande

   uint              ResultRetcode(void)                   const { return(m_result.retcode);            }
et décider du code d'erreur. Mettez à jour les prix et réessayez.
 

Bonjour, lors des tests, j'ai identifié une situation qui n'est pas claire pour moi, lorsque l'on définit la période du graphique M30, l'entrée ne se produit pas sur l'ordre, lorsque l'on définit M1, l'entrée est, dans les paramètres est le test sur chaque tick. Je pensais que ce paramètre n'affectait pas le graphique de l'échelle de temps et que je pouvais choisir celui qui me convenait le mieux pour examiner les résultats des tests. Aidez-moi à comprendre.

Je l'écris. Je viens d'effectuer les tests :

- réglage chaque tick, pas de visualisation, 1M : Bénéfice brut 17695, Perte brute -19836

- réglage de chaque tick, sans visualisation, 30M : Bénéfice brut 17634, Perte brute -19227


Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
  • www.metatrader5.com
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии (советники) перед началом использования их в реальной торговле. При тестировании советника происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров...
 
Igor Makanu:

Les programmes MQL n'ont pas d'accès physique à la mémoire, ils peuvent seulement obtenir un pointeur sur un objet.

C'est mauvais - c'est pour ça qu'on a tous ces problèmes. Et comment l'obtenir, que peut-on faire ? D'après ce que je comprends, il est possible d'accéder au descripteur, mais je ne sais pas comment influencer l'adresse de la variable de stockage par le biais du descripteur. Est-il possible de le faire avec un descripteur ?

 

Hier, j'ai fait un enregistrement au format suivant.

int mas[0]=4,mas[1]=3;ensuite j'ai déclaré un tableau et j'ai essayé de le remplir avec les valeurs qui sont stockées dans les cellules de ce tableau

int Arr[]={mas[0],mas[1]}

et quelle sera, selon vous, l'erreur. Si j'avais une masse à portée de main, je casserais l'ordinateur avec, j'irais en Amérique ou ailleurs, je trouverais ces idiots de développeurs qui mettent une tonne de restrictions sur mql et je les frapperais avec, c'est horrible. Vous ne pouvez écrire que

int Arr[]={4,3} tout est tellement statique, c'est horrible.

Qui sait comment écrire une lettre aux développeurs de mql4, est-il possible d'écrire en russe, existe-t-il un service de support technique ?

 
Seric29:

C'est mauvais, c'est de là que viennent tous les problèmes. Et comment l'obtenir, que peut-on faire ? D'après ce que j'ai compris, il existe un moyen d'accéder au descripteur, mais je ne sais pas comment influencer l'adresse de stockage de la variable par le biais du descripteur. Est-il possible de faire cela avec un descripteur ?

il n'y a pas de problème

MQL travaille à 90% comme C++, le travail direct avec la mémoire, comme l'allocation de mémoire, le travail avec la mémoire via des pointeurs, etc. est absent, car MQL travaille sous le contrôle du terminal, et n'est pas un programme indépendant dans l'OS

Si vous devez passer une valeur dans une fonction, passez-la par valeur ou par référence.

https://www.mql5.com/ru/docs/basis/function


les pointeurs ne sont utilisés que pour travailler avec des classes


vous cherchez un cheval sphérique dans le vide pendant plusieurs jours, il y a une tâche spécifique - il y aura une mise en œuvre spécifique, MQL est un langage assez flexible, avec une riche fonctionnalité et fournit une interaction complète avec le terminal de trading MT - obtenir et traiter des données historiques, envoyer des commandes de trading, obtenir des informations sur un instrument de trading..... toutes les informations nécessaires à la négociation

Si vous avez besoin d'écrire dans un logiciel tiers, MQL supporte la connexion des .dll - cherchez dans le forum - il y a environ 20 articles sur le sujet.

Документация по MQL5: Основы языка / Функции
Документация по MQL5: Основы языка / Функции
  • www.mql5.com
Всякая задача может быть разбита на подзадачи, каждую из которых можно либо непосредственно представить в виде кода, либо разбить на еще более мелкие подзадачи. Данный метод называется определения функции. Заголовок функции включает в себя описание типа возвращаемого значения, имени (идентификатора) и формальных параметров.  Количество...
 
Igor Makanu:

https://docs.mql4.com/ru/basis/types/this

Les programmes MQL n'ont pas d'accès physique à la mémoire, ils peuvent seulement obtenir un pointeur sur un objet.

J'ai lu ce sujet, la description est très surchargée et bien sûr je ne la comprends pas correctement. La description de la façon d'accéder à la classe, comment appeler la classe, à quels membres il faut accéder ou pour appeler la forme entière ou pour accéder via un point, il n'est pas clair comment décrire la classe séparément ou à l'intérieur, et beaucoup d'autres choses semblent être présentes et cool, mais il n'est pas clair comment cela fonctionne. Vous voulez dire qu'à travers une classe et une esperluette, vous pouvez accéder à une adresse (c'est le principe du descripteur, travailler par un intermédiaire via un prototype) ?