punti == pips? - pagina 5

 
angevoyageur:
Finché non abbiamo broker che fornisce 6 cifre
Questo è un buon punto... speriamo che non accada.
 
RaptorUK:
Ci sono Brokers a 4 cifre per MT5? Se ci sono, allora avrete un punto diverso rispetto ai Brokers a 5 cifre. Il punto è l'ultima cifra, ma per i Brokers a 4 e 5 cifre non è lo stesso.

Lamia definizione di Pip ritorna la stessa per i broker a 4 e 5 cifre, quindi secondo me è possibile definirlo meglio di punto.
Se i broker sono davvero importanti per definire cos'è Point in MQL5, è meglio che MQ cambi la funzione in Point(string broker) ;-)
 

Anch'io sto lottando con la definizione dei pip da molto tempo. Tutti sembrano averla diversa. E in cima a questo, ogni coppia ha un diverso numero di cifre nel prezzo quotato e quindi 1 pip virtualmente non esiste. (Ha un valore diverso in ogni coppia). Penso che l'unico modo per utilizzare il valore del denaro per cambio di prezzo sia quello di costringere tutti i broker a fare 5 cifre di prezzo unificate per tutti i simboli. (incl. coppie di valute, metalli, azioni ecc.). I broker non lo fanno volontariamente, perché non vogliono ammettere che stanno rubando molto di più. Se dicono "spread stretti", in realtà vogliono dire che vi mostriamo un numero stretto (come 30 in Oro), ma in realtà fanno pagare 30 solo perché quiote 2 cifre. Lo spread reale è di 3000 punti o giù di lì. Ho fatto per me un foglio di calcolo per cercare di superare questo pasticcio. In realtà, il mio broker ha in alcune coppie 5 cifre, altre coppie 4 cifre, altre coppie 3 cifre, e alcune anche 2 cifre. Quando l'ho capito e l'ho scritto su carta per me, ho scoperto che se aggiungo la quantità desiderata di zeri, faccio un prezzo unificato e quindi un valore di denaro unificato per esempio per 1000 punti su qualsiasi delle circa 200 coppie.

Il problema è che i broker fanno pagare gli spread, gli swap e le commissioni, in cima a questo casino. Ma se il valore del prezzo fosse sempre a 5 cifre, sapresti esattamente quanti soldi fai per 1000 punti indipendentemente dal simbolo che stai per scambiare.

Ragazzi. Ditemi. È un'idea assolutamente folle o è fattibile? Potrebbe essere una soluzione? per la questione di come sapere esattamente "quanti soldi per la variazione di prezzo attraverso ogni simbolo esistente si ottiene".

 
qualche commento sul mio post precedente?
 
Vorobyov:
qualche commento sul mio post precedente?
Secondo me, una definizione standard di pip non è una soluzione per niente, comunque non vedo la tua idea come una pazzia, come hai detto tu, è solo un'altra visione.
Per me non è necessario tale standard perché qualsiasi broker o piattaforma può nominare i pip come desiderato ai loro clienti, se vogliono, è solo una convenzione e/o accordo, se è il caso di qualche regola interna.
 

Ciao a tutti,

Non ho familiarità con la programmazione.

C'è qualche metodo per calcolare i valori dei punti? 4 digit broker e 5 digit broker, ho scritto programma come questo è corretto? (Non voglio avere a che fare con i pip...LoL)

Quando voglio mettere 100 Take Profit ho scritto così, ma fa sempre errore 130

doppio calcPrice;

calcPrice= Ask+(100*Point()) ;///<<<<------ effettivamente il mercato al prezzo di domanda (o quando stavo modificando l'ordine >> OrderOpenPrice(); )

1.Questo metodo è corretto per broker a 4 cifre e broker a 5 cifre????

2. C'è qualche altro metodo può utilizzare per tutti questi requisiti

3.Qualcuno può aiutare l'esempio, OrderSend senza questi errori di caso di cifra


Qualsiasi commento sarà apprezzato.

Grazie

 

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

calcPrice= Ask+(100*Point()) ;///<<<<------ effettivamente il mercato al prezzo richiesto (o quando ero Modify Order >> OrderOpenPrice(); )

1.Questo metodo è corretto per broker a 4 cifre e broker a 5 cifre????

  1. Vuoi un 100 cosa? Il tuo codice genera 100 punti. Se vuoi 100 PIP, il valore sarà sbagliato su un broker a 5 cifre. Se vuoi 10 PIP, il valore sarà sbagliato su un broker a 4 cifre.
  2. Il tuo codice si rompe se cambi broker 4/5 e non aggiusti il valore. Si rompe se cambiate server quando il broker offre sia 4 che 5. Si rompe anche se il broker cambia durante il fine settimana a 5 cifre come è successo. Fai tutto in PIP e regola (SL, TP, e slippage; per broker a 4/5 cifre e per coppie JPY).
  3. Ci sono Tick, PIP e Point. Sono tutti diversi in generale. Un tick è il più piccolo cambiamento di prezzo. Un Point è la cifra meno significativa quotata. Nelle valute un pip è definito come 0,00010 (o per JPY 0,010)

    Su un broker a 4 cifre un punto (0.0001) = pip (0.0001). [Su un broker a 5 cifre un punto (0.00001) = 1/10 pip (0.00010/10). Solo perché citi una cifra in più non cambia il valore di un pip. (0.0001 == 0.00010) Gli EA devono adattare i pip ai punti (per mq4.) Nelle valute un tick è un punto. Il prezzo può cambiare per la cifra meno significativa (1.23456 -> 1.23457)

    Nei metalli un Tick è ancora il più piccolo cambiamento ma è più grande di un punto. Se il prezzo può cambiare da 123.25 a 123.50, hai un TickSize di 0.25 e un punto di 0.01. Il pip non ha alcun significato.

    Questo è il motivo per cui non si usa TickValue da solo. Solo come rapporto con TickSize. Vedere DeltaValuePerLot()

 
Vorobyov:
qualche commento sul mio post precedente?

Dal mio punto di vista non esiste una definizione fissa! È come in un asilo, ogni broker fa quello che vuole! Recentemente mi sono imbattuto in uno swap di tre giorni - che normalmente si applica al fine settimana - che viene sollevato il mercoledì, non il venerdì!

Quindi per me

  • un punto è quello che si ottiene dal broker (=> _Point) e
  • un pip è una differenza di prezzo che ha un valore di ~10.-$ su un conto in $, o 10 € su un conto in € per un lotto (è la mia definizione tecnica!!).

Ciò significa che se uno stop è posizionato 10 pip sotto l'entrata rischierò ~100 € sul mio conto €, non importa quale simbolo sto negoziando! Non importa quante cifre abbia un punto o quanto sia grande la dimensione del lotto,...

Piuttosto che disperare, prendetelo come un caso che non c'è una definizione fissa, perché anche voi potete definire le cose come volete!

È così che faccio io:

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:

Dal mio punto di vista non esiste una definizione fissa! È come in un asilo, ogni broker fa quello che vuole! Recentemente mi sono imbattuto in uno swap di tre giorni - che normalmente si applica al fine settimana - che viene sollevato il mercoledì, non il venerdì!


È qualcosa di usuale applicare lo swap di tre giorni il mercoledì.

Potete controllare con :

SymbolInfoInteger(symbol,SYMBOL_SWAP_ROLLOVER3DAYS)
 
Alain Verleyen:

È una cosa abituale applicare lo swap di tre giorni il mercoledì.

Potete controllare con :

Per me è un gioco di prestigio!
Motivazione: