[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 224

 
ArgentumZ:
Já li, sei das distâncias de congelamento, etc., mas não entendo como uma perda de parada zero se relaciona com todas essas restrições! Se você vir um erro - me diga. Li os manuais cuidadosamente antes de escrever aqui. Eu não o faria se não tivesse que fazê-lo.
Algumas empresas de corretagem permitem que você defina SL e TP quando você faz um pedido, outras não. Você tem que tentar manualmente. O mesmo se aplica ao Freeze e à distância mínima para parar (TP também é uma parada).
 
snail09:
Alguns DC permitem que SL e TP sejam definidos ao fazer um pedido, outros não. Experimente com suas mãos. O mesmo se aplica ao Freeze e à distância mínima para parar (TP também é uma parada).
A questão é que não preciso colocar paradas no momento - quero colocar zero TakeProfit e StopLoss. O que é interessante, BuyStop está definido, SellStop & SellLimit não estão definidos e eu recebo o erro acima.
 
Resolveu o problema com zero paradas. Entretanto, eu não entendi como: o que comentei, copiei, coloquei explícito 0 em vez de variáveis, etc. De qualquer forma, em algum momento tudo funcionou)))) Obrigado a todos que responderam e deixaram comentários.
 
ArgentumZ:
Resolveu o problema com zero paradas. Entretanto, eu não entendi como: o que comentei, copiei, coloquei explícito 0 em vez de variáveis, etc. De qualquer forma, em algum momento tudo funcionou)))) Obrigado a todos que responderam e deixaram comentários.
Pergunte à função MarketInfo antes de suas negociações, eu acho que ela ajudará. Faça um priming e observe os códigos de erro, há descrições deles no ...
 
ArgentumZ:
Eu as li, sei das distâncias de congelamento e assim por diante, mas não entendo como uma perda de parada zero se relaciona com todas essas limitações! Se você vir um erro - me diga. Li os manuais cuidadosamente antes de escrever aqui. Eu não os escreveria se não tivesse que fazê-lo.

Eu vi o erro no fato de que seu BUY_STOP e SELL_STOP estão definidos com o mesmo preço. Se você definiu TP e SL como zero, mas o erro 130 permanece, não deve ser sobre eles!

Somente BUY_STOP e SELL_LIMIT, ou inversamente (dependendo do caso específico) BUY_LIMIT e SELL_STOP podem ser definidos pelo mesmo preço. Mas não COMPRAR_STOP e VENDER_STOP! :)))

Mas você não leu os manuais muito bem...

 
Zzumer:

Ou seja, o testador contém um histórico incompleto quando começa?

Agora, a propósito, o especialista está trabalhando corretamente.

É uma vergonha, mas é assim que as coisas são. Se você precisar de mais barras para testar o EA, você tem que entrar nos arquivos de cotação (preguiçoso e longo...) ou pular algum tempo do teste (fácil e simples).
 

Uma função caseira remove, em caso de quebra de nível, os objetos horizontais TREDLINE. Funciona corretamente, mas é muito caro.

Com um grande número de objetos (mais de 5000), ele suspende completamente a MT. Dois dias de carga de CPU sem nenhum resultado.

Quais opções são mais otimizadas para substituir a condição?

 if( PrLevel<High[iHighest(NULL,0,MODE_HIGH,shift,1)]) {ObjectDelete(nm);return(0);} }
Arquivos anexados:
 
Operr:

Uma função caseira remove, em caso de quebra de nível, os objetos horizontais TREDLINE. Funciona corretamente, mas é muito caro.

Com um grande número de objetos (mais de 5000), suspende completamente a MT. Dois dias de carga de CPU sem resultados.

Como a condição pode ser substituída de forma mais otimizada?

Calcule iHighest() logo no início do código (na inicialização), salve o índice de barras em uma variável. Ao abrir uma nova barra, aumente esta variável e verifique se a barra anterior não é a nova "Mais Alta". Também não se esqueça de verificar se a variável > número de barras pesquisadas, então a função iHighest() deve ser iniciada novamente. Este algoritmo funcionará muito mais rápido, mas ainda está longe de ser o ideal! :))

 
MaxZ:

Eu vi o erro no fato de que seu BUY_STOP e SELL_STOP estão definidos com o mesmo preço. Se você definiu TP e SL como zero, mas o erro 130 permanece, não deve ser sobre eles!

Somente BUY_STOP e SELL_LIMIT, ou inversamente (dependendo do caso específico) BUY_LIMIT e SELL_STOP podem ser definidos pelo mesmo preço. Mas não COMPRAR_STOP e VENDER_STOP! :)))

Você não leu os manuais muito bem...

Eu tenho! Agora eu olhei o que eu postei no fórum. Mas "ler os manuais" não tem nada a ver com isso - eu apenas copiei a lista de parâmetros e depois corrigi os parâmetros certos. E eu esqueci de corrigir o preço em Sell Stop. É comprarPreço em ambos os pedidos e venderPreço em Vender. Se você me tivesse dito imediatamente, teria sido muito útil, mas demorei muito tempo para encontrar um erro por negligência.
 
ArgentumZ:
Eu quero! Agora eu olhei o que eu postei no fórum. Mas "ler manuais" não tem nada a ver com isso - eu apenas copiei a lista de parâmetros e depois corrigi os corretos. E eu esqueci de corrigir o preço em Sell Stop. É comprarPreço em ambos os pedidos e venderPreço em Vender. Se você tivesse me dito imediatamente, teria sido muito útil, mas levei muito tempo para encontrar um erro devido à minha desatenção.

Lamento não ser um telepata... Se eu soubesse que era um descuido, eu o teria apontado imediatamente. Pensei que você não entendia a teoria.

No entanto, sua desatenção foi longa... :D