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

 
Alexey Viktorov:

Com o que você está digitando tantas linhas de código? Aqui está um dos meus últimos EAs, trabalhando com um conjunto de títulos em FORTS

Como muitos títulos serão listados nesta lista, tantos serão negociados. E esta EA com controle de dois cronogramas comerciais, com trailing e, claro, com análise, apenas 326 linhas.

Se você quiser usar o interruptor, não é necessário adicionar abertura de posição em cada variante. É suficiente especificar o nome do símbolo, o tipo de operação comercial e o

Mas seria melhor, em minha opinião, embrulhar tudo em uma função definida pelo usuário.

Obrigado. Mas não é que seja intolerante, é apenas que foi a minha primeira versão de escrita e, em minha opinião, mais versátil. Você poderia acrescentar todos os tipos de métodos de análise e não escrever em cada abertura de ordem, só porque não seria necessário e concentrar-se na análise e em novas funções, em vez de escrever a mesma coisa. Eu não sei como você o enfiou em mais de 300 linhas, não sou tão avançado nesta linguagem. No final, escrevi tudo em cada função e saí com 1050 linhas sem levar em conta todo o resto, como cálculo de lote, trailing, etc. O Expert Advisor só pode abrir negócios em 7 pares simultaneamente considerando as condições de abertura, e isso é tudo, em princípio. Depois quero escrever uma nova função e tenho que prescrever a abertura de pedidos repetidamente, em vez de escrevê-la uma vez e utilizá-la. O trailing stop funciona o tempo todo e modifica todas as ordens abertas, mas é escrito uma vez, então porque não escrever uma vez para abrir ordens e usá-lo para qualquer tipo de análise. Ainda não está claro para mim.
 
Denis Diakonov:
Obrigado. Mas não é tão intolerante, é apenas que esta foi minha primeira variante de escrita e, em minha opinião, é mais universal. Poderíamos acrescentar todos os tipos de métodos de análise e não escrever uma abertura de ordem em cada um deles, só porque não seria necessário e nos concentraríamos na análise e em novas funções em vez de escrever a mesma coisa. Eu não sei como você o enfiou em mais de 300 linhas, não sou tão avançado nesta linguagem. No final, escrevi tudo em cada função e saí com 1050 linhas sem levar em conta todo o resto, como cálculo de lote, trailing, etc. O Expert Advisor só pode abrir negócios em 7 pares simultaneamente considerando as condições de abertura, e isso é tudo, em princípio. Depois quero escrever uma nova função e tenho que prescrever a abertura de pedidos repetidamente, em vez de escrevê-la uma vez e utilizá-la. O trailing stop funciona o tempo todo e modifica todas as ordens abertas, mas é escrito uma vez, então porque não escrever uma vez para abrir ordens e usá-lo para qualquer tipo de análise. Ainda não está claro para mim.

Se você tiver mais de um símbolo em operação, a opção mais eficaz é trabalhar com uma função personalizada. Para cada símbolo, em minha variante, a função analisa a abertura da matriz e se a função de análise retornar verdadeiro, ela chama a função para abrir uma ordem. Uma função analisa a situação para todos os símbolos um por um e abre as ordens para o símbolo com um sinal. Não importa quantos símbolos estejam na matriz. Recebemos um sinal, abrimos um pedido, retornamos ao conjunto de símbolos, verificamos o próximo. E assim por diante...

 
Alexey Viktorov:

Se você tiver mais de um símbolo em operação, a opção mais eficaz é trabalhar com uma função personalizada. Para cada símbolo, em minha variante, a função analisa a abertura da matriz e se a função de análise retornar verdadeiro, ela chama a função para abrir uma ordem. Uma função analisa a situação para todos os símbolos um por um e abre as ordens para o símbolo com um sinal. Não importa quantos símbolos estejam na matriz. Recebemos um sinal, abrimos um pedido, retornamos ao conjunto de símbolos, verificamos o próximo. E assim por diante...

Esta é uma boa opção.
Desta forma, será ainda mais conveniente e o código será mais compacto, além disso, será prevista a possibilidade de chamar a função de abertura de ordem para qualquer tipo de análise de mercado adicionada. O objetivo era encontrar uma maneira de não escrever constantemente o mesmo código e, portanto, sua proposta é digna de atenção! Obrigado!
 
Denis Diakonov:
Essa é boa.
Desta forma, será ainda mais conveniente e o código será mais compacto, além da possibilidade de chamar a função de abertura de ordem será aberta para qualquer tipo de análise de mercado adicional. O objetivo era encontrar uma maneira de evitar escrever constantemente o mesmo código, e portanto sua proposta é digna de atenção! Obrigado!

Alexey está lhe dizendo coisas padrão...

 
Artyom Trishkin:

Alexei está lhe dizendo o que é padrão...

O padrão é quando há um código separado para cada dia. )))))

 
 
Artyom Trishkin:

Alexei está lhe dizendo o que é padrão...

Bem, estou na minha terceira semana com este idioma\\i1.

Desde 2008, mas agora estou apenas tentando escrever algo.

 

Olá @Artyom Trishkin ,

Estou tendo problemas para resolver a lógica. Por favor, ajude-me com isso... Aqui está um link para o meu tópico: https://www.mql5.com/ru/forum/350570

Espero ouvir de você mais tarde.

 

Calcular o preço mediano em um determinado intervalo com um determinado número de aproximações.

Olá. Há uma série de valores.

A tarefa é escrever uma função.

Parâmetros de entrada:

- a matriz contém números de elementos necessários para calcular a mediana - bufInBar[]

- tamanho da matriz -bufInBar[] - contar

- número de aproximações da mediana - fokus

void medianaL0(const int &bufInBar[], int count, int fokus)

Ou seja, há uma classe

bufInBar[i] - используется для загрузки нужного элемента при расчете медианы 

BP[bufInBar[i]].CenaPerioda; - по этому значению рассчитывается медиана
BP[bufInBar[i]].Period; 

Na saída :

BP[bufInBar[i]].Mediana; 

Preenchido em ordem ascendente, por exemplo, de 0 a 10.

Isto é, sefokus=10 na condição, então no intervalo i<contar os dez valores

BP[bufInBar[i]].Mediana;

será de 1 a 10.

Por exemplo

BP[3256].Mediana=0;
BP[6256].Mediana=1;
BP[9256].Mediana=2;
...

Pronto para transferir $12 da conta

 
Mikhail Toptunov:

Calcular o preço mediano em um determinado intervalo com um determinado número de aproximações.


Pronto para transferir da conta $12

você sabe que para algo como istohttps://www.mql5.com/ru/job

e aqui - se você mesmo começou a fazer isso, mas não deu certo ou não está claro

Торговые приложения для MetaTrader 5 на заказ
Торговые приложения для MetaTrader 5 на заказ
  • www.mql5.com
Доработать существующий советник, чтобы он осуществлял выходы из сделок по виртуальному тейк-профиту на основе слежения за мультитаймфрейменным боллинжер бендз. Советник должен следовать за линиями боллинжера и выходить по указанному алгоритму Здравствуйте, нужно создать Программу для сравнения данных и отображения их. Данные надо будет брать с...
Razão: