Errori, bug, domande - pagina 2802

 
Mihail Matkovskij:

Nessuno lo nega. È solo che c'è un concetto in cui c'è uno schermo come tela. A sua volta, lo stesso canvas personalizzato (un array di pixel) è disegnato sul canvas della finestra (il grafico). Più precisamente, viene prima passato al grafico (copiato) usando ResourceCreate (in OBJ_BITMAP o OBJ_BITMAP_LABEL). Nella finestra del grafico, tutto è disegnato usando Win API (se non mi sbaglio). Anche se può essere fatto usando anche altre API. Ma la classe CCanvas ha i propri metodi di disegno sugli elementi dell'array m_pixels.

Si scopre che, disegnando un piccolo rettangolo, si deve ancora passare un sacco di pixel usandoResourceCreate (si risparmia tempo solo sul disegno). E in questo modo potete semplicemente spostareOBJ_BITMAP_LABEL intorno al grafico, senza elaborare l'array m_pixels e poi copiarlo in OBJ_BITMAP_LABEL.

Il fatto è che la classe CCanvas non ha un metodo per spostare la tela, il che è molto strano.
La classe iCanvas lo ha implementato.

ZZZ Mi dispiace, ho visto solo ora che l'attuale versione di iCanvas in KB non implementa questo metodo, solo la sua dichiarazione. Ora lo correggo.

bool iCanvas::MoveCanvas(const int x,const int y) {
   if(ObjectSetInteger(m_chart_id,m_objname,OBJPROP_XDISTANCE,x) && ObjectSetInteger(m_chart_id,m_objname,OBJPROP_YDISTANCE,y))  return(true);
   else return(false);
}

Corretto


File:
iCanvas.mqh  45 kb
Movement.mq5  2 kb
 
Nikolai Semko:

Il fatto è che la classe CCanvas non ha un metodo per spostare la tela, il che è abbastanza strano.
La classe iCanvas lo ha implementato.

ZZZ Mi dispiace, ho visto solo ora che l'attuale versione di iCanvas in KB non implementa questo metodo, solo la sua dichiarazione. Ora lo correggo.

Corretto


Il fatto che non ci sia una mossa in CCanvas non è un grosso problema. Qualsiasi utente attento può capire che la tela viene spostata muovendo il suo oggetto grafico. E questa è una funzione standard. Pertanto, si possono aggiungere i metodi mancanti. O scrivere i propri metodi di disegno e altri... Tutto può essere fatto. Il codice sorgente di CCanvas può essere studiato.

 
I commenti non relativi a questo argomento sono stati spostati in "Domande dai principianti di MQL4 MT4 MetaTrader 4".
 

La versione portatile di MetaEditor ha smesso di funzionare (/portable nelle proprietà del collegamento). È successo con l'aggiornamento di oggi. Rimosso /portable dalle proprietà, l'editor è partito, ma con le impostazioni del terminale installato e diMetaEditor. Inoltre, non sta usando le directory di lavoro della mia cartella con la versione portatile. Il terminale sembra avviarsi normalmente con l'opzione/portable, ma anche MetaEditor non si avvia quando premo F4. Continua a scrivere nel registro:

2020.07.14 20:00:17.560 Error MetaEditor not found

Come si può impostare la versione portatile del terminale e l'editor per funzionare correttamente?

 
Mihail Matkovskij:

La versione portatile di MetaEditor ha smesso di funzionare (/portable nelle proprietà del collegamento). È successo con l'aggiornamento di oggi. Rimosso /portable dalle proprietà, l'editor è partito, ma con le impostazioni del terminale installato e diMetaEditor. Inoltre, non sta usando le directory di lavoro della mia cartella con la versione portatile. Il terminale sembra avviarsi normalmente con l'opzione/portable, ma anche MetaEditor non si avvia quando premo F4. Continua a scrivere nel registro:

Come posso ora regolare la versione portatile del terminale e dell'editor per farli funzionare correttamente?

Un altro aggiornamento è uscito. Ho deciso di controllareMetaEditor. Ho aggiunto/portable alle proprietà del collegamento, l'ho eseguito e ha funzionato. Tutte le impostazioni e le directory di lavoro sono al loro posto, come era prima.

 

È possibile fare quanto segue con mezzi normali?


  1. Visualizzare il registro tramite PCM->Visualizza. Lì uso un filtro.
  2. In questo risultato trovo la linea richiesta.
  3. Voglio vedere cosa c'era prima e dopo questa linea nel log se disabilito il filtro.
Non ho modo di farlo. Devo ricordare l'ora e il contenuto approssimativo della linea e poi disabilitare il filtro e cercarla manualmente.
 
fxsaber:

È possibile fare quanto segue con mezzi normali?


  1. Visualizzare il registro tramite PCM->Visualizza. Lì uso un filtro.
  2. In questo risultato trovo la linea richiesta.
  3. Voglio vedere cosa c'era prima e dopo questa linea nel log se disabilito il filtro.
Non ho modo di farlo. Devo ricordare l'ora e il contenuto approssimativo della linea e poi disabilitare il filtro e cercarla manualmente.

Il visualizzatore di log integrato è molto scomodo (compreso il caso d'uso specificato), devo usare programmi esterni.

 
Si prega di dare qualche suggerimento (link, suggerimenti) su come memorizzare e aggiornare lo stato generale dell'algoritmo nel tester in modalità matematica. L'idea del file comune sembra poco convincente. I frame vanno solo in una direzione (dall'agente al terminale).
 

Salve.

Qualcosa è rotto nell'autovalidatore del mercato mt4.

Ho provato ad autovalidarmi 5-6 volte con diversi EA.

Sempre questo errore.

ь

Anche quell'EA che si è autovalidato ieri non può autovalidarsi oggi

Ecco un messaggio sulla convalida riuscita ieri

т

C'è qualcosa di veramente rotto.

 
Denis Nikolaev:

Salve.

Qualcosa è rotto nell'autovalidatore del mercato mt4.

Ho provato ad autovalidarmi 5-6 volte con diversi EA.

Sempre questo errore.

Anche quell'EA che si è autovalidato ieri non può autovalidarsi oggi

Ecco un messaggio sulla convalida riuscita ieri


C'è davvero qualcosa che non va.

Grazie per il messaggio. Corretto.