Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 884
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
Boa tarde, senhores. )) desculpas pelo amadorismo...
Eu não entendo como funciona o OrderClose :(
Preciso de no máximo 1 pedido, ou seja, antes de abrir um novo, quero que o anterior seja fechado...
Por que não funciona dessa maneira?
OrderClose(nom, 0,01, Bid,5, Vermelho);
OrderSend(Symbol(), OP_SELL, 0.01 , NormalizeDouble(Bid,5), 3 , NormalizeDouble(Ask+0.0005,5), NormalizeDouble(Bid-0.0008,5), "", nom,0,Red);
o registro está basicamente jurando sobre um bilhete inválido .
em OrderClose ao invés de nom, o que devo colocar? ou estou pensando na direção errada?)
Tente minStopLoss = Preço atual +/- (MaxValue(2*Spread, StopLoss));
Eu o estudei, mas nada de novo, aparentemente é (novo para mim), claro, óbvio para todos os iniciados, auto-explicativo. Não consegui encontrar nada de novo, exceto a característica acima descrita de arranjo mútuo de amortecedores durante a indexação. Esta seqüência foi respeitada, ficou com uma imagem ainda mais alegre.
Fotos abaixo, arquivo anexo
Talvez você tenha muito azar, mas eu não gosto de mexer no código de outras pessoas. Ainda mais quando se trata de consertá-lo...
A próxima pergunta: com que freqüência você acha que o valor do indicador será exatamente 50?
ColorHistogram_2Buffer1[i]=50;
Como entendi o problema, deveria ser uma cor >50 e outra <50, mas ainda não vi ===50. É claro, para eliminar perdas no caso ===50, devemos acrescentar a uma das comparações >=50 ou a outra <=50, como a religião permite. Pode parecer melhor.
E a segunda pergunta: quantas vezes você acha que foi necessário mudar toda a indexação dos amortecedores? Depois de reindexar, você consertou tudo no código exatamente? Talvez fosse mais fácil fazer o índice de tampão de cor 4, e os tampões auxiliares 5 e 6 de acordo. Haveria menos necessidade de editar e menos chance de cometer mais alguns erros.
Eu tentei. Dois spreads são 24, não funcionarão dessa forma, começa a trabalhar a 19 a partir do preço de fechamento. A partir do preço aberto atual, ele funciona com três spreads.
Verificado. Obras
Tudo isso é estranho, diz o mesmo minStopLoss = Preço atual +/- (valor máximo (2*Spread, StopLoss)), só que no Preço atual entendemos não o preço aberto do pedido, mas o preço espelho.
Por que a dupla propagação é adequada?
Surgem mais duas questões.
1. Por que o SymbolInfoInteger é usado para obter Dígitos() e Ponto(); valores ?
2. Por que uma entrada (int) é utilizada antes de chamar a função SymbolInfoInteger ? Segundo entendi, esta é uma conversão do tipo forçada.
Verifiquei-o. Funciona
Tudo isto é estranho, eles ainda escrevem o mesmo minStopLoss = Preço atual +/- (MaxValue(2*Spread, StopLeval)) mas o Preço atual não é o preço de abertura do pedido, mas o preço espelho.
Por que a dupla propagação é adequada?
Surgem mais duas questões.
1. Por que o SymbolInfoInteger é usado para obter Dígitos() e Ponto(); valores ?
2. Por que uma entrada (int) é utilizada antes de chamar a função SymbolInfoInteger ? Segundo entendi, esta é uma conversão do tipo forçada.
Para obter o Point() SymbolInfoInteger não funcionará de forma alguma)).
Em geral, é necessário lembrar que o Ponto() ou _Ponto é somente para o símbolo atual. Para outros caracteres além daquele em que a EA trabalha, você deve usar esta mesma função.
A função SymbolInfoInteger retorna não apenas valores int, mas também valores longos, bool e enumerações.
Sergey Voytsekhovsky, obrigado por sua ajuda. E mais uma pergunta, se você não se importa, sugira a função inversa à funçãoCharToStr
(para obter seu código a partir de um símbolo), porque eu tenho funções para ele em Beisic e Delphi, mas em C++, até onde eu sei, há dois métodos:
1 - FunçãoAscii_cod, que não está em mql4
2. - Conversão direta do tipo. Mas meu código é
string st="A";
Imprimir ("Character code A=",(int)st);
Texto de saída Código de caracteres A=0.
O que fazer?
Sergey Voytsekhovsky, obrigado por sua ajuda. E mais uma pergunta, se você não se importa, poderia sugerir a função inversa da funçãoCharToStr
(para obter seu código a partir de um símbolo), já que eu usei Beisic e Delphi, eles têm funções para ele, enquanto em C++, como eu o entendo, têm dois métodos:
1 - FunçãoAscii_cod, que não está em mql4
2. - Conversão direta do tipo. Mas meu código é
string st="A";
Imprimir ("Character code A=",(int)st);
Texto de saída Código de caracteres A=0.
O que fazer?
StringToCharArray, ao contrário da função wiki, não converte apenas um caractere de cada vez, mas pode converter uma string para um conjunto de tipos de ucar com códigos de todos os caracteres da string.
O mql4 também tem essa função.
Para obter o Point() SymbolInfoInteger não funcionará de forma alguma)).
Em geral, é necessário lembrar que o Ponto() ou _Ponto é somente para o símbolo atual. Para outros caracteres além daquele em que a EA trabalha, você deve usar esta função.
A função SymbolInfoInteger retorna não apenas valores int, mas também valores longos, bool e enumerações.
Na verdade, a Point tem o dobro do valor. Isso significa que devemos chamá-lo de SymbolInfoDouble
Bem, na verdade, Point tem um valor duplo. Isso significa que o pedido deve ser feito por SymbolInfoDouble
Trata-se destas funções para a MQL4 a partir do posto nº 65:
Eu não vi onde o Ponto é obtido via SymbolInfoInteger()
Trata-se das funções da MQL4 do posto #65:
Eu não vi onde o Ponto é obtido via SymbolInfoInteger()
Sim, o mesmo. Escorregamos por ela. O principal é que ele entende o que é o que...