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

 
-Aleks-:

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?
 
YURAZ_CreateCSV_HistoryFile_From_MT5_For_MT4
YURAZ_CreateCSV_HistoryFile_From_MT5_For_MT4
  • votes : 28
  • 2010.12.15
  • Yuriy Zaytsev
  • www.mql5.com
Данный скрипт поможет получить для MetaTrader 4 полную историю без дырок из базы MetaTrader 5.
 
Victor Nikolaev:

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 ?


 
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.
 
-Aleks-:

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.
C'est plus facile de passer à un A alors :)
 
Vitalie Postolache:
C'est plus facile de passer à un cinq alors :)

C'est plus facile pour certains et difficile pour d'autres - j'ai une EA de plus de 15 lignes, sans compter 8 classes distinctes...
 

Un peu d'aide pour un débutant avec le code :


Il existe un code pour le verrouillage des transactions :

Code MQL :
void OnTick(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.
Raison: