Como faço para fechar todos os pedidos com lucro total em pips? - página 2

 
khasan kayumov:

Como você calcula o lucro em pontos?

Antes de apagar

                    for(pos = 0; pos < 100500; pos++) 
                    {
                        if(OrderSelect(pos, SELECT_BY_POS))
                        if(OrderType() == OP_BUY)
                        {
                            buy_profit_USD = buy_profit_USD + OrderProfit() + OrderSwap() + OrderCommission();

                            buy_profit_Point = buy_profit_Point+ ((Bid - OrderOpenPrice()) / Point);

                                
                        }
                    }

 
Evgeny Belyaev:

Ah, sim?

Eu faço um pedido e ele é rejeitado pelo servidor, eu recebo erro 130.

O que eu devo fazer e não há posição, não há nada para fechar. Eu só posso apagar. O que eu devo fazer ou estou fazendo algo errado?

Você realmente quer que eu lhe responda?
 
Dmitry Fedoseev:
Você realmente quer que eu lhe responda?

Não, eu não quero que o tópico se transforme em uma enxurrada.

 
Evgeny Belyaev:

Não, eu não quero que o tópico se transforme em flubbing.


Então, não se aconchegue.

 
Evgeny Belyaev:

Eu negocio no mercado, não na MT, MT é apenas uma aplicação que não define corretamente o nome das funções. Posição - comprar, set, defensor, atacante...

Ordem - ordem para colocar, comprar, vender, defensor, atacante, meio-campista...

Combinado...


Estamos agora no fórum do MT4. E a questão é especificamente sobre a MQL4. Portanto, aqui é bastante apropriado usar a terminologia introduzida no MT4 e na MQL4. Afinal de contas, até mesmo as funções de contabilidade que são chamadas de negociações (posições constituintes) começam com a palavra "Order": OrderSend(), OrderClose(), OrderModify().

 
Ihor Herasko:

Afinal de contas, mesmo as funções responsáveis pelo que são chamadas de negociações (posições constituintes) na bolsa começam com a palavra "Order": OrderSend(), OrderClose(), OrderModify().

As funções são sem dúvida chamadas como tais. No MT4, o nome das funções não é correto. O terminal está desatualizado, portanto, os nomes não estão corretos.

Bem, como podemos nos entender um ao outro?

Estamos falando da mesma coisa. Se você chama isso de ordem de compra, eu chamarei isso de posição.

Como nos entendemos um ao outro?

 
Evgeny Belyaev:

As funções são sem dúvida chamadas como tais. No MT4 os nomes das funções não são muito corretos. O terminal está desatualizado, por isso os nomes não estão corretos.

Bem, como nos entendemos um ao outro?

Estamos falando da mesma coisa. Se você chama isso de ordem de compra, eu chamarei isso de posição.

Como nos entendemos um ao outro?


Estou acostumado a usar a terminologia do terminal. Pode estar errado, mas me ajuda ao ler a documentação. Em MT4: ordens de mercado e ordens pendentes. Em MT5: negócios, posições e ordens. Em outras plataformas: negociações, posições, negócios, ordens.

 
Mikhail Sergeev:

                    for(pos = 0; pos < 100500; pos++) 
                    {
                        if(OrderSelect(pos, SELECT_BY_POS))
                        if(OrderType() == OP_BUY)
                        {
                            buy_profit_USD = buy_profit_USD + OrderProfit() + OrderSwap() + OrderCommission();

                            buy_profit_Point = buy_profit_Point+ ((Bid - OrderOpenPrice()) / Point);

                                
                        }
                    }

Qual é o número 100500? Por que é isso e não OrdensTotal()?

 
khasan kayumov:

Como você calcula o lucro em pips?

Antes de apagar

//+------------------------------------------------------------------+
void OnStart()
  {
  double p;
   int i,pr=0;

   for(i=0; i<OrdersTotal(); i++)
     {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        {
        p=MarketInfo(OrderSymbol(), MODE_POINT);
         if(OrderType()==OP_BUY)
           {
            pr+=int((MarketInfo(OrderSymbol(), MODE_BID)-OrderOpenPrice())/p);
           }
         if(OrderType()==OP_SELL)
           {
            pr+=int((OrderOpenPrice()-MarketInfo(OrderSymbol(), MODE_ASK))/p);
           }
        }
     }   
   Alert( "суммарный профит открытых позиций в пунктах = ",pr); 
  }
//+------------------------------------------------------------------+

É assim.

 
Ihor Herasko:

Estou acostumado a usar a terminologia de acordo com o terminal. Pode estar errado, mas ajuda muito ao ler a documentação. Em MT4: ordens de mercado e ordens pendentes. Em MT5: negociações, posições, ordens. Em outras plataformas: negociações, posições, negócios, ordens.


E se eu não tivesse dado uma dica sobre o terminal? A terminologia deve ser transversal. Não haverá problemas na compreensão das informações.

Compreendo seu ponto de vista, sou tolerante com ele, ele se justifica pelos nomes das funções.

Se você conheceu 5 comerciantes, um está usando Quickquick, outro está usando MT4, o terceiro está usando 5-Rouble, o quarto está negociando via ninja e o último está usando terminal web.

Como chegamos a um denominador comum e como determinamos o que é uma posição e o que é uma ordem?