MetaTrader 4 Build 529 beta rilasciato con un nuovo compilatore - pagina 149

 

Buon anno a tutti!


Potete dirmi se è possibile utilizzare più di 8 buffer per gli indicatori e se i metodi come DRAW_FILLING funzionano correttamente?

Posso avere qualche esempio praticabile?

Perché ho delle cose strane, anche se il compilatore non si lamenta. Tenendo conto che non ho fatto nulla in MQL5, potrei aver sbagliato :)


Il compilatore ha un errore: 'TimeTradeServer' - funzione non definita

Significa che la funzione è stata persa?


 
ALXIMIKS:

3) la memoria può essere di 4-8 Giga o più....da e i processori i5 e i7 non sono rari...

e il terminale 4K è a 32bit e, se non mi sbaglio, non può usare più di 2g di RAM, ci hai mai pensato?

1) Riguardo ai soli 8 buffer, molto probabilmente questo è dovuto all'architettura, o alla RAM, non lo so esattamente.

3. Sui sistemi operativi a 64 bit, massimo 4 GB.

1. Questa è una limitazione artificiale. Si può avere di più, ma loro non vogliono. Probabilmente è troppo da rifare.

 

Da riferimento:

StringBufferLen

Restituisce la dimensione del buffer allocato alla stringa.

int StringBufferLen(
string string_var // string
)

La dimensione minima del buffer è 16.

ma in realtà la dimensione minima del buffer allocato per la stringa è 123.

Quando si usa

StringInit

Inizializza la stringa con i caratteri specificati e fornisce la dimensione della stringa specificata.

bool StringInit(
string& string_var, // stringa da inizializzare
int new_len=0, // lunghezza richiesta della stringa dopo l'inizializzazione
ushort character=0 // carattere per riempire la stringa
)

ancora la dimensione del buffer è uguale a 123, e l'esempio del riferimento non è corretto (StringBufferLen(str) = 123):

void OnStart()
  {
   string str;
   StringInit(str,20,'_');
   Print("str = ",str);
   StringFill(str,0);
   Print("str = ",str,": StringBufferLen(str) = ", StringBufferLen(str));
  }
// Результат
//   str = ____________________
//   str =  : StringBufferLen(str) = 20
//

Riferimento MQL4 / Funzioni di stringa / StringFill


 

Buon anno, colleghi!

Qual è l'ultima build al momento? È stata rilasciata una versione superiore alla 568?

Ho solo il sospetto che il terminale non si stia aggiornando di nuovo.

 
Night63:

Buon anno, colleghi!

Qual è l'ultima build al momento? È stata rilasciata una versione superiore alla 568?

Ho solo il sospetto che il terminale non si stia aggiornando di nuovo.

Non ci saranno aggiornamenti fino al quinto. C'è il sospetto che tu non sappia leggere in vacanza ;) Renat ne ha scritto abbastanza di recente.
 
artmedia70:
C'è il sospetto che la gente non sappia leggere durante le vacanze ;) Renat ne ha scritto abbastanza di recente.


"Abbastanza recentemente" - era l'anno scorso! ;)

Grazie! Mi è mancato molto.

 
Y.A.K._:

Buon anno a tutti!


Potete dirmi se è possibile utilizzare più di 8 buffer per gli indicatori e se metodi come DRAW_FILLING funzionano correttamente?

Posso avere qualche esempio praticabile?

Perché ho delle cose strane, anche se il compilatore non si lamenta. Tenendo conto che non ho fatto nulla in MQL5, potrei aver sbagliato :)


Il compilatore ha un errore: 'TimeTradeServer' - funzione non definita

Significa che la funzione è scomparsa?


Le domande sono state inondate di sostanza.
 

Buon anno!

Cerco di creare un'etichetta grafica con testo, ma non funziona.

bool Graf(string txt,int x,int y,string text,int widch,int heigt,color colbg,color coltx,int cor)
  {
   if(ObjectFind(txt)==-1)
   ObjectCreate(0,txt,OBJ_RECTANGLE_LABEL,0,0,0);
   ObjectSetInteger(0,txt,OBJPROP_CORNER,cor);
   ObjectSetInteger(0,txt,OBJPROP_ANCHOR,ANCHOR_LEFT);
   ObjectSetInteger(0,txt,OBJPROP_BGCOLOR,colbg);
   ObjectSetInteger(0,txt,OBJPROP_XDISTANCE,x);
   ObjectSetInteger(0,txt,OBJPROP_YDISTANCE,y);
   ObjectSetString (0,txt,OBJPROP_TOOLTIP,name);
   ObjectSetString (0,txt,OBJPROP_TEXT,text);
   ObjectSetInteger(0,txt,OBJPROP_XSIZE,widch);
   ObjectSetInteger(0,txt,OBJPROP_YSIZE,heigt);
   ObjectSetString (0,txt,OBJPROP_FONT,"Arial");
   ObjectSetInteger(0,txt,OBJPROP_COLOR,coltx);
   ObjectSetInteger(0,txt,OBJPROP_BORDER_COLOR,C'80,80,80');
   ObjectSetInteger(0,txt,OBJPROP_SELECTABLE,true);
   ObjectSetInteger(0,txt,OBJPROP_SELECTED,true);   
   ObjectSetInteger(0,txt,OBJPROP_FONTSIZE,10);
   ChartRedraw();
   return true;
  }

Appare un'etichetta grafica

Ma non c'è testo su di esso ...

Non è che aggiungerebbe un testo per creare un OBJ_Label aggiuntivo?

Non vedo il senso di creare pulsanti con testo al centro...

 

Il server non è disponibile o è un bug del terminale?

 
vadynik:

Il server non è disponibile o è un bug del terminale?


Il server è disponibile. Ma vi consiglio di pensare 10 volte prima di fare un aggiornamento. La versione beta è in fase di test, se non volete glitch non dovreste farlo