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

 
Sergey Likho:

Novo, apagar não são usados. Os elementos de classe são declarados no início e eu não os recriava.

A maior parte do trabalho é feita com arrays.


O que sãoscripts de caso de teste ?

Você faz uma classe e provavelmente (mesmo antes) escreve um monte de scripts (ou um ou dois scripts e muitas funções de teste) que verificam se ele faz exatamente o que é suposto fazer e é assim que funciona e que é usabilidade.
Ao mesmo tempo, verifica a estabilidade, bugs e vazamentos de memória.

Você não precisa depurar uma classe em um enorme complexo com muitos outros como ele.

----

Se você trabalha muito com arrays, periodicamente produza os tamanhos das matrizes para o diário externo e veja qual inchar para um tamanho inimaginável enquanto trabalha.

A propósito, chamadas recursivas podem causar fora da memória se houver matrizes no interior. Verificar se não há recorrência ou se ela é devidamente limitada.

 
Você pode me dizer o que estudar para aprender a trocar dados entre gráficos em mt4, e entre terminais (não via internet) ?
 
Yevhenii Levchenko:
Por favor, o que eu preciso aprender para trocar dados entre gráficos no MT4, bem como entre terminais (não via internet)?
Se entre gráficos, então EventChartCustom, variáveis globais do terminal, arquivo, winapi.
Se entre os terminais, então arquive e winapi
 
Yevhenii Levchenko:
Por favor, o que devo estudar para aprender a trocar dados entre gráficos em mt4, bem como entre terminais (não via internet)?

Um arquivo pode ser usadoentre terminais da mesma máquina através da pasta "Comum".

Se não estou enganado, o endereço é: C:UUSADORES<....>>AppDataRoaming=MetaQuotes_Terminal

 
Vladimir Simakov:
Se entre gráficos, EventChartCustom, variáveis globais terminais, arquivo, winapi.
Se entre terminais, limar e winapi
Vitaly Muzichenko:

Entre terminais na mesma máquina, você pode usar um arquivo na pasta "Comum".

Se não estou enganado, o endereço é: C:UUSADORES<....>>AppDataRoaming=MetaQuotes_Terminal

Acontece que não é tudo tão complicado (quero dizer, só winapi é complicado)! Obrigado! :)

 
Alexey Viktorov:
Linha 61, qual é a linha?
Não posso dizer agora, está na VPN, não posso acessá-la ainda
 
Ivan Butko:
Não posso dizer agora mesmo, está em um VPS, não posso acessá-lo ainda

A fonte está em um VPS? Você não o tem em seu computador? Pronto, não estou mais interessado.

 
Alexey Viktorov:

A fonte está em um VPS? Você não o tem em seu computador? OK, não estou mais interessado.

Certo.
Sim, acabo de sair do computador.

 
Em geral, a situação é a seguinte. Existem vários "lotes" Lotes1, Lotes2, Lotes3, e assim por diante. A cada parada, o lote muda. Não posso multiplicar o lote usando Martingale, eles são todos diferentes. Eu tentei adaptar as funções padrão FindLastLot() e outras. O resultado foi muito incômodo e funcionou de maneira anormal. Ou seja, para cada lote eu prescrevi OrderSend e um monte de funções que impediram a abertura paralela de outras ordens. Então decidi tentar usar o loop while e anexar a caixa do interruptor a ele, mas lembrei que ele só funciona com inteiros. Pensei que poderíamos usar o loop, mas as ordens estão fechadas, portanto, elas têm de ser procuradas em posições fechadas. Mas como? Preciso escrever mais um loop, ou seja, para e enquanto nele estiver? Eu tenho apenas perguntas... Procurei por respostas no fórum e também na Internet. Tudo é banal. Tudo foi apenas Martingale multiplicado por dois. Eu só tenho esperança para você, MQL Masters. Você pode me dizer a direção a seguir?
 
Corvin85:
Em geral, a situação é a seguinte. Existem vários "lotes" Lotes1, Lotes2, Lotes3, e assim por diante. A cada parada, o lote muda. Não posso multiplicar o lote usando Martingale, eles são todos diferentes. Eu tentei adaptar as funções padrão FindLastLot() e outras. O resultado foi muito incômodo e funcionou de maneira anormal. Ou seja, para cada lote eu prescrevi OrderSend e um monte de funções que impediram a abertura paralela de outras ordens. Então decidi tentar usar o loop while e anexar a ele uma caixa de interruptores, mas lembrei que ele só funciona com números inteiros. Pensei que poderíamos usar o loop, mas as ordens estão fechadas, portanto, elas têm que ser procuradas em posições fechadas. Mas como? Preciso escrever mais um loop, ou seja, para e enquanto nele estiver? Eu tenho apenas perguntas... Procurei por respostas no fórum e também na Internet. Tudo é banal. Tudo o mesmo Martingale multiplicado por dois. Eu só tenho esperança para você, MQL Masters. Você pode me aconselhar em que direção seguir?
Tenho a sensação, que o texto original vem do universo paralelo, foi traduzido duas vezes pelo google-translate e depois recontado por Alice :-)
Razão: