[ARQUIVO]Qualquer pergunta de novato, para não desorganizar o fórum. Profissionais, não passem por ela. Não posso ir a lugar nenhum sem você - 5. - página 254
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Pessoal, antes no editor, quando você pairava sobre uma palavra reservada e pressionava f1 uma janela se abriria na parte inferior com uma descrição da função, agora eu não tenho isto. Qual poderia ser o problema?
Quem pode me dizer como fazer o resultado sempre positivo ? (Comprar lotes - Vender lotes)= -0,25, mas deve ser sempre positivo ?
Eu o faço: if (profitbuy+profitsell > SymbProf_magBUY_magSELLL* MathAbs((OrdensTotalMagicBuyLots(MagicBuy)-OrdersTotalMagicSellLots(MagicSell))/Lots)())
o que está entre parênteses?
if (profitbuy+profitsell > SymbProf_magBUY_magSELLL* MathAbs((OrdensTotalMagicBuyLots(MagicBuy)-OrdersTotalMagicSellLots(MagicSell))/Lots)(??????))
Onde ???? o quê?
Abro uma posição com um volume = 0,05. Precisa de um código - como reduzir o volume da posição em 0,01 quando uma perda atinge 100 pips por 5 dígitos ????
Obrigado.
Quantos EAs eu escrevi, todos eles verificam as condições do mercado (stoplevel, spread, etc.) ao negociar com ordens. Eu olhei como os gridders são escritos, mas não vi nenhum deles verificar o valor do mesmo stop levelling antes de enviar qualquer pedido. Qual é a razão?
Há muitos metaris no fórum sobre o testador e por que seus resultados diferem da vida real. Veja na seção Artigos, este tópico já foi abordado mais de uma vez.
Obrigado.
Encontrei uma alternativa.
Isso significa que na DLL a cadeia é passada exatamente como char*, mas não como MqlStr. Mas issonão significa que no programa ex4 a cadeia não é armazenada como MqlString. Em geral, a transferência de parâmetros do ex4 para dll (de acordo com os desenvolvedores) é um processo bastante complexo, acompanhado de todos os tipos de verificações e transformações de parâmetros.
Você já leu a Referência MQL4? A corda MQL4 é a mesma que a corda c com terminal nulo.
A estrutura foi projetada apenas para arranjar conjuntos de cordas. Pura invenção das Metaquotas para facilitar a criação de matrizes de cordas.
StrStrA da biblioteca shlwapi.dll. Teste:
Diário de bordo:
O mecanismo é o seguinte. Shlwapi.dll in /system32. StrStrA é um análogo WinAPI doStringSubstr. MQL4 é uma linguagem sem digitação, então se definirmos uma int na saída, ao invés de uma string, obtemos um ponteiro para ela, não uma string. StrStrA procura a primeira ocorrência de um substrato na corda (sensível a maiúsculas e minúsculas, mas como nossas cordas são as mesmas, não nos importamos), e como nossas cordas são as mesmas, ele devolve um ponteiro ao primeiro caracter da corda, ou seja, à própria corda.
Deixe-me explicar para aqueles que estarão usando este código. Não existe um formato de corda no WinAPI. Em vez disso, existe apenas o formato lpsz (um ponteiro para o primeiro elemento de um conjunto de caracteres terminando com 0x00, também conhecido como /0). É um ponteiro para um endereço de memória. Como nossas células de memória são de 32 bits (ou seja, 4 bytes) e a int também tem 4 bytes de tamanho, tudo se encaixa perfeitamente ali.
Conclusão: você pode facilmente embalar as cordas em arrays int, emulando assim estruturas (e não há estruturas e classes na MQL4) para passá-las adiante para a dll, se uma estrutura ou classe for necessária. A dll autoescrita para tradução do tipo de dados (isto é, construções como "int(const char*)" (tradução tipo C) ou similares em C++) não pode ser usada agora.