Mt4 Fin de l'assistance. - page 38

 
Galina Bobro:

Qu'est-ce qui est si étrange ? C'est une idée stupide à expliquer à une personne qui passera 10 à 20 pages de plus à prouver le contraire. Votre style de programmation est parfait et ne peut être critiqué.

Critiquez-le sur ses propres mérites.
 

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

Mt4 Fin de l'assistance.

Nikolai Semko, 2017.09.12 02:02

J'ai un problème avec cet algorithme, car il ne fonctionne pas lorsqu'une nouvelle barre arrive dans l'intervalle de temps actuel, et si vous l'exécutez sur une journée, vous pouvez attendre toute la journée jusqu'à ce qu'il fonctionne.
C'est ma faute. Et pour ce qui est de l'"encombrement du code", cela n'existe pas. Nous pouvons déplacer la boucle de remplissage du tableau vers une fonction séparée, mais ce n'est pas urgent à ce stade. Alors pourquoi tu t'en prends à moi ?
 

Je vais essayer d'être plus clair :

1) si le code ne fonctionne pas, c'est le problème de l'auteur et uniquement de l'auteur, personne n'est à blâmer à part l'auteur. À en juger par les messages, vous n'êtes pas sûr que cela fonctionne, c'est-à-dire que vous ne vérifiez pas correctement.

2) Les noms russes - au moins c'est peu pratique (ok, vous pouvez fermer les yeux) et ça peut ne pas fonctionner partout, comme dans ce cas le débogueur, et encore pire, si le système n'est pas en langue russe. Ne dites pas que vous n'avez pas besoin du débogueur tant que vous ne l'avez pas essayé et découvert ce qu'il est.

3) Rien dans le code ne doit être répété - c'est un très mauvais style de programmation. Allez-vous corriger chaque caractère manuellement ? Que faire si le terminal n'affiche pas "EURUSD", mais "EURUSDf", ou en général c'est FORTS, ou quelques actions ? Si quelque chose est écrit plus de deux fois, il doit y avoir une fonction qui le fait.

 if(Новый_бар && Этот_символ == "EURUSD" && Этот_таймфрейм == PERIOD_M5)
         {
          Print("M5");
         }
       //---------------------------------- 
       if(Новый_бар && Этот_символ == "EURUSD" && Этот_таймфрейм == PERIOD_M1)
         {
          Print("M1"); }

4) Vous venez d'enlever un gros morceau pour tous les TF et symboles de l'examen... Pourquoi allouer de la mémoire pour des symboles qui ne seront peut-être jamais demandés ? Et si l'utilisateur a besoin d'un symbole qui ne figure pas dans la revue de marché ?

5) Au fait, je n'ai pas compris ce qu'il en est des EuroBucks - allez-vous taper manuellement tous les symboles de cette manière ? Ensuite, voici la mauvaise nouvelle : il y a beaucoup de symboles, et vous souhaitez, je l'espère, devenir un programmeur, et non un "opérateur de saisie".

-----

Vous pouvez toujours fouiller dans le code, la liste peut être longue, mais vous devriez au moins la comprendre - déjà le code sera bien meilleur.

 
Реter Konow:
C'est vous le grand expert ici. Évaluer ma solution en termes d'exactitude et d'économie de ressources. Vous l'avez compris. Pourquoi ne dites-vous rien ?

Votre approche est fondamentalement défectueuse. Et pourquoi tu demandes ça, tu t'en fous.

 

Les racines viennent d'ici, de cette croyance :

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

Mt4 Fin de l'assistance.

Retag Konow, 2017.09.09 23:20

L'analogie est erronée. C'est le monde du commerce, et les gens qui viennent ici sont en général des aventuriers, pas de futurs scientifiques ou ingénieurs. Leur objectif est de tenter leur chance et de gagner rapidement beaucoup d'argent. Bien sûr, pour des personnes aussi sérieuses que nous sommes tous ici avec vous, ce n'est pas sérieux, - mais pour eux, ce n'est que le point de leurs efforts.

Leur capacité intellectuelle initiale est faible, et les artifices de la POO les découragent clairement de s'impliquer activement dans notre écosystème. Ils aimeraient tester rapidement et facilement leurs idées, et on leur déverse une telle charge sur la tête qu'ils ne peuvent s'empêcher d'avoir peur et de se demander "pourquoi j'en ai besoin... ?".

Bien sûr, il s'agit d'une représentation très figurative et caricaturale de l'état des choses, mais l'essence reste la même.


Donc il ne veut pas entendre ou écouter qui que ce soit ou quoi que ce soit, parce que... et l'explication est dans le même passage.

 
Galina Bobro:

Je vais essayer d'être plus clair :

1) si le code ne fonctionne pas, c'est le problème de l'auteur et uniquement de l'auteur, personne n'est à blâmer à part l'auteur. À en juger par les messages, vous n'êtes pas sûr que cela fonctionne, c'est-à-dire que vous ne vérifiez pas correctement.

2) Les noms russes - au moins c'est peu pratique (ok, vous pouvez fermer les yeux) et ça peut ne pas fonctionner partout, comme dans ce cas le débogueur, et encore pire, si le système n'est pas en langue russe. Ne dites pas que vous n'avez pas besoin du débogueur tant que vous ne l'avez pas essayé et découvert ce qu'il est.

3) Rien dans le code ne doit être répété - c'est un très mauvais style de programmation. Allez-vous corriger chaque caractère manuellement ? Que faire si le terminal n'affiche pas "EURUSD", mais "EURUSDf" ou même FORTS, ou d'autres actions ? Si quelque chose est écrit plus de deux fois, il doit y avoir une fonction qui le fait.

4) Vous venez d'enlever un gros morceau pour tous les TF et symboles de l'examen... Pourquoi allouer de la mémoire pour des symboles qui ne seront peut-être jamais demandés ? Et si l'utilisateur a besoin d'un symbole qui ne figure pas dans la revue de marché ?

5) Au fait, qu'en est-il des EuroBucks que je n'ai pas compris - allez-vous taper tous les symboles manuellement de cette manière ? Ensuite, voici la mauvaise nouvelle : il y a beaucoup de symboles, et vous souhaitez, je l'espère, devenir un programmeur, et non un "opérateur de frappe".

-----


Enfin, quelques critiques sur le sujet.

1. Bien sûr, personne ne discute. Mon inspection était superficielle. Cependant, je n'exécute pas la commande de qui que ce soit maintenant, mais je réfute simplement le point de vue selon lequel une telle tâche ne peut être résolue efficacement sans la POO. Tu te souviens ? - C'est là que tout a commencé.

2. Que ce soit pratique ou non, que vous ayez besoin d'un débogueur ou non est une question totalement subjective et personnelle. Là encore, cela n'a rien à voir avec le sujet. Le sujet est de prouver et de vous montrer comment vous pouvez vous débrouiller sans POO et faire des solutions tout aussi efficaces. 5.

3. Je vous propose ici l'une des variantes permettant de résoudre la tâche consistant à fixer l'événement d'une nouvelle barre pour des dizaines de symboles et d'horizons temporels avec une charge minimale pour le système. Exactement avec une charge minimale. Pour cette raison, j'oblige toutes les futures fonctionnalités de négociation à s'adapter à cette solution. Si l'économie de ressources n'est pas une priorité, vous pouvez utiliser une autre solution.

4. Voir le point 3.

Ceci n'est qu'un exemple, vous pouvez écrire vos propres fonctions de trading. C'est l'affaire du commerçant.

 
Реter Konow:

Enfin, la critique est pertinente.

1. Bien sûr, personne ne discute. Mon inspection était superficielle. Cependant, je n'exécute pas la commande de qui que ce soit maintenant, mais je réfute simplement le point de vue selon lequel une telle tâche ne peut être résolue efficacement sans la POO. Tu te souviens ? - C'est là que tout a commencé.

2. La question est de savoir si c'est pratique ou non, si vous avez besoin d'un débogueur ou non - c'est une question absolument subjective et personnelle. Encore une fois, cela n'a rien à voir avec le sujet. Le sujet est de prouver et de vous montrer comment vous pouvez vous débrouiller sans POO et faire des solutions tout aussi efficaces.

3. Je vous propose ici l'une des variantes permettant de résoudre la tâche consistant à fixer l'événement d'une nouvelle barre pour des dizaines de symboles et d'horizons temporels avec une charge minimale pour le système. Exactement avec une charge minimale. Pour cette raison, j'oblige toutes les futures fonctionnalités de négociation à s'adapter à cette solution. Si l'économie de ressources n'est pas une priorité, vous pouvez utiliser une autre solution.

4. Voir le point 3.

Ceci n'est qu'un exemple, vous pouvez écrire vos propres fonctions de trading. C'est l'affaire du commerçant.


1) Le code ne fonctionne pas - qu'entendez-vous par OOP ?

2) Eh bien, dites-moi comment vous trouvez le "tram" par rapport à la "Mercedes". Je ne me soucie pas vraiment de ce que vous aimez. C'est une pure question de goût.

3) Vous avez une charge maximale sur votre mémoire et votre système, plus max vous devez encore penser comment écrire. Car c'est ce que vous avez écrit, mais il semble que vous n'en ayez pas besoin.

4) Voir le point 3.

5) Oui, laissez le commerçant corriger le code. Il y avait un sujet quelque part sur la connaissance du programme pour un trader - laissez-le enseigner le bâtard.

----

Je pense que c'est ce que je devais prouver - il est inutile de dire quoi que ce soit. Je vais mettre mon avis d'amateur là où je suis concerné - je vais m'adresser à un freelance pour mieux finir ma commande.

 

Ma tâche initiale: montrer des solutions efficaces sans utiliser la POO.


L'essence de ma solution: - générer un tableau global de drapeaux d'événements pour les nouvelles barres de tous les symboles et de toutes les échéances une fois par minute.

Avantages :

1. le remplissage automatique du tableau et le vidage automatique.

2. aucune charge système.

3. Accès direct au tableau depuis n'importe quelle fonction et sauvegarde de l'indicateur d'événement avant que le tableau ne soit effacé.

 
Реter Konow:

Ma tâche initiale: montrer des solutions efficaces sans utiliser la POO.


L'essence de ma solution: - générer un tableau global de drapeaux d'événements pour les nouvelles barres de tous les symboles et de toutes les échéances une fois par minute.

Avantages :

1. le remplissage automatique du tableau et le vidage automatique.

2. aucune charge système.

3. Accès direct au tableau depuis n'importe quelle fonction et sauvegarde de l'indicateur d'événement avant que le tableau ne soit effacé.

Et puis merde, une fois par minute. On ne sait pas du tout comment le bar est formé !
En dormant, j'ai 4h41 du matin.
 
Реter Konow:

Avantages :

3. Accès direct au tableau depuis n'importe quelle fonction et sauvegarde de l'indicateur d'événement avant de vider le tableau.

On peut soutenir que c'est un avantage.

Par accident, quelqu'un changera le drapeau - et cela affectera le comportement du CT.