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

 
Ievgen Kurbatov:

Bonjour ! Pouvez-vous me dire s'il est réaliste d'analyser les données à partir d'icihttps://www1.oanda.com/lang/ru/forex-trading/analysis/forex-order-book.


afin que les données puissent être collectées dans Excel pour d'autres calculs ?

voir l'api d'oanda - si je ne me trompe pas dans l'image c'est PositionBook

 
Artyom Trishkin:

ChartNavigate()

Cela fonctionne, mais il y a des "pépins" constants. Le graphique est positionné n fois et saute ensuite à la fin. Et je dois rembobiner manuellement pour voir le chiffre trouvé. Est-ce que c'est censé être comme ça ou est-ce une erreur de MT ?

Il n'y a pas d'autre moyen de positionner la carte ?

 
Сергей Таболин:

Cela fonctionne, mais il y a des "pépins" constants. Le graphique est positionné n fois et saute ensuite à la fin. Et vous devez rembobiner manuellement pour voir la figure trouvée. Est-ce que c'est censé être comme ça ou est-ce une erreur de MT ?

Il n'y a pas d'autre moyen de positionner la carte ?

Vous devez désactiver le défilement automatique des graphiques. Et n'oubliez pas qu'il s'agit d'une commande asynchrone.

 

Bonsoir.

Pouvez-vous me dire s'il est approprié de comparer la séquence d'ouverture des commandes de l'historique par numéro de ticket ? (Comme cela est fait dans les tutoriels vidéo connus)

Des doutes sont apparus car OrderSend() renvoie le type int, qui n'est pas infini, et, je suppose, est remis à zéro à un moment donné.

 
Andrey Sokolov:

Bonsoir.

Pouvez-vous me dire s'il est approprié de comparer la séquence d'ouverture des commandes de l'historique par numéro de ticket ? (Comme cela est fait dans les tutoriels vidéo connus)

Des doutes sont apparus car OrderSend() renvoie le type int, qui n'est pas infini, et, je suppose, est remis à zéro à un moment donné.

en général, c'est incorrect. C'est juste une question d'histoire et jusqu'à présent, c'est soutenu. Le dépassement d'Int est une chose délicate :-)

En plus de l'overflow, c'est un bug de sécurité, je pense que dans certaines versions futures, il sera "cassé" et tous les ID deviendront imprévisibles.

pour sauvegarder la séquence il y a des timestamps, s'ils ne sont pas suffisants la magie et les commentaires aideront

PS/ d'ailleurs, même en 4, il est possible que des situations où un ordre ultérieur obtienne un ticket inférieur sans dépassement d'entier soient possibles. Par exemple, deux EAs travaillant simultanément sur des graphiques différents dans la même stratégie.

 
Si je place un parabolique sur la M5 avec les paramètres standard, comment puis-je y placer un autre parabolique pour afficher le parabolique de l'horizon temporel M15 ?
 
Andrey Sokolov:

Bonsoir.

Pouvez-vous me dire s'il est approprié de comparer la séquence d'ouverture des commandes de l'historique par numéro de ticket ? (Comme cela est fait dans les tutoriels vidéo connus)

Des doutes sont apparus car OrderSend() renvoie le type int, qui n'est pas infini, et, je suppose, est remis à zéro à un moment donné.

Non, ce n'est pas le cas. La cohérence n'est pas garantie dans l'ordre d'augmentation du nombre de billets.

Une chaîne de commandes

MarketBuy #1, MarketBuy #2, PendingBuyLimit #3, MarketBuy #4, PendingSellLimit #5, MarketSell #6, MarketSell #7, MarketBuy #8

peut avoir une séquence de positions

Acheter #1, Acheter #2, Acheter #4, Vendre #6, Vendre #7, Vendre #5, Acheter #3, Acheter #8

 

J'écris ce code en faisant une boucle dans l'historique. Je ne prends que la transaction la plus récemment fermée

string stroka = OrderComment();
string s = StringGetCharacter(stroka,1);
string s_2 = StringGetCharacter(stroka,2);
string s_3 = StringGetCharacter(stroka,3);
string s_4 = StringGetCharacter(stroka,4);
string s_5 = StringGetCharacter(stroka,5);
Comment(stroka,"  ",s,"  ",s_2,"  ",s_3,"  ",s_4,"  ",s_5);                         

Pourquoi le symbole revient-il sous la forme d'un nombre ?


 
Nikita Chernyshov:

J'écris ce code en faisant une boucle dans l'historique. Je ne prends que la transaction la plus récemment fermée

Pourquoi le symbole revient-il sous la forme d'un nombre ?


Parce que c'est ce que vous faites- vous obtenez un code pour chaque caractère de la chaîne, sans commencer par le premier, et vous affichez les codes dans le commentaire du graphique.

Документация по MQL5: Строковые функции / StringGetCharacter
Документация по MQL5: Строковые функции / StringGetCharacter
  • www.mql5.com
Строковые функции / StringGetCharacter - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Artyom Trishkin:

Parce que c'est exactement ce que vous faites - obtenir le code de chaque caractère de la chaîne, sans commencer par le premier, et afficher les codes résultants dans le commentaire du graphique.

Ouais. Je suis en pleine crise de nerfs. Artem, merci beaucoup.

Raison: