Quaisquer perguntas de recém-chegados sobre MQL4 e MQL5, ajuda e discussão sobre algoritmos e códigos - página 890

 
Alexey Viktorov:

ctrl+tab e ctrl+shift+tab não vão salvar o pai da democracia russa?

ele muda aleatoriamente, mas eu o quero em ordem

é mais conveniente, mais rápido e permite esconder o painel gráfico

 
Artyom Trishkin:

Obrigado.

 
Трейдер Внатуре:

ele muda aleatoriamente, mas eu o quero em ordem

é mais conveniente, mais rápido e irá esconder o painel de gráficos

Ele deve mudar na ordem em que os gráficos foram abertos. Mas se você então embaralhá-los ao acaso, arrastando-os com o mouse, então e ...

 

Cavalheiros, por favor, ajudem com o algoritmo. É verão, minha cabeça não está funcionando em absoluto. A tarefa é calcular o volume total a ser aberto com a condição de aumentar o volume comercial.

Você está dado:

b - lote base (volume da primeira encomenda).

m - multiplicador ou coeficiente de aumento de volume. Por exemplo, o volume da segunda encomenda = b*m. Volume da terceira encomenda = b*m*m.

t é a quantidade total de pedidos a serem abertos.


Assim, por exemplo, o volume de cada pedido subseqüente é calculado pela fórmula

v=b*(m^(i-1)), onde i é o número ordinal desta ordem, ou seja, se esta for a segunda ordem da série, v=b*m, se a terceira for b*m^2.

Portanto, agora a tarefa é derivar uma fórmula para o volume total de todos os pedidos a serem abertos (t).

 
leonerd:

v=b*(m^(i-1)), onde i é o número de ordem desta ordem, ou seja, se for a segunda ordem da série então v=b*m, se for a terceira - b*m^2.

Portanto, a tarefa agora é derivar uma fórmula para o volume total de todos os pedidos a serem abertos (t).

Se a fórmula estiver correta, você está tudo definido, no loop v +=b*(m^(i-1)) , preliminarmente zero fora v=0,0 ou se você quiser obter a quantidade em t, então t=0,0 ; no laço t +=v;

 
Igor Makanu:

se a fórmula estiver correta, você está tudo definido, no laço v +=b*(m^(i-1)) , pré zero v=0,0 ou se em t você quiser obter a soma, t=0,0 ; no laço t +=v;

Sim, eu não pensei no loop... Mas foi assim que eu consegui experimentalmente, acho eu:

vol_total=b*m^t-b


b(m^t-1)

 
leonerd:

Sim, eu não tinha pensado no ciclo... Mas foi assim que eu consegui por experiência própria:

b(m^t-1)

então basta verificar as duas fórmulas no laço - elas devem ser as mesmas ;)

 
Igor Makanu:

então basta verificar as duas fórmulas no laço - elas devem ser as mesmas ;)

OK, é realmente mais confiável com um ciclo.

Você poderia me dizer se existe alguma classe pronta para determinar a margem total, incluindo a cobertura.

Por exemplo, calculei os volumes de pedidos usando o martingale. Eles são dirigidos de maneira diferente. Eu também tenho seus preços. Agora preciso estimar a margem total a ser reservada para estes pedidos. Por ordens, neste caso, quero dizer ordens de mercado aberto ativadas.

 
leonerd:

OK, é realmente mais confiável com um ciclo.

Favor me dizer se existe alguma classe pronta para determinar a margem total, incluindo a cobertura.

Por exemplo, calculei os volumes de pedidos usando o martingale. Eles são dirigidos de maneira diferente. Eu também tenho seus preços. Agora preciso estimar a margem total a ser reservada para estes pedidos. Neste caso, por ordens, quero dizer ordens de mercado aberto ativadas.

Eu não escrevo muito para a MT5, não entendi a margem, deveria estar nos artigos sobre a preparação de Expert Advisors for Market.

olhei meus portáteis para o MT4, esta é aproximadamente a forma como a margem é calculada:

bool checkmargin(double lot,int ordertype)
  {
   double m=NormalizeDouble(AccountFreeMargin()-AccountFreeMarginCheck(_Symbol,ordertype,lot),2);
   bool result = AccountBalance()-m>0 ? true : false;
   return(result);
  }
 
Igor Makanu:

Não escrevo muito em MT5, não entendo as margens, em algum lugar nos artigos sobre a preparação de especialistas para o Mercado deve ser exato

Olhei minha mão para o MT4, é mais ou menos como a margem é calculada:

Obrigado, preciso disso para o MT4 e MT5. Mas aqui você não leva em conta as ordens dirigidas de forma diferente e o coeficiente de cobertura de margem.

Existem várias ordens de compra1,..., ordemN todas elas são de mercado (serão) Compra ou Venda, as instruções são conhecidas: dir1,...,dirN. Os volumes também são vol1,...,volN. Também open_price1,...,open_priceN. A tarefa é calcular o tamanho da margem total. Mas as ordens ainda não foram abertas. Esta é a complexidade, pois entendo que será problemático para todas as taxas cruzadas, pois mesmo que o preço de abertura da ordem à taxa cruzada seja conhecido, precisamos da taxa de câmbio do par para sua conversão na moeda de depósito, e não podemos conhecê-la de antemão.

Razão: