Preparar el scalping - página 17

 
Igor Makanu:

Bien, hay una pregunta aquí, las clases simplifican el tiempo de desarrollo del software - digamos, si usted escribe el software en un flujo (como en una línea de montaje - esencialmente ensamblando el software)

pero, por desgracia, los milagros no ocurren: para utilizar las clases se necesita tiempo para estudiarlas

pero en términos de las clases estándar de la entrega de MT, se pueden utilizar - hay una ayuda, las clases están escritas en un buen estilo de programación, y bastante fácil de leer

No todos son realmente utilizables. Hay veces que es más fácil escribir tu propia clase, o al menos copiar la estándar y hacer los cambios necesarios.

 
SEM:

¿Habrá una versión para MT5?

Un pequeño tocho para MT5 (funciona en el probador).

Abre la siguiente operación, si todas las anteriores por símbolo y dirección están en plus.

Para empezar, funciona bien... Tengo que terminarlo, porque Lehi no tiene tiempo... como atar niveles - tal vez este script haráhttps://www.mql5.com/ru/code/20189

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

No me refiero a las clases estándar de MQL, ya que simplifican mucho el código. Y no es necesario saber POO para utilizarlos.

Bueno, si ya está utilizando las clases estándar de MQL, sólo está a un paso de la POO

Si tiene sentido escribir una clase, hagámoslo, si no, no la escribas.

En los mismos gráficos, sin clases no se puede, me puse al día con mi aprendizaje tan pronto como TurboPascal y fue en ese momento una biblioteca gráfica para trabajar con paneles de texto, y la pregunta no era acerca de OOP - ventanas de código y los menús era tan complicado que renunció a hacer algo de esta biblioteca, y después de todo de esa biblioteca de todos modos resultó NortonCommander

))))

Y otro ejemplo, MQL le permite crear un símbolo sintético, puede llenar todos los campos de una nueva herramienta una vez desde el código. - Tendrás que crear una matriz de estructuras o algo parecido.

O puede buscar en los foros y encontrar una solución lista en forma declase SYMBOL

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

O heredamos y reescribimos los métodos que encontramos mejor

Por desgracia, vivimos en una época en la que la cantidad de información prevalece sobre la capacidad de una persona para estudiarla, por lo que hay que buscar y utilizar soluciones ya hechas.

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

¡Usted tiene un escenario optimista, yo soy pesimista y veo el siguiente curso de los acontecimientos: después de la disección obtenemos un aumento de 20 veces el kukish! ))))

Pero esta es la cuestión:

Eso está claro, digamos que estas preguntas surgen sólo para aquellos que han leído la POO por primera vez, si ahora estamos hablando de los principios básicos de la POO, entonces me interesan las siguientes preguntas

- cómo heredar más de una clase padre

- cómo heredar de CObject los principios de las listas enlazadas, por ejemplo, quiero aprender a "cruzar" CLabel con CObject, el resultado será CLabel .Prev , CLabel .Next y métodos similares

Esto no se puede hacer en MQL, ni siquiera en forma de interfaces.

Allí no hay principios de herencia, hay funciones ficticias, sólo tienes que hacerlo todo tú. La clase se compone de varias cadenas

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:

Bien, hay una pregunta aquí, las clases simplifican el tiempo de desarrollo del software - digamos, si usted escribe el software en un flujo (como en una línea de montaje - esencialmente ensamblando el software)

pero, por desgracia, los milagros no ocurren: para utilizar las clases se necesita tiempo para estudiarlas

pero en cuanto a las clases estándar del kit de herramientas MT, son utilizables - hay ayuda y las clases están escritas en un buen estilo de programación, y bastante fácil de leer

Y muchos están escritos de forma muy eficiente, por ejemplo CHashMap rompe todos los análogos que fueron publicados aquí en artículos y kodobase. Y yo uso mucho las tablas hash.

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

Funciona muy bien para empezar... Tenemos que terminarlo, Lekha no tiene tiempo... como enlazar niveles - tal vez este script funcionehttps://www.mql5.com/ru/code/20189

Por desgracia, Lekha necesita ganar algo de comida )). Lo hará, pero no al instante.

 
Igor Makanu:

En los mismos gráficos, no se puede prescindir de las clases, estaba estudiando TurboPascal y había una librería gráfica para trabajar con paneles de texto, y no se hablaba de POO - el código de las ventanas y los menús era tan complicado que era reacio a hacer algo a partir de dicha librería, y de todas formas esa librería se convirtió en NortonCommander

Recuerdo que algunos rudimentos de OOP aparecieron en TP 7

 
Alexey Volchanskiy:

Por desgracia, Lekha también tiene que ganarse sus bocadillos )) Lo hará, pero no al instante

Pon tu cuenta de dinero de la web en el perfil...y la llenaremos...buen rollo...por tu esfuerzo e inspiración... No trabajas por tu propio bien para el bien común y la comprensión de la verdad ...

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

Pon una cuenta de dinero en la web en tu perfil.... y te daremos una limosna.... por tu esfuerzo e inspiración... No lo haces sólo por ti, por el bien común y por entender la verdad...

Como hombre profundamente cínico, no creo en los milagros )))) Pero, como experimento social, escribí bolsos. Tal vez ocurra un milagro y una moneda rebote en la MV, y mi corazón se derrita, y lo utilice para alimentar a gatitos callejeros )) O recoger y volar un pato con un ala rota de un lago cercano. ¡Pero prometo no beberlo, ni malgastarlo en mujeres, ni perderlo en las cartas!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? Кто не в...
 
He actualizado el proyecto en el repositorio, básicamente he añadido la clase CM1PivotLevels. El proyecto está almacenado en el Vault en "MQL5\Shared Projects\PrepareScalping". Todavía no está funcionando, lo terminaré pronto.