Préparation du scalping - page 17

 
Igor Makanu:

Il y a une question ici, les classes simplifient le temps de développement des logiciels - disons, si vous écrivez un logiciel sur un flux (comme sur une ligne d'assemblage - essentiellement l'assemblage de logiciels)

mais hélas, les miracles ne se produisent pas - pour utiliser les cours, il faut du temps pour les étudier

mais en ce qui concerne les classes standard de la livraison de MT, elles peuvent être utilisées - il y a une aide, les classes sont écrites dans un bon style de programmation et sont assez faciles à lire.

Ils ne sont pas tous vraiment utilisables. Il est parfois plus facile d'écrire sa propre classe, ou du moins de copier la classe standard et d'y apporter les modifications nécessaires.

 
SEM:

Y aura-t-il une version pour MT5 ?

Un petit billet pour MT5 (fonctionne dans le testeur).

Ouvre la transaction suivante, si toutes les transactions précédentes par symbole et direction sont en plus.

Il fonctionne bien pour commencer... Je dois le terminer, parce que Lehi n'a pas le temps... comment lier les niveaux - peut-être que ce script fera l'affairehttps://www.mql5.com/ru/code/20189.

ProfLine
ProfLine
  • www.mql5.com
Скрипт рассчитывает и выводит на график уровни безубытка отдельно для открытых позиций BUY и SELL. После изменений количества позиций требуется повторный запуск скрипта.
 
Petros Shatakhtsyan:

Je ne parle pas des classes MQL standard, elles rendent le code beaucoup plus simple. Et vous n'avez pas besoin de connaître la POO pour les utiliser.

Si vous utilisez déjà les classes MQL standard, vous n'êtes qu'à un pas de la POO.

Si cela a du sens d'écrire une classe, faisons-le, sinon, ne l'écrivez pas.

Dans le même graphique, sans classes vous ne pouvez pas, j'ai rattrapé mon apprentissage dès TurboPascal et a été à l'époque une bibliothèque graphique pour travailler avec des panneaux de texte, et la question n'était pas sur OOP - fenêtres de code et des menus était si compliqué que j'ai renoncé à faire quelque chose à partir de cette bibliothèque, et après tout de cette bibliothèque de toute façon il s'est avéré NortonCommander

))))

Et un autre exemple, MQL vous permet de créer des symboles synthétiques, vous pouvez remplir tous les champs d'un nouvel outil une fois à partir du code. - Vous devrez créer un tableau de structures ou autre.

Ou vous pouvez chercher dans les forums et trouver une solution toute prête sous la forme d'uneclasse SYMBOLE

https://www.mql5.com/ru/code/18855

Ou nous héritons et réécrivons les méthodes que nous trouvons meilleures.

Hélas, nous vivons à une époque où la quantité d'informations l'emporte sur la capacité d'une personne à les étudier, de sorte que l'on doit rechercher et utiliser des solutions toutes faites.

Symbol
Symbol
  • www.mql5.com
Библиотека содержит некоторый функционал, позволяющий разобраться на начальном этапе, как идет работа с кастомными символами, и предлагает некоторые готовые решения, могущие быть полезными. Пример При запуске бэктеста на кроссах тестер тянет за собой не только основной символ, но и вспомогательный, который позволяет конвертировать валюту...
 
Igor Makanu:

Vous avez un scénario optimiste, je suis pessimiste et vois le déroulement suivant : après la dissection, nous obtenons une multiplication par 20 du kukish ! ))))

Mais voici le point :

C'est clair, disons que ces questions ne se posent que pour ceux qui ont lu la POO pour la première fois, si nous parlons maintenant des principes de base de la POO, alors je suis intéressé par les questions suivantes

- comment hériter de plus d'une classe parente

- comment hériter de CObject les principes des listes liées, par exemple, je veux apprendre comment "croiser" CLabel avec CObject, le résultat sera CLabel .Prev , CLabel .Next et des méthodes similaires

Vous ne pouvez pas faire cela dans MQL, pas même sous la forme d'interfaces.

Il n'y a pas de principes d'héritage, il n'y a pas de fonctions factices, vous devez tout faire vous-même. La classe se compose de plusieurs chaînes

class CObject
  {
private:
   CObject          *m_prev;               // previous item of list
   CObject          *m_next;               // next item of list

public:
                     CObject(void): m_prev(NULL),m_next(NULL)            {                 }
                    ~CObject(void)                                       {                 }
   //--- methods to access protected data
   CObject          *Prev(void)                                    const { return(m_prev); }
   void              Prev(CObject *node)                                 { m_prev=node;    }
   CObject          *Next(void)                                    const { return(m_next); }
   void              Next(CObject *node)                                 { m_next=node;    }
   //--- methods for working with files
   virtual bool      Save(const int file_handle)                         { return(true);   }
   virtual bool      Load(const int file_handle)                         { return(true);   }
   //--- method of identifying the object
   virtual int       Type(void)                                    const { return(0);      }
   //--- method of comparing the objects
   virtual int       Compare(const CObject *node,const int mode=0) const { return(0);      }
  };
 
Igor Makanu:

Il y a une question ici, les classes simplifient le temps de développement des logiciels - disons, si vous écrivez un logiciel sur un flux (comme sur une ligne d'assemblage - essentiellement l'assemblage de logiciels)

mais hélas, les miracles ne se produisent pas - pour utiliser les cours, il faut du temps pour les étudier

mais en ce qui concerne les classes standard de la boîte à outils MT, elles sont utilisables - il y a de l'aide et les classes sont écrites dans un bon style de programmation et sont assez faciles à lire.

Et beaucoup sont écrits de manière très efficace, par exemple CHashMap brise tous les analogues qui ont été publiés ici dans les articles et kodobase. Et j'utilise les tables de hachage de manière très intensive.

 
Сергей Криушин:

Ça marche bien pour un début... Nous devons le terminer, Lekha n'a pas le temps... comment lier les niveaux - peut-être que ce script fonctionnerahttps://www.mql5.com/ru/code/20189

Hélas, Lekha a besoin de gagner de la nourriture)). Je le ferai, mais pas instantanément.

 
Igor Makanu:

Dans le même graphisme, on ne peut pas se passer des classes, j'étudiais TurboPascal et il y avait une bibliothèque graphique pour travailler avec des panneaux de texte, et on ne parlait pas de la POO - le code des fenêtres et des menus était si compliqué que j'étais réticent à faire quelque chose à partir d'une telle bibliothèque, et de toute façon cette bibliothèque est devenue NortonCommander

Je me souviens que certains rudiments de la POO sont apparus dans TP 7.

 
Alexey Volchanskiy:

Hélas, Lekha doit aussi mériter son repas.) Le fera, mais pas instantanément

Mettez votre compte d'argent web dans le profil... et nous le remplirons... bon débarras... pour vos efforts et votre inspiration... Vous ne travaillez pas pour votre propre compte, pour le bien commun et la compréhension de la vérité ...

 
Сергей Криушин:

Mettez un compte d'argent sur le web dans votre profil.... et nous vous donnerons une aumône.... pour votre travail acharné et votre inspiration... Tu ne fais pas ça juste pour toi, pour le bien commun et pour comprendre la vérité...

En tant qu'homme profondément cynique, je ne crois pas aux miracles. )))) Mais, comme une expérience sociale, j'ai écrit des sacs à main. Peut-être qu'un miracle se produira et qu'une pièce de monnaie rebondira dans le VM, et mon cœur fondra, et je l'utiliserai pour nourrir des chatons errants ;)) Ou ramasser et faire voler un canard à l'aile cassée dans un lac voisin. Mais je promets de ne pas le boire, de ne pas le gaspiller avec des femmes et de ne pas le perdre aux cartes !https://www.mql5.com/ru/users/vdev


Alexey Volchanskiy
Alexey Volchanskiy
  • www.mql5.com
Опубликовал пост ScalpHunter2 v1.38_EN.ex4 Немного измененная версия, из-за чемпионата не получилось много поработать, внизу смотрите ScalpHunter2 v1.38_EN.zip, работает до 2018.07.31, настройки те же... Добавил тему Шифрование программ? Тут коллега спрашивает, ломаются ли программы из Маркета и обычные, зашифрованные на Сервере MQ? Кто не в...
 
J'ai mis à jour le projet dans le référentiel, j'ai essentiellement ajouté la classe CM1PivotLevels. Le projet est stocké dans la chambre forte à "MQL5\Shared Projects\PrepareScalping". Il ne fonctionne pas encore, je vais le terminer bientôt.