Erreurs, bugs, questions - page 2123

 
Presque toutes les méthodes des info-classes doivent être statiques. Pour quelle raison n'est-ce pas le cas ?
 
Quelqu'un y pense-t-il en écrivant du code ?

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading

Conseillers experts : TrailingTakeProfit

fxsaber, 2018.02.07 16:17

Imaginez une optimisation simple pour 100 000 passages de 10 000 000 de ticks. Alors OnTick serait appelé un TRILLION de fois. Toute action supplémentaire appelée un trillion de fois nécessiterait des secondes/minutes/heures supplémentaires. Appréciez votre temps et celui des autres.

 
fxsaber:
Quelqu'un y pense-t-il lorsqu'il écrit du code ?

Je pense...

 
Vladimir Pastushak:

Je pense...

Alors il vaut mieux ne pas écrire comme ça.

   Comment(
           "\n","DayLimit ",DoubleToStr(DayLimit,2),               // Выводит на экран установленный лимит
           "\n","DayProfit ",DoubleToStr(DayProfit,2),             // Выводит на экран текущий профит за день
           "\n","Dostupno",DoubleToStr(DayProfit+DayLimit,2),      // Выводит на экран остаток от лимита
           "\n","Trade ",text                                      // Выводит на экран сообщение о разрешении торговать или нет
           );
 
Les gars ! Aide) il y a une semaine est sorti mis à jour mon 10. J'ai décidé de sauvegarder une capture d'écran de l'espace de travail du terminal, j'ai appuyé sur file-save as image-active chart et appuyé sur OK, la fenêtre se ferme et c'est tout......... j'ai le même problème sur deux terminaux chez différents courtiers( la réinstallation n'aide pas
 
fxsaber:

Alors il vaut mieux ne pas écrire comme ça.

Il est souvent difficile de comprendre ce que vous voulez dire. Il faut s'asseoir à côté de vous et voir tout ce que vous lisez, vérifiez, écrivez.

Il y a un manque de contexte.

 
Rashid Umarov:

Il est souvent difficile de comprendre ce que vous voulez dire. Il faut s'asseoir à côté de vous et voir tout ce que vous lisez, vérifiez, écrivez.

Il y a un manque de contexte.

Parce que DoubleToStr seul sera appelé trois trillions de fois pour rien. Voyons combien de temps cela prend.

double Func( const string )
{
  return(1);
}

void OnStart()
{  
  double d = 0;

  for (long i = 0; i < 3 e12; i++)
    d += Func(DoubleToString(d, 2));
  
  Print(d);  
}

Sur ma machine pas trop faible, c'est 50 heures. Par exemple, un conseiller expert vide avec un tel commentaire (le commentaire lui-même ne sera pas appelé dans le mode d'optimisation, mais les paramètres d'entrée seront calculés) ajoutera 50 heures au temps d'attente. Qui pense à cela en écrivant du code ?

 
2018/02/08 00:21:15 Complété #2151967 Stardust11
Особенности языка mql5, тонкости и приёмы работы
Особенности языка mql5, тонкости и приёмы работы
  • 2017.11.20
  • www.mql5.com
В данной теме будут обсуждаться недокументированные приёмы работы с языком mql5, примеры решения тех, или иных задач...
 

De loin.

Думаю, все сильно зависит от кодера. Испытываю неприятное ощущение от отсутствия каких-либо попыток что-либо написать не медленно.

J'ai seulement affiné la vitesse dans mon testeur lorsque j'ai eu besoin d'optimiser rapidement (des centaines de fois plus vite que MT) un dépassement complet. L'optimisation a pris quelques heures en un week-end, au lieu d'un mois.

Et dans MT4Orders, lorsque vous vouliez enfin mettre un point raisonnable à MT5.

Ce n'est pas comme si nous parlions d'exécution de combat, mais dans le Testeur. Le simple fait que le Cloud soit disponible montre que la vitesse est un goulot d'étranglement. En somme, les utilisateurs du nuage ont dépensé une somme énorme pour payer l'incompétence des codeurs.

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie

Conseillers : TimeEA

fxsaber, 2018.02.07 04:01

Pas un seul EA de MQ dans KB (je n'ai pas regardé la livraison standard). Situation étrange. MQ ne cesse de mettre en avant les bonnes vitesses du MT5 mais ne semble pas les avoir mesurées. C'est peut-être pour ça qu'ils vous laissent poster un code lent à des fins de formation.


J'aimerais voir un code de référence de MQ. Lorsqu'il n'y a pas d'erreurs logiques, l'accélération algorithmique est impossible, le code est décomposé, différents types d'ordres sont impliqués (pas seulement le marché), l'envoi et le traitement asynchrone des ordres est démontré, l'historique de trading et les ticks sont impliqués. Au moins pour un symbole.

 
Pertinent

Forum sur le trading, les systèmes de trading automatisé et les tests de stratégies de trading

Bugs, bugs, questions

fxsaber, 2018.02.07 15:48

Pour résumer la question. Quel est l'intérêt de CAccountInfo, COrderInfo, CSymbolInfo, CPositionInfo et CTerminalInfo ?

J'ai regardé leur code source. Quel est l'intérêt de les utiliser ?


CDealInfo et CHistoryOrderInfo - ils sont également écrits avec des erreurs logiques. Quel est le but de leur utilisation ?


Eh bien, nous avons CTrade. Tout est clair avec elle ; elle peut être utile où et ainsi de suite. Mais qu'en est-il des info-classes ?

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie

Erreurs, bugs, questions

fxsaber, 2018.02.07 15:53

Presque toutes les méthodes des info-classes doivent être statiques. Quelle est la raison pour laquelle elle ne l'est pas ?