Bibliotecas: MT4Orders - página 39

 

No exemplo dessa biblioteca e de algumas outras, encontrei uma peculiaridade de armazenamento.


Se uma biblioteca com caminhos padrão for anexada ao código-fonte de algum trabalho, ela substituirá a que já está instalada.

E pode acontecer que a versão antiga substitua a nova de forma imperceptível. Dessa forma, os produtos recém-compilados podem parar de funcionar.


Como exemplo de tal situação, veja o ZIP no final do último artigo. Ainda não pensei em uma maneira de garantir que as bíblias não sejam sobrescritas no caso geral.

Eu mesmo tento não anexar bibliotecas usadas na KB para evitar que isso aconteça. Isso tem seus prós e contras.

 
fxsaber:

No exemplo dessa biblioteca e de algumas outras, encontrei um recurso de armazenamento.


Se uma biblioteca com caminhos padrão for anexada ao código-fonte de algum trabalho, ela substituirá a biblioteca que já está instalada.

E pode acontecer que a versão antiga substitua a nova de forma imperceptível. Consequentemente, os produtos recém-compilados podem parar de funcionar.


Como exemplo de tal situação, veja o ZIP no final do último artigo. Ainda não descobri como fazer com que as bíblias não sejam sobrescritas no caso geral.

Eu mesmo tento não anexar bibliotecas usadas em KBs para que isso não aconteça. Isso tem seus prós e contras.

Uma solução política poderia ser fornecer todas as dependências em um diretório dedicado de cada programa. É claro que, em primeiro lugar, nem todos os fornecedores vão aderir a isso. E, em segundo lugar, um zoológico de versões diferentes crescerá.

A solução técnica é um gerenciador de pacotes (que não existe na MQL).

Em princípio, um gerenciador de arquivos deve avisar sobre a substituição de um arquivo existente, e o usuário pode sair ou atualizar a versão à vontade.

 
Stanislav Korotky:

Em princípio, um gerenciador de arquivos deve avisar quando um arquivo existente é substituído, e o usuário pode sair ou atualizar a versão como achar melhor.

Quando há muitos arquivos, essa não é uma opção.

 

Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação

MT4 para MT5

fxsaber, 2019.05.26 17:25

#define  MT4_TICKET_TYPE // Obrigar o OrderSend e o OrderTicket a retornar um valor do mesmo tipo que no MT4 - int.
#include <KimIVToMT5.mqh> // https://c.mql5.com/3/263/KimIVToMT5.mqh

#define  Magic Magic2

#include "Open Two Pending Orders.mq4" // https://www.mql5.com/en/code/19057

void OnTick() { start(); }
 
Que tipo de situações você não encontra

Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação

Qualquer dúvida de novato sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos

fxsaber, 2019.06.08 22:03

As situações que surgem trazem muitas lógicas para a massa fermentada. Afinal de contas, você envia uma ordem de mercado, ela chega ao servidor, cria uma posição e a fecha no mesmo milissegundo. E o Terminal recebe informações retroativamente por causa do ping.

Fiquei agradavelmente surpreso com o fato de que tudo funciona perfeitamente.

 
fxsaber: Você pode descrever suas ações em mais detalhes no exemplo com esse indicador?

#property indicator_chart_window 
#property indicator_buffers 6
#property indicator_plots 6
#property indicator_color1 White 
#property indicator_color2 White 
#property indicator_color3 DodgerBlue
#property indicator_color4 DodgerBlue
#property indicator_color5 Lime
#property indicator_color6 Red
 
#property indicator_width1 5
#property indicator_width2 5
#property indicator_width3 3
#property indicator_width4 3
#property indicator_width5 1
#property indicator_width6 1

#include <KimIVToMT5.mqh> // https://c.mql5.com/3/263/KimIVToMT5.mqh

// https://www.mql5.com/en/blogs/post/681230
#define  MT4_OLD_EVENT_HANDLERS
#include "ind4to5.mqh" // https://c.mql5.com/3/277/ind4to5.mqh

#define  digits digits2
#undef MODE_LOW
#undef MODE_HIGH

#include "Chaos_Semafor_-_3_Mod.mq4" // https://c.mql5.com/3/277/Chaos_Semafor_-_3_Mod__1.mq4

Não entendo como usar esse código para executar o indicador no MT5. As bibliotecas KimIVToMT5 e ind4to5 foram colocadas na pasta include .

Ao compilar o código, o editor gerou os seguintes erros: não é possível abrir o arquivo de inclusão "C:\Users\...\MQL5\Indicators\ind4to5.mqh" Test.mq5 22 11

Não é possível abrir o arquivo de inclusão "C:\Users\...\MQL5\Indicators\Chaos_Semafor_-_3_Mod.mq4" Test.mq5 28 11

Copiei os dois arquivos para a pasta com indicadores, o primeiro erro desapareceu, mas o segundo permaneceu.

Naveguei no tópico e nos tópicos relacionados a noite toda, abri cerca de uma dúzia de guias.... mas não consigo nem mesmo descobrir como usar o exemplo pronto.




 
Stickman:

Não consigo descobrir como usar um exemplo pronto.

Portanto, o arquivo a ser incluído deve estar na pasta Include.

#include < file>


E entre aspas - na pasta onde está localizado o código a ser editado

#include " file"


Há três arquivos de inclusão em seu exemplo.

 
Alguém sabe como traduzir esses tópicos e páginas para o inglês?
Eu clico em inglês na parte superior da janela, mas ele me leva à lista de grupos de notícias.