Imparare e scrivere insieme in MQL5 - pagina 37

 
Dimka-novitsek:
Grazie! L'attuale prezzo di domanda e offerta è zero. Biglietto d'accordo. Ordine dei biglietti. Bene, ecco papà.
Cos'è il retcode, cosa significa?
 

Grazie !!! Darò un'occhiata al retcode!

GRAZIE!!!! Ce l'ho! Da nessuna parte senza di te.

 

Salve.

Ho incontrato questo problema, che non capisco affatto. Puoi spiegare perché in questo caso NormalizeDouble() non funziona sempre?

   for ( x = .... ) {
      close = tf_rates[x].close;
      close = NormalizeDouble(close, 4 );
   }

Sto aggiungendo il prezzo e altri datial file per il timeframe corrente. Circa il 10% di tutte le voci sono stringhe come:

1971.01.07,00:00,0.5368000000000001,0.5368000000000001,0.5368000000000001,0.5368000000000001,1

Il risultato è indipendente dall'ordine di normalizzazione, sostituisco 1, 2, 3, 4, 5, Digits - tutto uguale. Dov'è il problema?

Документация по MQL5: Файловые операции / FileWrite
Документация по MQL5: Файловые операции / FileWrite
  • www.mql5.com
Файловые операции / FileWrite - Документация по MQL5
 
wtvirtual:

Salve.

Ho incontrato questo problema, che non capisco affatto. Puoi spiegare perché in questo caso NormalizeDouble() non funziona sempre?

Sto aggiungendo il prezzo e altri datial file per il timeframe corrente. Circa il 10% di tutte le voci sono stringhe come:

1971.01.07,00:00,0.5368000000000001,0.5368000000000001,0.5368000000000001,0.5368000000000001,1

Il risultato è indipendente dall'ordine di normalizzazione, sostituisco 1, 2, 3, 4, 5, Digits - tutto uguale. Dov'è il problema?

Non c'è nessuna imboscata. Ecco come appaiono alcuni valori normalizzati. vedere la sezione del Manuale di riferimento su questa funzione.
 
Yedelkin:
Non c'è nessuna imboscata. Ecco come appaiono alcuni valori normalizzati. vedere la sezione del Manuale di riferimento su questa funzione.
Beh, nel manuale di riferimento c'è una nota solo sull'uscita con Print. Supponiamo che non solo questa funzione, ma anche tutte le altre si "normalizzino". Quindi, come dovremmo visualizzare questo valore come prezzi in un ordine pendente?
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
wtvirtual:
Beh, nel manuale c'è un'osservazione solo sull'uscita con Print.

Allora, che funzione usi per produrre questi valori normalizzati? :) - Ah, capito. Lettura da un file. Nell'esempio del Manuale di riferimento, la funzione Print() stampa semplicemente il numero "così com'è".

wtvirtual:
Supponiamo che non solo questa funzione, ma anche tutte le altre si "normalizzino". E come dovremmo poi inviare tale valore sotto forma di prezzi a un ordine pendente?

Ed è esattamente così che dovrebbe essere presentato. Cosa è richiesto per l'ordine? - Prezzi normalizzati. Quindi li normalizziamo e passiamo. E non è un nostro problema come sono questi prezzi normalizzati quando vengono stampati).

Inoltre, se si emettono "prezzi per il periodo attuale", significa che questi stessi prezzi con un gran numero di decimali sono accettabili come prezzi normalizzati sul server. ...Questa è più o meno la mia conclusione, ma non riesco a trovare nessuna contro argomentazione.

 
wtvirtual:

Salve.

Ho incontrato questo problema, che non capisco affatto. Puoi spiegare perché in questo caso NormalizeDouble() non funziona sempre?

Sto aggiungendo il prezzo e altri datial file per il timeframe corrente. Circa il 10% di tutte le voci sono stringhe come:

1971.01.07,00:00,0.5368000000000001,0.5368000000000001,0.5368000000000001,0.5368000000000001,1

Il risultato è indipendente dall'ordine di normalizzazione, sostituisco 1, 2, 3, 4, 5, Digits - tutto uguale. Dov'è il problema?

Puoi spiegarlo in questo modo, prova a scrivere il numero 1/3 in forma decimale - non funzionerà (non abbastanza carta, pasta e vita).
Prima o poi si accetta una piccola imprecisione e si arrotonda il valore.
La stessa cosa accade con i numeri reali scritti in forma binaria (come presentati dal computer).
Se non è possibile rappresentare il numero con una mantissa di 52 bit (per esempio 0,53680) c'è una "leggera" imprecisione...
 

Ciao, potresti dirmi come dichiarare correttamente una variabile come tipo? Ecco un esempio di convenzione di denominazione delle funzioni.

stringa OrderType() {
stringa Si=";
POSITION_TYPE Type; bool Bull=false;
Bull =PositionGetInteger(POSITION_TYPE,Type);
se ( Toro ) {
if ( Type==POSITION_TYPE_BUY) Si="OP_BUY";
if ( Type==POSITION_TYPE_SELL) Si="OP_SELL";
return (Si); }

ORDER_TYPE ORType;
Bull =OrderGetInteger(ORDER_TYPE,ORType);
se ( Toro ) {
if ( Type==ORDER_TYPE_BUY_LIMIT ) Si = OP_BUY_LIMIT;
if ( Type==ORDER_TYPE_SELL_LIMIT) Si="OP_SELL_LIMIT";
if ( Type==ORDER_TYPE_BUY_STOP) Si="OP_BUY_STOP";
if ( Type==ORDER_TYPE_SELL_STOP) Si="OP_SELL_STOP";
return (Si); }

}

Forse c'è qualcosa di sbagliato, per esempio, non ho provato a ottenere i valori delle funzioni PositionGetInteger e OrderGetInteger in questo modo.

 
Dimka-novitsek:

Buon pomeriggio, potreste dirmi come dichiarare correttamente una variabile come tipo? Ecco un esempio di sovrapposizione di funzioni.

Forse c'è qualcosa di sbagliato in tutto questo, per esempio, non ho provato a ottenere i valori delle funzioni PositionGetInteger e OrderGetInteger in questo modo.

Di quale variabile stiamo parlando?
 
POSITION_TYPE Type Oh il mio computer sta rallentando, ci ho messo quasi 40 secondi per inserirlo!