¿puntos == pips? - página 5

 
angevoyageur:
Hasta que tengamos un corredor que proporcione 6 dígitos
Ese es un buen punto... esperemos que no suceda.
 
RaptorUK:
¿Existen Brokers de 4 dígitos para MT5? si los hay entonces tendrás un punto diferente allí comparado con los Brokers de 5 dígitos. El punto es el último dígito, pero para los Brokers de 4 y 5 dígitos no es lo mismo.

Mi definición de Pip es la misma para Brokers de 4 y 5 dígitos, así que en mi opinión es posible definirlo mejor que el punto.
Si los brokers son realmente relevantes para definir lo que es point en MQL5 es mejor que MQ cambie la función a Point(string broker) ;-)
 

Yo también estoy luchando con la definición de pips durante mucho tiempo. Todo el mundo parece tenerlo diferente. Y encima de eso, cada par tiene diferente número de dígitos en el precio cotizado y por lo tanto 1 pip prácticamente no existe. (Tiene un valor diferente en cada par). Creo que la única forma de utilizar el valor del dinero por cambio de precio es obligar a todos los brokers a hacer un precio de 5 dígitos unificado para TODOS los símbolos. (incluyendo pares de divisas, metales, acciones, etc.). Los brokers voluntariamente no lo hacen, porque no quieren admitir que están robando mucho más. Si dicen "spreads ajustados", en realidad quieren decir que le mostramos un número ajustado (como 30 en Oro), pero en realidad están cobrando 30 sólo porque quiotean 2 dígitos. El spread real es de 3000 puntos más o menos. Me hice una hoja de cálculo para tratar de superar este lío. En realidad, mi broker tiene en algunos pares 5 dígitos, otros pares 4 dígitos, otros pares 3 dígitos, y algunos incluso 2 dígitos. Cuando lo calculé y lo escribí en un papel para mí, encontré que si agrego la cantidad deseada de ceros, hago un precio unificado y por lo tanto un valor de dinero unificado, por ejemplo, para 1000 puntos en cualquiera de los 200 pares.

El pensamiento es que los corredores están cobrando spreads, swaps, y las tasas de comisión, en la parte superior de este lío. Pero si el valor del precio fuera siempre de 5 dígitos, usted sabría exactamente cuánto dinero gana por 1000 puntos, independientemente del símbolo con el que vaya a operar.

Chicos. Díganme. ¿Es esta una idea absolutamente loca? o ¿es factible? ¿Podría ser esta una solución? para el tema de cómo saber exactamente "cuánto dinero para el cambio de precio a través de cada símbolo existente que usted consigue".

 
¿algún comentario sobre mi post anterior?
 
Vorobyov:
¿algún comentario sobre mi post anterior?
En mi opinión, la definición de un estándar de pips no es una solución para nada, de todas formas no veo tu idea como una locura, como has afirmado, es solo una visión más.
Para mi no es necesaria tal norma porque cualquier broker o plataforma puede nombrar pips como quiera a sus clientes, si quieren, es solo una convención y/o acuerdo, si es el caso de alguna norma interna.
 

Hola a todos,

No estoy familiarizado con la programación.

¿Hay algún método para calcular los valores de los puntos? Broker de 4 dígitos y broker de 5 dígitos, escribí el programa así ¿es correcto? ( no quiero tratar con pips...LoL)

cuando quiero poner 100 Take Profit escribí así, pero hace Error 130 siempre

doble calcPrice;

calcPrice= Ask+(100*Point()) ;///<<<<------ realmente el mercado al precio ask( O cuando estaba Modificar Orden >> OrderOpenPrice(); )

1.¿Es este método correcto para broker de 4 dígitos y broker de 5 dígitos????

2.¿Existe algún otro método que se pueda utilizar para todos estos requisitos?

3.Alguien puede ayudar a ejemplo, OrderSend sin este caso de errores de dígitos


Cualquier comentario será apreciado.

Gracias

 

73398956Aipl: when i want put 100 Take Profit i wrote like this, but it makes Error 130 always

calcPrice= Ask+(100*Point()) ;///<<<<------ realmente el mercado al precio ask( O cuando estaba Modify Order >> OrderOpenPrice(); )

1.¿Es este método correcto para broker de 4 dígitos y broker de 5 dígitos????

  1. ¿Quieres un 100 qué? Tu código genera 100 puntos. Si quieres 100 PIPs, el valor será incorrecto en un broker de 5 dígitos. Si quieres 10 PIPs, el valor será incorrecto en un broker de 4 dígitos.
  2. Tu código se rompe si cambias de broker 4/5 y no ajustas el valor. Se rompe si cambias de servidor cuando el broker ofrece tanto 4 como 5. También se rompe si el broker cambia durante el fin de semana a 5 dígitos como ha ocurrido. Haz todo en PIPs y ajusta (SL, TP y slippage; para brokers de 4/5 dígitos y para pares JPY).
  3. Hay Tick, PIP, y Punto. Todos son diferentes en general. Un tick es el cambio más pequeño del precio. Un Punto es el dígito menos significativo cotizado. En divisas un pip se define como 0.00010 (o para JPY 0.010)

    En un broker de 4 dígitos un punto (0,0001) = pip (0,0001). [En un broker de 5 dígitos un punto (0.00001) = 1/10 pip (0.00010/10). El hecho de citar un dígito más no cambia el valor de un pip. (0.0001 == 0.00010) Los EAs deben ajustar los pips a puntos (para mq4.) En divisas un tick es un punto. El precio puede cambiar por el dígito menos significativo (1.23456 -> 1.23457)

    En los metales un Tick sigue siendo el cambio más pequeño pero es mayor que un punto. Si el precio puede cambiar de 123,25 a 123,50, tiene un TickSize de 0,25 y un punto de 0,01. El pip no tiene ningún significado.

    Esta es la razón por la que no se utiliza TickValue por sí mismo. Sólo como una relación con TickSize. Ver DeltaValuePerLot()

 
Vorobyov:
¿algún comentario sobre mi post anterior?

¡Desde mi punto de vista no existe una definición fija! ¡Es como en un jardín de infancia, cada corredor hace lo que quiere! ¡Hace poco me topé con un intercambio de tres días - que normalmente se aplica a los fines de semana - que se plantea los miércoles, no los viernes!

Así que para mí

  • un punto es que lo que se obtiene del corredor (=> _Point) y
  • un pip es una diferencia de precios que tiene un valor de ~10.-$ en una cuenta de $, o 10 € en una cuenta de € para un lote (¡es mi definición técnica!).

¡Eso significa que si una parada se coloca 10 pips por debajo de la entrada voy a arriesgar ~ 100 € en mi cuenta de euros no importa lo que el símbolo que estoy negociando! No importa cuántos dígitos tiene un punto o cuán grande es el tamaño del lote,...

¡En lugar de desesperarse, tómelo como una oportunidad de que no hay una definición fija, ya que usted también puede definir las cosas de la manera que le gusta!

Así es como lo hago yo:

bool Pip10(string sym,int &dig,double &pip,int &digis,double &pt,double refValue=10.0, const string from="") {
   // use: if (!Pip10(sym, DIG, PIP, DIGIS, PNT)){ ...
   pt             = SymbolInfoDouble(sym,SYMBOL_POINT);
   digis          = (int)SymbolInfoInteger(sym,SYMBOL_DIGITS);
   
   int      xp    = digis+1, XP = 0, n=200;
   double   tV    = SymbolInfoDouble(sym,SYMBOL_TRADE_TICK_VALUE ),  //MarketInfo(sym,MODE_TICKVALUE),///
            tS    = SymbolInfoDouble(sym,SYMBOL_TRADE_TICK_SIZE ),  //MarketInfo(sym,MODE_TICKSIZE),
            mL    = SymbolInfoDouble(sym,SYMBOL_VOLUME_MIN ),  //MarketInfo(sym,MODE_MINLOT),
            lV    = ( tS*tV == 0.0 ) ? 0.0 : tV/tS, // LotValue
            //pV    = mL*lV,
            //TV    = mL*tV, // tgt*MinLot*lV => n* MinLot * tV
            M,P1,P2, D1,D2,
            minD = 9999999999999.9,  minD2 = 9999999999999.9;
   while (lV < 0.00000000000001 && n-->0 && MQLInfoInteger( MQL_PROGRAM_TYPE ) != PROGRAM_INDICATOR) { // ~4sec in total
      Sleep(20); // try it for 10 sec, wait to get data
      pt    = SymbolInfoDouble(sym,SYMBOL_POINT);
      digis = (int)SymbolInfoInteger(sym,SYMBOL_DIGITS);
      xp    = digis+1;
      tV    = SymbolInfoDouble(sym,SYMBOL_TRADE_TICK_VALUE );  //MarketInfo(sym,MODE_TICKVALUE),///
      tS    = SymbolInfoDouble(sym,SYMBOL_TRADE_TICK_SIZE );  //MarketInfo(sym,MODE_TICKSIZE),
      mL    = SymbolInfoDouble(sym,SYMBOL_VOLUME_MIN );  //MarketInfo(sym,MODE_MINLOT),
      lV    = ( tS*tV == 0.0 ) ? 0.0 : tV/tS; // LotValue
   }
   if ( lV < 0.00000000000001 ) { Alert(sym," is NOT aivailable (yet?), called from ",from,"  err: ",err(_LastError)); pip=0.0; dig=-99; return(false); } // No connection yet
   //Print("ini Pip10(",sym,"..,ref:",DoubleToStr(refValue,2),")  Digits: ",digis," TickVal: ",DoubleToStr(tiV,2));
   while(xp>-9) {

      M  = pow(10,xp);
      P2 = M*lV*2.0;
      P1 = M*lV;
      D1 = fabs(P1-refValue);
      D2 = fabs(P2-refValue);
      
      if ( D2 > minD2 && minD > minD2 ) {
         dig = -XP;
         pip = pow(10,-dig)*2.0;
         if ( pip < tS) { Alert(sym,": PIP(",DoubleToString(pip,digis),") is SMALLER than Ticksize(",DoubleToString(tS,digis),") "); pip=0.0; dig=-99; return(false); }
         return(true);
      }

      if ( D1 > minD && minD2 > minD ) {
         dig = -XP;
         pip = pow(10,-dig);
         if ( pip < tS) { Alert(sym,": PIP(",DoubleToString(pip,digis),") is SMALLER than Ticksize(",DoubleToString(tS,digis),") "); pip=0.0; dig=-99; return(false); }
         return(true);
      }
      minD2 = D2;
      minD  = D1;
      XP = xp;
      xp--;

   }
   pip=0.0; dig=-99;
   Comment(sym," is NOT aivailable (yet?)");
   return(false); // not set :()
}
 
Carl Schreiber:

¡Desde mi punto de vista no existe una definición fija! ¡Es como en un jardín de infancia, cada corredor hace lo que quiere! Hace poco me topé con un swap de tres días - que normalmente se aplica a los fines de semana - que se plantea los miércoles, ¡no los viernes!


Es algo habitual aplicar el swap de tres días el miércoles.

Puede comprobarlo con :

SymbolInfoInteger(symbol,SYMBOL_SWAP_ROLLOVER3DAYS)
 
Alain Verleyen:

Es algo habitual aplicar el canje de tres días el miércoles.

Puedes comprobarlo con :

¡Para mí es un juego de manos!
Razón de la queja: