Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 1690

 
Nikolay Ivanov #:

Uma ligeira correção... Não haverá um erro crítico, apenas a Ordem booleanaSelect retornará falsa... e isso é tudo... Mas é claro que é melhor evitar... Porque se você não usar as características do código corretamente, é difícil prever as possíveis armadilhas...

Sim, é claro. Mas somente quando se utilizam conjuntos de terminais regulares, que não são visíveis para ninguém e são acessados por funções regulares, que têm proteção de excesso e retornam bandeiras de erro. Afinal, eu estava me referindo ao trabalho com minhas matrizes:

Mas assim que alguém percebe que deve armazenar dados de matrizes regulares e começa a trabalhar com suas próprias matrizes, é aí que precisa se acostumar a manusear as matrizes cuidadosamente.

E tudo o que as pessoas têm feito ultimamente, usando seus próprios caches de dados (históricos e de mercado) é muito mais fácil e rápido - lá você pode ordenar como quiser e selecionar o que quiser, e obter novas matrizes com apenas os dados necessários, e ordená-los como quiser e selecionar o que quiser deles.

Mas este é o próximo nível de utilização das possibilidades do terminal e seu API - MQL.

 
Nerd Trader #:

A primeira ordem é dada magia = 1 por padrão. Então um loop é iniciado:

Início da mágica de iteração = 1 único = 0, no final (quando já existe uma ordem com mágica = 1 ) mágica ainda é 1 e único = 0
Segunda mágica de iteração = 2 único = 0, no final, mágica = 2 e único = 1 (não há correspondência) e o retorno é atribuído à mágica de segunda ordem = 2.
A terceira deve ser a mesma...

Eu queria imprimir todo o processo, mas algo deu errado:

https://www.mql5.com/ru/articles/5687
Continue lendo quando quiser. E é tolice numerar apenas os Magik. Ela tem que ser criptografada. Você pode colar o número, o tipo, o bilhete, até mesmo o tempo de criação do pedido nele
 
Valeriy Yastremskiy #:

Leia-o a seu gosto. E é uma estupidez numerar apenas Magik. Ela tem que ser criptografada. Você pode colocar o número, tipo, bilhete, até mesmo o tempo em que o pedido foi criado nele
Vamos lê-lo. Não sei porque um mágico deve ser criptografado, a numeração em série é suficiente para mim. A opção de atribuir o maior número mágico + 1 está bem, mas eu preciso descobrir porque meu código não funciona.
 
Ivan Butko #:
Você pode me dizer um truque (manobra) para que o terminal se lembre de vários valores?

Por exemplo, uma tarefa:

Dadas as velas N de trás para frente. Encontre castiçais com tamanho >= X pips, memorize seu número e tamanho de cada um deles. Se a vela atual após o fechamento foi >= X pips, então compare seu tamanho com o número total de velas calculadas e exiba o resultado - qual é seu tamanho entre todas as velas encontradas.
MakarFX #:

O terminal lembra de tudo de qualquer maneira... o arquivo de citações!

E para um consultor especializado ou indicador, você precisa disto

Makar, obrigado por sua resposta. Infelizmente, não dominei esta página até agora. Como resolver este problema através das matrizes, eu não entendo.

 
Ivan Butko #:

Makar, obrigado por sua resposta. Infelizmente, eu ainda não dominei a página acima. Não entendo como resolver este problema com arrays.

Ainda não sou bom com arrays...

Talvez um dos especialistas possa lhe ajudar.

 
Maxim Kuznetsov a sintaxe da linguagem e os fundamentos básicos dos algoritmos.

De outra forma, obtemos disparates no tópico, ao invés de consultas sobre a plataforma e algoritmos, diálogos de nível de escolas primárias - onde colocar; o que é um loop e por que os índices são 0.

Por exemplo, há um site intuit.ru - há cursos sobre C e algoritmos, leve seu tempo, algumas semanas no máximo. Ao mesmo tempo, você pode receber um papel :-)

A melhor motivação para estudar algo, quando há necessidade. Eu costumava tentar aprender C, C++ dos livros didáticos, mas não sei de onde deve vir a motivação para fazer as tarefas, por exemplo: converter graus Celsius para Fahrenheit, etc. Mas quando há uma necessidade real, como eu tenho, de escrever um EA, é um assunto diferente. Aprendi mais em uma semana, conforme a necessidade: aulas, estruturas, etc. Ao mesmo tempo, eu também tive que aprender e aplicar o git. Agora estou procurando dominar algum editor kosher como vim ou emacs.

P.S.
Tenho um curso de vídeo no mql4, mas nem sequer tenho energia para vê-lo, porque não escreve as corujas certas para mim. Sim, o curso ideal é aquele em que eles escrevem sua EA.
 
Nerd Trader #:

Tenho um curso de vídeo no mql4, mas não tenho forças suficientes para vê-lo, porque não é escrito por essas corujas, que eu preciso. Sim, o curso ideal é aquele em que eles escrevem sua EA.

Que assustador... O que são "aquelas" corujas? Não Chernobyl? Tanto quanto eu sei, as corujas não sabem escrever. Não só isso, eles não fazem a menor idéia sobre o assunto.

 
Artyom Trishkin #:

Que assustador... O que são "aquelas" corujas? Não Chernobyl? Tanto quanto eu sei, as corujas não sabem escrever. Não só isso, eles não fazem a menor idéia sobre o assunto.

Uh-huh, uh-huh. A coruja escreve.
 
Nerd Trader #:
Vamos lê-lo. Não sei porque o mágico precisa ser criptografado, a numeração em série é suficiente para mim. A opção de designar o maior mágico + 1 está bem, mas eu preciso descobrir porque meu código não funciona.
Bobagem, porque as ordens são numeradas de qualquer forma. Eles têm números ordinais e bilhetes. E você escreve os números ordinais mais 1 em Magik. E você faz isto mesmo sem um prefixo distinto para distinguir as ordens que você precisa.

 

Boa noite, ajude-me a reescrever uma seção de código na MQL4 para o compilador MQL5, se não for difícil, obrigado!

   FLU=iCustom(NULL,0,"FractalsLine",0,0);
   FLL=iCustom(NULL,0,"FractalsLine",1,0);
   MA_1_t=iMA(NULL,0,Period_MA_1,0,MODE_EMA,PRICE_TYPICAL,0);
   MA_2_t=iMA(NULL,0,Period_MA_2,0,MODE_EMA,PRICE_TYPICAL,0);
   MA_3_t=iMA(NULL,0,Period_MA_3,0,MODE_EMA,PRICE_TYPICAL,0);
   MA_4_t=iMA(NULL,0,Period_MA_4,0,MODE_EMA,PRICE_TYPICAL,0);
   Sig_c=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,0);
   Sig_p=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_SIGNAL,1);
   Macd_c=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0);
   Macd_p=iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,1);
   RCI_t = iRSI(NULL,0,14,0,0) - 50;
   Atr=iATR(0,0,14,0);
   WPR=iWPR(NULL,PERIOD_H1,14,0);
   Vol=iVolume(NULL,0,0);
   Stoh_m=iStochastic(NULL,0,21,9,9,MODE_SMA,0,MODE_MAIN,0);
   Stoh_s=iStochastic(NULL,0,21,9,9,MODE_SMA,0,MODE_SIGNAL,0);