Errori, bug, domande - pagina 2337

 

Agli sviluppatori. Si prega di risolvere un bug in MQL4.

La scala fissa creata manualmente tramite F8, scheda "Generale", casella di controllo "Fissa scala 1:1" non corrisponde ai valori di una funzione simile ChartSetInteger(chart_ID,CHART_SCALEFIX_11,0,value).

Come riprodursi. Lo script nell'applicazione viene eseguito sul grafico, la funzione di cui sopra verrà chiamata. Il campo Commento avrà i seguenti valori:

Comment("risultato = ", risultato, "; WindowPriceMax = ", WindowPriceMax, "; WindowPriceMin = ", WindowPriceMin);

Questi saranno anche visibili se si preme F8, scheda Generale, vedere i campi - "Fix maximum", "Fix minimum". Registrare questi valori (1).

Successivamente, cancella la scala fissa deselezionando la casella "Fix scale", la casella "Fix scale 1:1" sarà automaticamente deselezionata.

Correggi manualmente la scala con F8, scheda General, selezionando "Fix scale 1:1" si deseleziona automaticamente la casella "Fix scale".

Confermate l'azione premendo OK. Premere nuovamente F8 e registrare i valori "Fix maximum", "Fix minimum" (2).

Confrontare i valori registrati (1) e (2).

Per esempio, per me, dopo che lo script funziona:

Massimo fisso - 112.004
Assicurare il minimo - 111.420

Dopo aver impostato manualmente:

Alto sicuro - 112.004
Assicurare il minimo - 111.398

PS: Controllato di nuovo. Sembra che non sia un bug di MQL4, ma del terminale 4.00 Build 1147 16 Nov 2018
 

I seguenti file non sono disponibili tramite MQL: *.exe, *.dll. *.bat, *.sys, *.ex4 e *.ex5. La ragione è chiara.

Quali altri file sono limitati?

 

Dopo aver chiuso il terminale, gli oggetti negli oggetti grafici perdono i loro tooltip! Cari sviluppatori, per favore correggetelo.

MT5, build 1940 x64.

Script di prova per i test:

#property version   "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   const string name="test_tooltip_"+TimeToString(TimeCurrent(),TIME_DATE|TIME_SECONDS);
//---
   const double price=SymbolInfoDouble(_Symbol,SYMBOL_ASK);
//---
   if(ObjectCreate(0,name,OBJ_HLINE,0,0,price))
     {
      Print(__FUNCTION__,": Построен тестовый объект "+name+" по цене "+DoubleToString(price,_Digits));
      //---
      ObjectSetString(0,name,OBJPROP_TOOLTIP,"TOOLTIP");
      ObjectSetInteger(0,name,OBJPROP_SELECTABLE,true);
      //---
      ChartRedraw();
     }
   else
      Print(__FUNCTION__,": ОШИБКА #",GetLastError(),"! Объект "+name+" не построен!");

  }
//+------------------------------------------------------------------+
 
Alexey Kozitsyn:

Dopo aver chiuso il terminale, gli oggetti negli oggetti grafici perdono i loro tooltip! Cari sviluppatori, per favore correggetelo.

MT5, build 1940 x64.

Script di prova per i test:

Non farti illusioni, questa domanda è già stata sollevata 5 anni fa.

Risposta = il tooltip non viene scritto da nessuna parte e viene memorizzato mentre il programma è in esecuzione.

 

È un errore valido nella documentazione?

AccountInfoInteger

Restituisce il valore della proprietà pertinente della fattura.

long  AccountInfoInteger( 
   int  property_id      // идентификатор свойства 
   );

Parametri

ID proprietà

[Identificatore della proprietà. Il valore può essere uno diENUM_ACCOUNT_INFO_INTEGER.

 
Per quanto riguarda il bug report. Controllato di nuovo. Sembra essere un bug nel terminale 4.00 Build 1147 16 Nov 2018, non in MQL4
 

Forum sul trading, sistemi di trading automatico e test di strategie di trading

Bug, bug, domande

A100, 2018.12.03 12:25

void f()
{
static a;
}
static b;

In realtà significa.

void f()
{
}
static b;
static a;

prima di tutto statico separato, bene in {} poi


Lo stesso codice (complesso) viene eseguito diversamente su MT4/5 a causa della diversa sequenza di esecuzione in MT4/5. Scrivere un semplice esempio non ha funzionato.

 
fxsaber:

I seguenti file non sono disponibili tramite MQL: *.exe, *.dll. *.bat, *.sys, *.ex4 e *.ex5. La ragione è chiara.

Quali altri file sono limitati?

Ho il sospetto che *.cmd *.ts e altri file che sono inavvertitamente caduti nel ramo del registro corrispondente.
Cioè, qualsiasi cosa che, quando viene aperta tramite eXporter, può causare l'avvio di un'applicazione/servizio

 
fxsaber:
Lo stesso codice (complesso) viene eseguito diversamente su MT4/5 a causa della diversa sequenza di esecuzione in MT4/5. Scrivere un semplice esempio non ha funzionato.

Credo. Io no.

 
A100:

significa in realtà

in primo luogo la statica indipendente, bene in {} poi

Sembra che ci sia un recente cambiamento di comportamento. Qualche tempo fa l'ordine era diverso - le variabili globali e le statiche erano inizializzate nello stesso ordine (in ordine di dichiarazione). Cioè in questo caso prima a e poi b. Potrebbe essere sbagliato, ma improbabile.