Qualquer pergunta de novato, de modo a não desorganizar o fórum. Profissionais, não passem por aqui. Em nenhum lugar sem você - 6. - página 190

 
zfs:
Eu também preciso do CharToStr, mas ele não copia. Obrigado.

Não o faça. Devemos estar falando de coisas diferentes.
 

Por favor, informe como melhorar a função de fechamento de pedidos se o patrimônio líquido exceder o saldo em uma determinada porcentagem.

Por exemplo, se no momento o patrimônio líquido é igual a 115%, tenho que fechar alguns lotes (pode haver várias ordens com lotes diferentes) para fazer o patrimônio líquido igual a 110% do saldo.

 
Skydiver:

Por favor, informe como melhorar a função de fechamento de pedidos se o patrimônio líquido exceder o saldo em uma determinada porcentagem.

Por exemplo, se no momento o patrimônio líquido é igual a 115%, tenho que fechar alguns lotes (pode haver várias ordens com lotes diferentes) para fazer o patrimônio líquido igual a 110% do saldo.


Realizar várias funções com diferentes implementações de algoritmos. Compare os tempos de funcionamento. Entre aqueles que funcionarão corretamente, você escolhe aquele que funcionará pelo menor tempo - isto é "melhor". Portanto, nada complicado. ;)))))))
 

É possível definir níveis no indicador e personalizar os estilos usando as funções SetLevelValue e SetLevelStyle, mas não sei como chegar à descrição deles. Talvez alguém tenha encontrado e saiba?

 
Desead:

É possível definir níveis no indicador e personalizar os estilos usando as funções SetLevelValue e SetLevelStyle, mas não sei como chegar à descrição deles. Talvez alguém tenha encontrado e saiba?


Se estamos falando de documentação, destaque a palavra em MetEditor e pressione F1. Ou ir online, por exemplo
https://docs.mql4.com/ru/customind/SetLevelStyle
 

Boa tarde. você poderia informar se um pedido já está ou não no lugar certo?

Se não, então coloque

[Deleted]  

Boa tarde!

Você pode me dizer algo? Quando uma ordem de mercado é aberta, seu preço aberto pode ser alterado através de uma função:

bool OrderModify( int ticket, double price, double stoploss, double takeprofit, datetime expiration, color arrow_color=CLR_NONE) 

Pergunta - por que precisamos dela? Para que a função OrderProfit() dê resultados diferentes mais tarde em comparação com o preço inicial aberto? Ou esta possibilidade se destina a outra coisa?

(A propósito, a OrderProfit() calcula exatamente a partir do preço de abertura ou a informação é solicitada ao servidor onde é calculada de outra forma? A documentação não diz nada sobre isso).

 
sannin:

Boa tarde. você poderia informar se um pedido já está ou não no lugar certo?

Se não, então coloque

No lugar certo - em que lugar?
 
yan720:

Boa tarde!

Você pode me dizer algo? Quando uma ordem de mercado é aberta, seu preço aberto pode ser alterado através de uma função:

Pergunta - por que precisamos dela? Para que a função OrderProfit() dê resultados diferentes mais tarde em comparação com o preço inicial aberto? Ou esta possibilidade se destina a outra coisa?

(A propósito, a OrderProfit() calcula exatamente a partir do preço de abertura ou a informação é solicitada ao servidor onde é calculada de outra forma? A documentação não diz nada sobre isso).

Só podemos modificar o preço de um pedido pendente. O preço aberto da posição de mercado não pode ser alterado. Seria estranho comprar pão a 20 rublos, voltar para casa e mudar o preço de compra para 5 rublos, e depois na carteira para ver a chegada dos 15 rublos de diferença... Fantástico... ;)

Você pode modificar o preço de parada de uma posição de mercado: Stop Loss e Take Profit.

OrderProfit() devolve o lucro/perda da posição na moeda de depósito. Naturalmente, é calculado a partir do preço de abertura.

[Deleted]  
artmedia70:

Somente o preço do pedido pendente pode ser modificado. O preço de abertura de uma posição de mercado não pode mais ser modificado. Seria estranho comprar pão a 20, voltar para casa e mudar o preço de compra para 5 rublos, e depois ver na carteira a chegada de 15 rublos de diferença... Fantástico... ;)

Você pode modificar o preço de parada de uma posição de mercado: Stop Loss e Take Profit.


Obrigado pela resposta. Eu mesmo fiquei surpreso que tal pergunta tenha surgido. Embora, talvez eu tenha entendido mal o que eu vi e o que causou a pergunta.

Estou analisando o código de outras pessoas agora para ver de que forma (diferente do meu e talvez mais eficiente) certos algoritmos são implementados. Neste momento estou olhando para o notório Ilan 1.6 Expert Advisor (em anexo). Posso ver que foi montado a partir de várias peças e depois reconstruído. Mas a linha 337 contém uma função de parada de trilha definida pelo usuário (embora a bandeira de seu uso seja retirada à força no início). Esta função é chamada na linha 52.

Minha pergunta surge porque a parada móvel mencionada acima modifica as ordens abertas (e pode haver várias delas) por uma parada perdida mantendo seu TakeProfit inicial, mas definindo o mesmo valor (AveragePrice, que é calculado nas linhas 173 e 178) para essas ordens como um preço aberto (segundo parâmetro da função OrderModify).

Ou este parâmetro (preço aberto) é simplesmente ignorado pelo servidor ao modificar uma ordem aberta e o preço pode ser definido para qualquer valor?

Arquivos anexados:
ilan1.6.mq4  20 kb