Sélectionnez un symbole dans les paramètres - page 4

 
Alexey Viktorov:

... "Qui en a besoin ?"

...Il y a suffisamment de personnes ici qui peuvent aussi dessiner des caricatures sur la carte du terminal.

Exactement ! Il y a les échanges évidents et puis il y a les excès.

Les gens ici se plaignent que le terminal ne connaît pas les erreurs renvoyées par la Bourse de Moscou ! (Et se plaignent depuis des années...).

Il existe également un besoin clair de disposer d'une liste des paires actives (au moins à partir de la fenêtre d'aperçu du marché), mais cette liste n'existe pas.

Il n'y a aucun moyen d'obtenir explicitement un tick d'une paire à partir de la fenêtre d'aperçu du marché - vous devez envoyer des espions quelque part... (Je sais lesquels et comment, c'est facile, mais c'est absurde)

Ou bien il n'y a pas de possibilité triviale de trier les résultats d'optimisation... Tous ceux qui optimisent quelque chose ont un tel besoin en permanence... (oui, excel est bien, mais ce n'est pas un terminal et il n'est pas pratique de transférer les paramètres en arrière. Même la possibilité de copier un certain paramètre à partir des résultats d'optimisation a été supprimée).

De quoi s'agit-il ?

Pourquoi ai-je besoin de dessins animés dans le terminal... (ou du moins la possibilité potentielle de multiples) quand il n'y a pas d'échange évident !

Métacitations, ne le prenez pas mal, mais il y a quelque chose qui ne va pas avec le placement... est un fait. C'est ce que j'écris en me basant sur mon expérience de l'utilisation de mql5. Si mql4 m'a donné l'impression que des fonctions commerciales ont été ajoutées au C, dans mql 5, tant le langage que les fonctions commerciales se sont noyés dans le labyrinthe de la logique intra-terminale. Bientôt, ce sera comme programmer avec l'api sur Windows...

Mais, imho, vous devez vous rapprocher de la vie. Et la vie, ce sont les besoins du commerce. Par exemple, c'est une excellente occasion d'ouvrir une affaire dans le terminal en un seul clic ! C'est génial.

C'est-à-dire que vous regardez l'écran et obtenez les informations nécessaires. Cliquer avec la souris - ouvrir une position. Rien d'inutile !

Pourquoi ai-je besoin de savoir comment un ordre se transforme progressivement en une position ? Il ne s'agit pas d'une question de commerçant, mais d'un problème interne ! Vous ne donnez pas l'ordre aux vaisseaux de micro-compresser après chaque battement de cœur. Et on ne donne pas d'ordre aux intestins pour qu'ils travaillent. Dans mql, tous ces problèmes intra-terminaux sont laissés aux programmeurs. Et beaucoup d'efforts y sont consacrés. Et il n'y a pas de choses évidentes.

Et vous voulez un autre fait amusant ? Si vous effectuez correctement tous les traitements, dont certains ont déjà été décrits dans des articles, vous ne trouverez pas l'algorithme de trading dans un tel robot de trading... C'est sérieux ! C'est une sorte de déséquilibre. Jusqu'à présent, mql5 est un jouet créé par des programmeurs pour des programmeurs... Avec des capacités de programmation impressionnantes pour le plaisir de programmer.

Bon, ok, je pense que beaucoup de gens ont déjà raconté les méta-citations à ce sujet, donc il n'y a probablement aucun intérêt à écrire. Mais les impressions s'accumulent... J'ai dû les exprimer)). C'est bon pour le système nerveux)).

Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - Справка по MetaTrader 5
  • www.metatrader5.com
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии (советники) перед началом использования их в реальной торговле. При тестировании советника происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров...
 

OK, ce sujet était un peu incomplet.

J'ai donc dû faire en sorte que le testeur prenne une paire, en plus d'autres valeurs.

Et afin de ne pas écrire une construction sauvage à partir de l'écriture manuelle de chaque paire et mer de variables, je cherchais un moyen de le faire, soit par des moyens standards, soit de manière plus courte.

Et voici la variante finale - elle pourrait être utile à quelqu'un... Ce que j'ai écrit et qui fonctionne.

1- Dans la fenêtre d'aperçu du marché, activez tous les symboles et cliquez sur le bouton droit - enregistrer. Nous obtenons un fichier texte avec une liste. Dans mon cas, il n'y avait que du forex, donc si vous avez quelque chose d'autre là-dedans, ajoutez-en le traitement vous-même...

2- Les paires du fichier, les insérer dans l'enum. Dans la déclaration des variables du conseiller expert, écrivez :

enum Enum_Symbol {AUDJPY,AUDUSD,CHFJPY,EURAUD,EURCAD,EURCHF,EURGBP,EURJPY,EURRUR,EURUSD,GBPAUD,GBPCAD,GBPCHF,GBPJPY,GBPUSD,USDCAD,USDCHF,USDJPY,USDRUR};
input Enum_Symbol       SIMBOL_1          = AUDUSD;   // Выбор пары для ...
input Enum_Symbol       SIMBOL_2          = AUDJPY;   // Выбор пары для ...

...

C'est tout, le testeur pourra rechercher des caractères dans la liste.

Il est également pratique de sélectionner la paire dans la liste déroulante des paramètres. Veuillez noter que pour optimiser, vous devez installer la liste complète immédiatement dans le programme avant la première compilation, car les symboles ajoutés ultérieurement pourraient ne pas être visibles dans les paramètres d'optimisation finaux... C'est une telle "nuance". Si l'une des méta-citations lit ceci - vous pouvez corriger cette erreur... Les modérateurs vigilants le liront certainement...

Il y a aussi quelque chose à ajouter à OnInit :

int OnInit()
{
...
//--- подключаем символы для тестера 
for(int i=0;i<SymbolsTotal(false);i++)
   {
   string name = SymbolName(i,false);
   SymbolSelect(name,false);
   Print (" i = ", i,"     name = ", name);   
   }
...
}

Dans le programme lui-même, l'obtention du caractère sélectionné dans une variable de type chaîne de caractères ressemble à ceci :

string SymbolCur = SymbolName(DoubleToString(SIMBOL_1,0),false);


Naturellement, il y a des nuances, j'adapte la mise en œuvre à mes besoins...

A partir d'opérations manuelles, une seule fois (pour chaque courtier), enregistrer le fichier texte et y placer les virgules, avant de le copier dans l'enum.

Документация по MQL5: Основы языка / Переменные
Документация по MQL5: Основы языка / Переменные
  • www.mql5.com
Переменные должны быть объявлены перед их использованием. Для идентификации переменных используются уникальные имена. Описания переменных используются для их определения и объявления типов. Описание не является оператором. Индексом массива может быть только целое число. Допускаются не более чем четырехмерные массивы. Нумерация элементов...
 
Зачем мне знать, как там ордер превращается постепенно в позицию. Это не трейдерский вопрос, это внутритерминальный вопрос!
Ce n'est pas une question de trader, mais une question de logiciel. Si vous voulez être un pur trader, restez en dehors de la programmation et écrivez vos TOR pour les professionnels. La plupart des problèmes dont vous vous êtes plaint dans les messages ci-dessus ont une solution simple.
 
Aleksey Mavrin:

Parlez-moi de ça !

Si vous êtes un programmeur et que vous êtes venu ici pour gagner de l'argent en programmant - alors indiscutablement!

Mais si vous devez décrire une idée de la manière la plus simple, alors nous avons la dégradation ! Mais honnêtement, je ne veux pas en discuter. Vous en êtes vous-même bien conscient. Et vous écrivez - en défendant votre niche de programmation.

J'ai posé une candidature pour devenir freelance et j'écris moi-même... L'un n'empêche pas l'autre !

Oups)) Et que se passerait-il si j'annonçais les résultats du freelancing)))). Mais Shhhh de telles choses ne peuvent pas être dites à voix haute))))

Et les méta-citations - en général, bien faites, bien sûr. Vous voulez l'écrire vous-même. Si vous voulez, commandez-la ! Tout le monde est heureux, tant les programmeurs que les commerçants)). C'est comme ça que ça devrait être, ils donnent des opportunités à tout le monde avec leurs activités.

Merci beaucoup pour cette bonne histoire ! Ils en ont plus qu'assez pour compenser toutes les autres erreurs. Mais ce serait bien de les réparer aussi.

Je recommanderais même de ne pas encore améliorer quoi que ce soit, et d'utiliser le dopilit disponible.

Mais ils le savent mieux que moi))

 
Михаил:

Qu'y a-t-il à discuter si vous enregistrez les caractères dans un fichier et les copiez de là dans le code avant de le compiler.

Et c'est sur la base de ces actions que vous parlez des "lacunes" du terminal.

Rien de personnel, vous êtes juste très faible en tant que programmeur, je vous souhaite de grandir et de vous développer. Bonne chance !

 
Aleksey Mavrin:

Qu'y a-t-il à discuter si vous enregistrez les caractères dans un fichier et les copiez de là dans le code avant de le compiler.

Et c'est sur la base de ces actions que vous parlez des "lacunes" du terminal.

Rien de personnel, vous êtes juste très faible en tant que programmeur, je vous souhaite de grandir et de vous développer. Bien !

Vous avez mal compris ! Je ne suis pas un programmeur, ni par métier ni par formation !

Cela ne m'empêche pas d'écrire tout ce dont j'ai besoin pour les microcontrôleurs, ou pour android, ou sur mql4 mql5. J'ai même écrit en code 16 et en assembleur... Avez-vous écrit) en code ? En vrai, 16 codes de richesse ? Il ne s'agit pas d'un langage de haut niveau, il faut savoir comment le processeur est configuré et fonctionne...

Appeler une liste locale un code est une plaisanterie...

Je n'ai pas besoin d'astuces, d'un code simple et optimal. Mais dans mon code, la logique est généralement plus complexe que dans d'autres et elle est plus efficace. Bien que je ne puisse pas rivaliser avec les programmeurs professionnels, bien sûr ;)) Mais c'est leur gagne-pain, alors que pour moi, c'est juste un second hobby. Ce n'est même pas mon passe-temps principal. Je peux souder du métal fin avec un poste à souder sans le brûler, je peux écrire un programme avec beaucoup de choses... concevoir et assembler des appareils électroniques simples... Rien de tout cela n'est mon travail ! )) Je veux dire que je ne suis pas intéressé par le fait de m'adapter à des règles linguistiques sans signification, je suis intéressé par le résultat. Et si vous devez y aller en boucle, c'est dommage. C'était plus facile en µl4. Et je ne vois pas de raison objective de le rendre plus compliqué.

Quant au sujet de ce fil de discussion), proposez une meilleure solution.

Le but que j'ai décrit - pour qu'avant d'exécuter le programme, vous puissiez sélectionner dans la liste des paires de paramètres d'optimisation.

Et aussi, quele testeur puisse passer par les paires- c'est le principal !

Les options des spécialistes de kodobase ne sont pas proposées)) Ma solution est le summum de l'élégance par rapport aux solutions kodobase...

C'est facile de critiquer !

Vous avez dit que ma mise en œuvre est mauvaise ! Suggérez-en un meilleur. Je vous remercie !

Parce qu'un jour, je reviendrai sur la multidevise... peut-être.

Ou bien écrivez : "Je ne peux pas en trouver une meilleure - désolé !".

Et oui - je ne prends pas d'ordres pourécrire des programmes, je ne mange pas de programmeurs ;))
Как заказать торгового робота на MQL5 и MQL4
Как заказать торгового робота на MQL5 и MQL4
  • www.mql5.com
Главным преимуществом торговых терминалов MetaTrader является возможность создания автоматических торговых систем, способных совершать торговые операции без вмешательства трейдера, что позволяет исключить влияние психологии на результаты торговли. Для этого нужно сформулировать торговую стратегию и реализовать ее в виде программы на языке MQL...
 
Михаил:

Vous ne comprenez pas ! Je ne suis pas un programmeur, ni par métier ni par formation !

Cela ne m'empêche pas d'écrire tout ce dont j'ai besoin pour les microcontrôleurs ou pour android, ou en mql4 mql5. J'ai même écrit en code 16 et en assembleur... Avez-vous écrit) en code ? En vrai, 16 codes de richesse ? Ce n'est pas un langage de haut niveau, il faut savoir comment le processeur est configuré et fonctionne...

Appeler une liste locale un code est une plaisanterie...

Je n'ai pas besoin d'astuces, d'un code simple et optimal. Mais dans mon code, la logique est généralement plus complexe que dans d'autres et elle est plus efficace. Bien que je ne puisse pas rivaliser avec les programmeurs professionnels, bien sûr ;)) Mais c'est leur gagne-pain, alors que pour moi, c'est juste un second hobby. Ce n'est même pas mon passe-temps principal. Je peux souder du métal fin avec un poste à souder sans le brûler, je peux écrire un programme avec beaucoup de choses... concevoir et assembler des appareils électroniques simples... Rien de tout cela n'est mon travail ! )) Je veux dire que je ne suis pas intéressé par le fait de m'adapter à des règles linguistiques sans signification, je suis intéressé par le résultat. Et si vous devez y aller en boucle, c'est dommage. C'était plus facile en µl4. Et je ne vois pas de raison objective de le rendre plus compliqué.

Quant au sujet de ce fil de discussion), proposez une meilleure solution.

Le but que j'ai décrit - pour qu'avant d'exécuter le programme, vous puissiez sélectionner dans la liste des paires de paramètres d'optimisation.

Et aussi, pour que le testeur puisse passer par les paires- c'est le principal !

Ne pas proposer de variantes des spécialistes de kodobase)) Ma solution est le summum de l'élégance par rapport aux solutions kodobase...

C'est facile de critiquer !

Vous avez dit que ma mise en œuvre est mauvaise ! Suggérez-en un meilleur. Je vous remercie !

Parce qu'un jour, je reviendrai à la multidevise... peut-être.

Ou bien écrivez : "Je ne peux pas en trouver une meilleure - désolé !".

Et oui - je ne prends pas d'ordres pourécrire des programmes, je ne mange pas de programmeurs ;))

Au cas où vous vous poseriez la question, j'ai aussi tâté de l'assembleur pendant mes années d'études, mais je n'ai sérieusement écrit qu'en C, C++, avec SQL sur Postgre. Et c'était seulement pour ma thèse, mais le projet était plus ou moins sérieux, système de CAO, peu importe).

Je suis heureux que vous soyez une personne polyvalente) Vous savez que les bibles en C et autres langages sont beaucoup plus compliquées que MQL5, c'est beaucoup plus facile imho. Vous savez, à propos de votre niveau - dans vos posts, les problèmes ont été mentionnés, dont la solution est simple, mais vous avez grondé le terminal et MQL, c'est-à-dire qu'au lieu d'apprendre à faire et à développer, vous grondez le travail des autres, même s'il n'est pas sans défaut, mais un tel travail. Cette approche m'est étrangère et incompréhensible. Mais peut-être n'était-ce qu'une impression et que je me suis trompé.

En ce qui concerne le sujet - j'ai déjà oublié les nuances, et je suis trop paresseux pour lire et digérer. En bref - si vous voulez faire une recherche pour tous les caractères pendant l'optimisation - alors dans OnInit par numéro, le paramètre d'entrée est seulement le numéro d'un symbole, deux, trois, comme utilisé dans le conseil.

Si vous sélectionnez manuellement des symboles spécifiques à automatiser - alors votre solution est mauvaise, car lorsque vous changez de courtier avec d'autres symboles, vous devez modifier le code. Il est plus facile d'entrer manuellement deux symboles. Si vous êtes trop paresseux pour saisir les symboles, vous pouvez saisir leur numéro dans l'aperçu du marché.

 
Aleksey Mavrin:

Si vous êtes trop paresseux pour taper les caractères, numérotez-les dans la Revue des marchés.

Ils ne sont pas dans le testeur Market Review tant qu'ils ne sont pas directement interrogés par leur nom.


Michael:

Vous avez dit que ma mise en œuvre est mauvaise ! Suggérez-en un meilleur. Je vous en remercie !

Combinaison de toutes les devises connues dans l'enum + suffixe comme paramètre de chaîne de caractères ?

 
Aleksey Mavrin:

Pour ce qui est du sujet, j'ai déjà oublié les nuances et je suis trop paresseux pour lire et approfondir le sujet.

Bonne conversation)))) Et vous me jugez))

Votre façon... les chiffres sont très éloignés des couples. C'est gênant. Et c'est bien s'il n'y a que quelques paires, mais si vous avez besoin de toutes les paires ? ! Et d'ailleurs, êtes-vous sûr de ne pas en avoir besoin ?

Oui, vous pouvez trouver combien de paires il y a dans la fenêtre et écarter les valeurs supplémentaires fournies par le testeur... Mais il s'agit déjà de pistes jetées à la poubelle, c'est-à-dire d'options d'optimisation moins utiles.

De plus, pendant l'optimisation, vous ne savez pas sur quelle paire le processus est exécuté. Vous devez ouvrir une fenêtre et compter, compter et compter ! Tu ne vas pas t'enliser ?

Dans mon cas - juste un copier-coller, une fois pour le courtier et c'est tout...

Vous me critiquez ? !

Soit copier-coller une fois et travailler librement, confortablement et clairement à l'avenir, soit compter constamment les chiffres dans la fenêtre d'aperçu du marché... C'est une sorte de workaholisme, sur le plat )))).

Aleksey Mavrin
Aleksey Mavrin
  • www.mql5.com
Добавил тему Оптимизация. Граничные Условия Параметров Решаю задачку о автоматизации проверки стратегий, это типа как тут в соседней ветке описывалось, но по другому. Проблема :Разные стратегии имеют разный набор по кол-ву и типам оптимизируемых параметров. Решение:Нормировать все параметры к диапазону Добавил тему Вечерние размышления о...
 
Andrey Khatimlianskii:

Combinaison de toutes les devises connues dans l'enum + suffixe comme paramètre de chaîne de caractères ?

Oui, c'est aussi une option, plus illustrative que celle d'Alexey. Mais les jeux sont différents pour les courtiers. Probablement, il y aura des combinaisons inutilisées, ce qui réduira l'efficacité du testeur...

Oui, et les devises doivent toutes être trouvées et marquées, c'est plus difficile qu'une copie unique. Moi personnellement)) Je pensais à cette option.

Peut-être que quelqu'un d'autre connaît une autre option))))