Perguntas de Iniciantes MQL4 MT4 MetaTrader 4 - página 88

 
Gregory Kovalenko:

Olá. Como posso obter o lucro/perda atual com a ordem aberta atual?

Experimentando

- Retorna apenas positivo, lucro, se a posição estiver em déficit no momento, o prejuízo não é mostrado.

P.S. Na história da ordemOrderProfit() também mostra menos.

Como você está tentando obter um lucro, mostre todo o código
 

em relação ao lucro atual no pedido (não encontrou o iniciador do posto)

double profit=OrderProfit()+OrderSwap()+OrderCommission();
 
Renat Akhtyamov:

em relação ao lucro atual no pedido (não encontrou o iniciador do posto)


Obrigado, houve realmente um erro na lógica do código, é por isso
double profit=OrderProfit()+OrderSwap()+OrderCommission();

não funcionou.

Agora surgiu uma pergunta interessante.

Eu olho para a última ordem da história, vejo uma perda. Eu gostaria de diminuir o tp e aumentar o lote. tp

MarketInfo(Symbol(),MODE_STOPLEVEL)

Como calcular qual lote é necessário, sabendo o preço atual para abrir e o novo tp - para fechar a perda?

 
Gregory Kovalenko:

Obrigado, de fato, houve um erro na lógica do código.

não funcionou.

Agora há esta pergunta interessante.

Eu olho para a última ordem da história e vejo uma perda. Eu gostaria de diminuir o tp e aumentar o lote. tp - como calcular qual lote é necessário.

Como calcular que lote é necessário, sabendo o preço atual para abrir e o novo tp - para fechar a perda?

Esta pergunta é interessante, mas está relacionada ao desenvolvimento de estratégias. Pessoalmente, vou passar.
 
Gregory Kovalenko: Como calcular qual lote é necessário, sabendo o preço atual para abrir e o novo tp - para fechar a perda?

Calcula quanto do prejuízo será coberto por um pedido com um lote igual a OrderLots(). Abre uma ordem com um lote igual a OrderLots(), dividido pelo valor obtido.

Em outras palavras, se o OrderLots() fechar 0,5 perdas, você abre um pedido com o lote OrderLots()/0,5 = OrderLots()*2.

Se OrderLots() fechar a perda duas vezes, use OrderLots() / 2

 
LRA:

Calcula quanto do prejuízo será coberto por um pedido com um lote igual a OrderLots(). Abre uma ordem com um lote igual a OrderLots(), dividido pelo valor obtido.

É mais fácil calcular quanto do prejuízo será coberto pelo pedido com lote = 1. Abre um pedido com lote = 1, dividido pelo valor resultante.
 

Tenho uma pergunta quádrupla.

todos têm um limite de 3000 pips nas configurações do gráfico, ou alguém tem alguma escalada vertical funcionando?

aqui está uma captura de telasjfhakslljas


 

Aplicação de "programas de looping".

Por favor, explique os prós e contras. É melhor do que esperar por um novo tick desde o início()? Aumenta a velocidade de resposta a um novo tick?

start()
   {
   while(!IsStopped())
      {
      RefreshRates();
      //...
      Sleep(5);
      }
   return;
   }

 
smart_man:

Aplicação de "programas de looping".

Por favor, explique os prós e contras. É melhor do que esperar por um novo tick desde o início()? Aumenta a velocidade de resposta a um novo tick?

start()
   {
   while(!IsStopped())
      {
      RefreshRates();
      //...
      Sleep(5);
      }
   return;
   }

Você não deve fazer isso. Ela consumirá muitos recursos. E o que há de errado com a velocidade de resposta sem looping?
 
smart_man Explicar os prós e os contras. É melhor do que esperar por um novo tick desde o início()? Aumenta a velocidade de resposta a um novo tick?

   while(!IsStopped())
      {
      RefreshRates();
      //...
      Sleep(5);
      }

Um tick é uma chegada de novos dados do servidor. E deve ser processado imediatamente após a sua chegada. Se você fizer isso em loop com atraso de 5 ms, então a maioria dos tiquetaques chegará, ou seja, durante este atraso. Assim, o processamento será atrasado em 0 ... 5 ms.