Preparando o escalpamento - página 17

 
Igor Makanu:

Bem, há uma pergunta aqui, as aulas simplificam o tempo de desenvolvimento de software - digamos, se você escreve software em um fluxo (como em uma linha de montagem - essencialmente montando software)

mas, infelizmente, os milagres não acontecem - para usar as aulas que você precisa de tempo para estudá-las

mas em termos das classes padrão da entrega de MT, elas podem ser usadas - há uma ajuda, as classes são escritas em um bom estilo de programação, e bastante fáceis de ler

Nem todos eles são realmente utilizáveis. Há momentos em que é mais fácil escrever sua própria classe, ou pelo menos copiar a classe padrão e fazer as mudanças necessárias.

 
SEM:

Haverá uma versão para o MT5?

Um pequeno boleto para MT5 (funciona no testador).

Abre o próximo comércio, se todos os anteriores por símbolo e direção estiverem em mais.

Funciona bem, para começar... Tenho que terminá-lo, porque Lehi não tem tempo... como amarrar níveis - talvez este roteiro façahttps://www.mql5.com/ru/code/20189

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

Não estou falando das classes MQL padrão, elas tornam o código muito mais simples. E você não precisa conhecer o OOP para usá-los de forma alguma.

Bem, se você já está usando as classes MQL padrão, você está a apenas um passo de distância do OOP

Se faz sentido escrever uma aula, vamos fazê-lo, se não - não o escreva.

Nos mesmos gráficos, sem aulas você não pode, eu peguei meu aprendizado já no TurboPascal e era na época uma biblioteca gráfica para trabalhar com painéis de texto, e a questão não era sobre OOP - janelas de código e menus era tão complicada que eu desisti de fazer algo desta biblioteca, e afinal de contas daquela biblioteca de qualquer maneira acabou sendo NortonCommander

))))

E outro exemplo, MQL permite criar um símbolo sintético, você pode preencher todos os campos de uma nova ferramenta uma vez a partir do código. - Você terá que criar um conjunto de estruturas ou similares.

Ou você pode pesquisar nos fóruns e encontrar uma solução pronta na forma de SYMBOL declasse

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

Ou herdamos e reescrevemos os métodos que achamos melhores

Infelizmente, vivemos em uma época em que a quantidade de informação prevalece sobre a capacidade de uma pessoa de estudá-la, portanto é preciso buscar e utilizar soluções prontas.

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

Você tem um cenário otimista, eu sou pessimista e vejo o seguinte curso dos acontecimentos: após a dissecação, temos um aumento de 20 vezes no kukish! ))))

Mas a questão é a seguinte:

Isso é claro, digamos que estas questões surgem apenas para aqueles que leram o OOP pela primeira vez, se estamos agora falando dos princípios básicos do OOP, as questões são interessantes:

- como herdar mais de uma classe mãe

- como herdar do CObject os princípios das listas vinculadas, por exemplo, quero aprender como "cruzar" o CLabel com o CObject, o resultado será CLabel .Prev , CLabel .Next e métodos similares

Você não pode fazer isso em MQL, nem mesmo sob a forma de interfaces.

Lá não há princípios de herança, há funções fictícias, você só tem que fazer tudo sozinho. A classe consiste em várias cordas

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:

Bem, há uma pergunta aqui, as aulas simplificam o tempo de desenvolvimento de software - digamos, se você escreve software em um fluxo (como em uma linha de montagem - essencialmente montando software)

mas, infelizmente, os milagres não acontecem - para usar as aulas que você precisa de tempo para estudá-las

mas em termos das classes padrão do kit de ferramentas MT, elas são utilizáveis - há ajuda e as classes são escritas em um bom estilo de programação, e bastante fáceis de ler

E muitos são escritos com muita eficiência, por exemplo CHashMap quebra todos os análogos que foram publicados aqui em artigos e kodobase. E eu uso tabelas de hash muito extensivamente.

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

Funciona muito bem para começar... Precisamos terminá-lo, Lekha não tem tempo... como ligar os níveis - talvez este roteiro funcionehttps://www.mql5.com/ru/code/20189

Infelizmente, a Lekha precisa ganhar algum alimento)). Será feito, mas não instantaneamente.

 
Igor Makanu:

Na mesma gráfica, você não pode passar sem aulas, eu peguei o TurboPascal durante meus estudos e naquela época havia uma biblioteca gráfica para trabalhar com painéis de texto, e não se falava em OOP - o código de janelas e menus era tão complicado que eu estava relutante em fazer algo a partir de tal biblioteca, e como você quiser, aquela biblioteca virou NortonCommander de qualquer forma

Lembro que alguns rudimentos do OOP apareceram no TP 7

 
Alexey Volchanskiy:

Infelizmente, Lekha também tem que merecer suas munchies )) Será feito, mas não instantaneamente

Coloque sua conta de web money no perfil...e nós a preencheremos...boa viagem...pelo seu esforço e inspiração... Você não trabalha para o bem comum e para a compreensão da verdade ...

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

Coloque uma conta de web money em seu perfil.... e lhe daremos uma esmola.... para seu trabalho duro e inspiração... Você não está fazendo isso só para o bem comum e para entender a verdade...

Como um homem profundamente cínico, não acredito em milagres )))) Mas, como uma experiência social, eu escrevi bolsas. Talvez um milagre aconteça e uma moeda salte no VM, e meu coração derreta, e eu o usarei para alimentar gatinhos vadios )) Ou pegar e voar um pato com uma asa quebrada de um lago próximo. Mas prometo não bebê-lo, desperdiçá-lo em bichanos ou perdê-lo em cartões!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? Кто не в...
 
Atualizei o projeto no repositório, basicamente acrescentei a classe CM1PivotLevels. O projeto é armazenado no Cofre no "MQL5\Projetos Compartilhados\PrepareScalping". Ainda não está funcionando, vou terminá-lo em breve.