Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 434

 
Artyom Trishkin:
Il colore del commento non può essere cambiato. Se volete un colore, potete cambiarlo con gli oggetti.
Perché ho 0? Mi interessa l'errore, non gli esempi. Copierò e incollerò l'esempio, ma la nozione di errore rimane sconosciuta.
 
Leanid Aladzyeu:
Perché ottengo 0? Mi interessa l'errore, non gli esempi. Copierò e incollerò l'esempio, ma la nozione di errore rimane sconosciuta.

prova a rimuovere Point - cosa dirà?

Penso che Point() sia corretto.

 
new-rena:

prova a rimuovere Point - cosa dirà?

secondo me il corretto Point()

double p1=(NormalizeDouble(iHigh(Symbol(),PERIOD_MN1,1),Digits)-NormalizeDouble(iLow(Symbol(),PERIOD_MN1,1),Digits)); Print("Bar size 1 = ", p1);

0,0 totale. senza punto e con punto con parentesi. Ho provato gli array come questo. tutti per 0,0.

int  imax5=iHighest(Symbol(),PERIOD_MN1,MODE_HIGH,3,1);Print("max1=====", imax5);
    double   max5= iHigh(Symbol(),PERIOD_MN1,imax5);Print("max2=====", max5);
    max5=NormalizeDouble(max5,Digits);Print("max3=====", max5);
 
Leanid Aladzyeu:

double p1=(NormalizeDouble(iHigh(Symbol(),PERIOD_MN1,1),Digits)-NormalizeDouble(iLow(Symbol(),PERIOD_MN1,1),Digits)); Print("Bar size 1 = ", p1);

0,0 totale. senza punto e con punto con parentesi. Ho provato gli array come questo. tutti per 0,0.

Prova in questo modo

 double p1=(NormalizeDouble(iHigh(Symbol(),PERIOD_MN1,1),Digits)-NormalizeDouble(iLow(Symbol(),PERIOD_MN1,1),Digits)); 
Print("Величина бара 1 = ", DoubleToString(p1, Digits));

Leanid Aladzyeu:
Perché ottengo 0? Mi interessano gli errori, non gli esempi. Copio e incollo l'esempio, ma il concetto di errore rimane sconosciuto.
Perché Print() e Alert() stampano numeri doppi fino a 4 cifre, mentre il risultato è un numero a 5 cifre. Per vedere la quinta cifra dovete convertire il numero in una stringa.
 
Alexey Viktorov:

Prova questo

 double p1=(NormalizeDouble(iHigh(Symbol(),PERIOD_MN1,1),Digits)-NormalizeDouble(iLow(Symbol(),PERIOD_MN1,1),Digits)); 
Print("Величина бара 1 = ", DoubleToString(p1, Digits));
Мне говорили что моя версия была с багом на массивы iclose[] , получается что и на функцию багом попало  или в терминале не хватает истории  тоже врядли история с начала загружена ,

 
Leanid Aladzyeu:

Stavo solo dicendo che c'era una build con questo errore, l'ho letto su questo forum, ma non ho detto che POSSIBILMENTE avete questa build.

Per quanto riguarda gli zeri ho corretto, integrato il mio post precedente con un piccolo ritardo.


Se ottenete zero anche nella quinta cifra, impostate Print() sia per il meno che per il sottrattore. Forse sono la stessa cosa? Anche se non dovrebbero esserlo. Ma sono le stampanti che dovrebbero cercare la causa.

 
Alexey Viktorov:

Stavo solo dicendo che c'era una build con questo errore, l'ho letto su questo forum, ma non ho detto che POSSIBILMENTE avete questa build.

Riguardo agli zeri ho corretto, aggiunto al mio post precedente un po' in ritardo.


Se ottenete zero anche nella quinta cifra, impostate Print() sia per il sottraente che per il sottraente. Forse sono la stessa cosa? Anche se non dovrebbero esserlo. Ma bisogna cercare la causa con le stampanti.

Questo è crudele)) come risolvere il problema?

4074
 ERR_NO_MEMORY_FOR_HISTORY
 Не хватает памяти для исторических данных
 
 
Alexey Viktorov:

Perché è scritto male.

Sei sicuro? Prima di scrivere ho eseguito questa costruzione con AAA = true e AAA = false - tutto funziona. Quando è vero, restituisce (stringa)c, quando è falso, restituisce "offline". I valori negativi del numero di ordini non possono essere, quindi si adatta esattamente.
 
Leanid Aladzyeu:
Perché ottengo 0? Mi interessa l'errore, non gli esempi. Copio e incollo l'esempio, ma la nozione di errore rimane sconosciuta.

Non c'è nessun errore. La sceneggiatura

#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   double p1=(NormalizeDouble(iHigh(Symbol(),PERIOD_MN1,1),Digits)-NormalizeDouble(iLow(Symbol(),PERIOD_MN1,1),Digits))/Point; 
   Print("Величина бара 1 = ", p1);
  }
//+------------------------------------------------------------------+

Si vede nel registro.

2015.09.05 05:00:09.558 Script SizeCandle USDJPY,Daily: removed
2015.09.05 05:00:09.557 SizeCandle USDJPY,Daily: uninit reason 0
2015.09.05 05:00:09.557 SizeCandle USDJPY,Daily: Величина бара 1 = 9122.0
2015.09.05 05:00:09.556 SizeCandle USDJPY,Daily: initialized
2015.09.05 05:00:09.541 Script С форума\SizeCandle USDJPY,Daily: loaded successfully

Solo che ancora non capisco perché avete bisogno del doppio per emettere un valore intero (perché il numero di punti è un intero).

 

intenditori, aiuto.

Ho bisogno di un font per scrivere marcature di onde in MT-4. Cioè lettere e numeri in cerchi.


Motivazione: