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

 
silhouette:

Escrevi uma função que deve determinar se a posição existe com base na tag e no comentário inseridos. Caso contrário, deve devolver a permissão para abri-la.

Quando uso um sinal comercial no Expert Advisor, tudo funciona bem: ele só abre uma posição quando não há outra com as mesmas condições. Mas quando o Expert Advisor trabalha com vários tipos de sinais que eu rotulo com um comentário diferente, ele abre várias posições. Qual é o problema?

Seu "básico" para loop não funciona. De qualquer forma, dirá ou verdadeiro ou falso na primeira ordem e não irá procurar mais
 
OrderSend(Symbol(), OP_BUYSTOP, Lot, PriceBuy, StopLoss, TakeProfit, "Order", 0, Green);

Quando um pedido desse tipo é feito, é gerado o erro 130. SellStop também abre de forma semelhante, mas não há erros nele.

 
ilunga:
Seu "básico" para loop não funciona. De qualquer forma, dirá ou verdadeiro ou falso na primeira ordem e não irá procurar mais

Obrigado! Eu entendo a lógica. Mas como pode ser consertado?
 
gain:
OrderSend(Symbol(), OP_BUYSTOP, Lot, PriceBuy, StopLoss, TakeProfit, "Order", 0, Green);

Quando um pedido desse tipo é feito, é gerado o erro 130. SellStop também abre de forma semelhante, mas não há erros nele.


E como o preço especificado na ordem e o preço atual de mercado se correlacionam quando ocorre um erro?
 
MikeM:

Como o preço na ordem se relaciona com o preço atual de mercado quando ocorre um erro?
Não há nada de errado com o preço, ele está muito longe
 
gain:
Não há nada de errado com o preço, ele está muito longe


Especifique os valores exatos e o tipo de pedido!!!
 

BuyStop é uma ordem pendente de compra de ativos em um instrumento financeiro a um preço superior ao preço atual. A ordem será executada (convertida em uma ordem de compra de mercado) se o preço Ask alcançar ou estiver acima do preço indicado na ordem. E quanto à execução da condição vermelha?

 
MikeM:

BuyStop é uma ordem pendente de compra de ativos em um instrumento financeiro a um preço superior ao preço atual. A ordem será executada (convertida em uma ordem de compra de mercado) se o preço Ask alcançar ou estiver acima do preço indicado na ordem. E quanto à execução da condição vermelha?



Tipo BUYSTOP. Mesmo se entrarmos manualmente 1,3300 por EUR/Dólar e fizermos o teste hoje, o pedido não será aberto.
 
WindSW:

Como escrevê-lo corretamente, para que o valor do dobro seja escrito somente uma vez e somente no valor zero. Eu tentei if(recRes==0) recRes=NormalizeDouble(Res,5); mas não funciona, o valor é sobregravado assim que o Res muda. Qual é a maneira correta de implementá-la?


E o que você recebe?
Qual é o tipo derecRes?
E quais são os valores
daRes?

 
gain:


Tipo BUYSTOP. Mesmo que eu prescreva manualmente 1,3300 por Euro/Dólar e faça um teste para hoje, o pedido não será aberto.

Qual é a mensagem quando se faz isso?