C'est évident, mais où sont stockées les données ? Je suis en train d'importer des cotations pour un autre instrument - Si futures et j'ai besoin de supprimer les zéros après la virgule, car ils ne sont pas dans Si.
Commençons donc par l'autre côté : comment importez-vous?
Vitalie Postolache: De cette façon, le script peut être "corrigé" pour que le fichier final contienne les guillemets dans le bon format, mais je ne suis pas sûr que le terminal les affichera sans la partie fractionnée. Il est fort probable qu'il y aura des zéros après l'importation dans le terminal. Demandez à l'auteur du scénario.
C'est ce que je dis, il y a des zéros ! Sinon, tout fonctionne. Et ces zéros me dérangent - les nombres astronomiques de points gâchent la perception.
Quelle direction retravailler - il n'y a pas de zéros dans le déchargement.
Ou bien, proposez-vous de diviser les entiers dans l'autre sens ?
Il ne vous reste plus qu'à masquer les prix du graphique et à dessiner vos propres objets, mais cela en vaut-il la peine ? Pourquoi les zéros vous dérangent-ils, l'esthétique est-elle mauvaise ?
Vitalie Postolache: Il ne reste plus qu'à masquer les prix du graphique et à dessiner vos propres objets, mais cela en vaut-il la peine ? Qu'est-ce que les zéros empêchent, l'esthétique est mauvaise ?
Les zéros nous empêchent de le faire parce que nous devons reconfigurer l'EA globalement dans les endroits où des points sont utilisés - c'est une perte de temps.
-Aleks-: Les zéros sont un obstacle parce qu'il faut reconfigurer l'EA globalement dans les endroits où des points sont utilisés - c'est une perte de temps.
Il existe un code pour le verrouillage des transactions :
Code MQL :
voidOnTick(void){ double LB=0, LS=0 ; int b=0,s=0 ; for(int i=0 ; i<OrdersTotal() ; i++){ if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){ if(OrderSymbol()==Symbol()){ int tip = OrderType() ;
si (tip==OP_BUY){ LB += OrderLots() ; b++ ; } si (tip==OP_SELL){ LS += OrderLots() ; s++ ;
}}}} Comment(b," Buy ",DoubleToStr(LB,2)," lot", "\n",s," Sell ",DoubleToStr(LS,2)," lot") ; if (LS<LB){ if(OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),100,0, stoploss, NULL,0,0,CLR_NONE)==-1) Print("Error ",GetLastError()," order opening
} if (LS>LB){ if(OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,Digits),100,0, takeprofit, NULL,0,0,CLR_NONE)==-1) Print("Error ",GetLastError()," order opening ") ; }
Il fonctionne sur le principe du verrouillage de chaque transaction ouverte... C'est-à-dire qu'une transaction est ouverte et qu'elle est immédiatement couverte par la transaction opposée et ainsi de suite à l'infini...
Je dois le faire de cette façon ! Lorsqu'une affaire était ouverte (ou que je l'ouvrais moi-même en quelque sorte), et si elle était réussie, elle était fermée en toute sécurité... Et si elle n'était pas justifiée, alors après un nième nombre (qui peut être spécifié dans les paramètres), la tique ouvrait le verrou et maintenait cette position... Je veux dire, la logique est claire ? Sinon, je vais essayer d'expliquer le point plus en détail...
S'il vous plaît, aidez les bonnes personnes.... je vous en serai très reconnaissant.
C'est évident, mais où sont stockées les données ? Je suis en train d'importer des cotations pour un autre instrument - Si futures et j'ai besoin de supprimer les zéros après la virgule, car ils ne sont pas dans Si.
Commençons donc par l'autre côté : comment importe-t-on ?
Выгружаю при помощи скрипта https://www.mql5.com/ru/code/232?utm_campaign=MetaTrader+5+Terminal&utm_medium=special&utm_source=mt5terminal+codebase&utm_link=de35e1ae8016b5df5acf9cef409f1632&utm_codepage=1049&utm_gid=8881077233567656571&utm_uniq=FF3D0E2E-CB4A-T
Il suffit de retravailler le script un peu
Il suffit de retravailler un peu le script.
Quelle direction retravailler - il n'y a pas de zéros dans le déchargement.
Ou bien, suggérez-vous l'inverse pour diviser les entiers ?
De cette façon, le script peut être "corrigé" pour que le fichier final contienne les guillemets dans le bon format, mais je ne suis pas sûr que le terminal les affichera sans la partie fractionnée. Il est fort probable qu'il y aura des zéros après l'importation dans le terminal. Demandez à l'auteur du scénario.
Quelle direction retravailler - il n'y a pas de zéros dans le déchargement.
Ou bien, proposez-vous de diviser les entiers dans l'autre sens ?
Il ne reste plus qu'à masquer les prix du graphique et à dessiner vos propres objets, mais cela en vaut-il la peine ? Qu'est-ce que les zéros empêchent, l'esthétique est mauvaise ?
Les zéros sont un obstacle parce qu'il faut reconfigurer l'EA globalement dans les endroits où des points sont utilisés - c'est une perte de temps.
C'est plus facile de passer à un cinq alors :)
Un peu d'aide pour un débutant avec le code :