[ARQUIVO] Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 3. - página 572
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
Tentou criar um EA baseado em uma moeda, a cabeça compra, os rabos vendem. Mas não funciona. Ao testar em uma janela há uma inscrição: Ao abrir o erro de pedido 131, no aplicativo procurou - não é o volume correto. Procurei cuidadosamente, não encontrei nenhum erro. Há um ponto em toda parte, para separar a parte inteira, não uma vírgula. Por favor, ajude. O código está no arquivo.
Tentou criar um EA, baseado em moeda, compra de águia, venda de rabos. Mas não funcionou. Ao testar, recebi a seguinte mensagem na janela: Erro 131 ao abrir a ordem, procurei na aplicação, o volume não está correto. Procurei cuidadosamente, não encontrei nenhum erro. Há um ponto em toda parte, para separar a parte inteira, não uma vírgula. Por favor, ajude. O código está no arquivo.
uso:
MinLot= MarketInfo( símbolo(),MODE_MINLOT )// Tamanho mínimo de lote possível
StepLot= MarketInfo( símbolo(),MODE_STEPLOT )// Etapa mínima de mudança de lote
O lote deve ser >= MinLot e normalizado usando Lot=NormalizeDouble(Lot,Dig);
onde Dígito = Número de_dígitos_após_ponto decimal StepLota, ou seja, StepLot=0,01 - Dígito=2 ... StepLot=0,1 - Dig=1 .....
Por exemplo, com MinLot=0,1 e StepLot=0,01:
O lote pode ser 0,1, 0,11,0,12 etc. Mas não pode ser 0,99, 0,98 e certamente não pode ser 0,998, 0,999, 0,111, 0,101.
uso:
MinLot= MarketInfo( símbolo(),MODE_MINLOT )// Tamanho mínimo de lote possível
StepLot= MarketInfo( símbolo(),MODE_STEPLOT )// Etapa mínima de mudança de lote
O lote deve ser >= MinLot e normalizado usando Lot=NormalizeDouble(Lot,Dig);
onde Dígito = Número de_dígitos_após_ponto decimal StepLota, ou seja, StepLot=0,01 - Dígito=2 ... StepLot=0,1 - Dig=1 .....
Por exemplo, com MinLot=0,1 e StepLot=0,01:
O lote pode ser 0,1, 0,11,0,12 etc. Mas não pode ser 0,99, 0,98 e certamente não pode ser 0,998,0,999, 0,111, 0,101.
Por exemplo, com MinLot=0,1 e StepLot=0,01:
O lote pode ser 0,1,0,11,0,12 etc. Mas não pode ser 0,99, 0,98.
De jeito nenhum... realmente?
88 ou 89 vezes aumentar o lote no passo mínimo. Por exemplo - o lote de cada posição subseqüente aberta deve ser aumentado na etapa mínima. Ou seja, acrescente sem rodeios o passo mínimo de mudança de lote ao lote da posição anterior. A 98ª posição a ser aberta terá o lote 0,98, respectivamente, o lote da 99ª posição será aumentado em um passo mínimo 0,98+0,01=0,99...
Você acha que a DT não vai deixar abrir com tanta coisa?
Por exemplo, com MinLot=0,1 e StepLot=0,01:
O lote pode ser 0,1, 0,11,0,12 etc. Mas não pode ser 0,99, 0,98
De jeito nenhum... realmente?
88 ou 89 vezes aumentar o lote no passo mínimo. Por exemplo - o lote de cada posição subseqüente aberta deve ser aumentado na etapa mínima. Ou seja, acrescente sem rodeios o passo mínimo de mudança de lote ao lote da posição anterior. A 98ª posição a ser aberta terá o lote 0,98, respectivamente, o lote da 99ª posição será aumentado em um passo mínimo 0,98+0,01=0,99...
Você acha que as corretoras não vão permitir a abertura com tal lote?
Maldição .... errado, é claro. não pode ser 0,09, 0,08.
E estúpido ou não estúpido - cabe ao escritor da EA decidir.
Não, claro que tenho que abrir com uma ordem de compra ou venda na abertura do próximo ou de um dos seguintes bares. E também planejo fechar por uma ordem, atribuindo-a pelo número de pontos a partir da abertura.
Mais tarde (no fim de semana) postarei aqui o código para abrir ordem de mercado - comprar ou vender (à sua escolha), na abertura de uma vela nova.
uso:
MinLot= MarketInfo( símbolo(),MODE_MINLOT )// Volume mínimo de lote possível
StepLot= MarketInfo( símbolo(),MODE_STEPLOT )// Etapa mínima de mudança de lote
O lote deve ser >= MinLot e normalizado usando Lot=NormalizeDouble(Lot,Dig);
onde Dígito = Número de_dígitos_após_ponto decimal StepLota, ou seja, StepLot=0,01 - Dígito=2 ... StepLot=0,1 - Dig=1 .....
Por exemplo, com MinLot=0,1 e StepLot=0,01:
O lote pode ser 0,1, 0,11,0,12 etc. Mas não pode ser 0,99, 0,98 e muito menos 0,998,0,999, 0,111,0,101
A propósito, eu não pretendo usar este Expert Advisor, estou apenas aprendendo a linguagem de programação. Na verdade, decidi, por diversão, ver como funcionará no testador, acabei de ler que o gerador de números aleatórios não dá tais números aleatórios, pois se repete a si mesmo. O problema não parece estar na grafia errada do número, mas sim no algoritmo, qual é o problema?
Ajuda com um problema.
A questão é esta: tenho uma coruja martin, abro os joelhos depois de um determinado número de pontos, mas com um novo majik. Acontece que o sinal abre uma ou três ordens com majic = 1, depois menos o próximo joelho em um sinal2 abre uma ou três ordens com um majic 2 e assim por diante.
Assim, cada joelho vai em 1-3 ordens com sua própria majestade.
Agora o ponto da questão é como calcular em um loop as ordens de cada majestoso, por exemplo, eu tentei fazer desta forma
Que tal isso?
Não a verifiquei, redigi-a no meu joelho.
Que tal isso?
Não verifiquei, apenas esbocei de joelhos...