¿Cómo puedo cerrar todas las órdenes con un beneficio total en pips? - página 2

 
khasan kayumov:

¿Cómo se calcula el beneficio en puntos?

Antes de borrar

                    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, sí?

Hago un pedido y es rechazado por el servidor, me sale el error 130.

Qué debo hacer y no hay posición, no hay nada que cerrar. Sólo puedo borrar. ¿Qué debo hacer o estoy haciendo algo mal?

¿De verdad quieres que te responda?
 
Dmitry Fedoseev:
¿De verdad quieres que te responda?

No, no quiero que el tema se convierta en un revuelo.

 
Evgeny Belyaev:

No, no quiero que el tema se convierta en un flubbing.


Entonces no lo esponjas.

 
Evgeny Belyaev:

Opero en el mercado, no en MT, MT es sólo una aplicación, que no define correctamente el nombre de las funciones. Posición - compra, conjunto, defensa, delantero...

Orden - orden de colocación, compra, venta, defensa, delantero, centrocampista...

Trato...


Ahora estamos en el foro de MT4. Y la pregunta es específicamente sobre MQL4. Así que aquí es bastante apropiado utilizar la terminología introducida en MT4 y MQL4. Al fin y al cabo, incluso las funciones de contabilidad que se denominan operaciones (posiciones constitutivas) comienzan con la palabra "Orden": OrderSend(), OrderClose(), OrderModify().

 
Ihor Herasko:

Al fin y al cabo, incluso las funciones que dan cuenta de las llamadas operaciones (posiciones constitutivas) en la bolsa empiezan con la palabra "Orden": OrderSend(), OrderClose(), OrderModify().

En MT4, el nombre de las funciones no es correcto. El terminal está anticuado, por lo que los nombres no son correctos.

¿Cómo podemos entendernos?

Estamos hablando de lo mismo. Si usted lo llama orden de compra, yo lo llamaré posición.

¿Cómo nos entendemos?

 
Evgeny Belyaev:

En MT4 los nombres de las funciones no son del todo correctos. El terminal está anticuado, por eso los nombres no son correctos.

¿Cómo nos entendemos?

Estamos hablando de lo mismo. Si usted lo llama orden de compra, yo lo llamaré posición.

¿Cómo nos entendemos?


Estoy acostumbrado a utilizar la terminología de la terminal. Puede que esté mal, pero me ayuda a la hora de leer la documentación. En MT4: órdenes de mercado y órdenes pendientes. En MT5: operaciones, posiciones y órdenes. En otras plataformas: operaciones, posiciones, transacciones, órdenes.

 
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);

                                
                        }
                    }

¿Qué es el número 100500? ¿Por qué es eso y no OrdersTotal()?

 
khasan kayumov:

¿Cómo se calcula el beneficio en pips?

Antes de borrar

//+------------------------------------------------------------------+
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); 
  }
//+------------------------------------------------------------------+

Es así.

 
Ihor Herasko:

Estoy acostumbrado a utilizar la terminología según el terminal. Puede que esté mal, pero ayuda mucho a la hora de leer la documentación. En MT4: órdenes de mercado y órdenes pendientes. En MT5: operaciones, posiciones, órdenes. En otras plataformas: operaciones, posiciones, transacciones, órdenes.


¿Y si no diera una pista sobre el terminal? La terminología debe ser multiplataforma. No habrá problemas para entender la información.

Entiendo su punto de vista, lo tolero, se justifica por los nombres de las funciones.

Si has conocido a 5 operadores, uno está usando Quickquick, otro está usando MT4, el tercero está usando 5-Rouble, el cuarto está operando vía ninja, y el último está usando la terminal web.

¿Cómo llegamos a un denominador común y cómo determinamos qué es una posición y qué es una orden?

Razón de la queja: