Errori, bug, domande - pagina 1258

 

A proposito, chi sa come fare che quando si clicca sul pulsante, questo verrebbe schiacciato se la LKM è premuta e rilasciato se la LKM è rilasciata?

e cosa premerebbe il pulsante per cliccare e rilasciare e cosa rilascerebbe il pulsante per cliccare e rilasciare, senza senso)

ZS: certo che si può cambiare una proprietà subito dopo aver rilasciato la LKM, ma è così che si fa? )

 
sanyooooook:

A proposito, chi sa come fare che quando si clicca sul pulsante, questo verrebbe schiacciato se la LKM è premuta e rilasciato se la LKM è rilasciata?

e cosa premerebbe il pulsante per cliccare e rilasciare e cosa rilascerebbe il pulsante per cliccare e rilasciare, senza senso)

ZS: certo che si può cambiare una proprietà subito dopo aver rilasciato la LKM, ma è così che si fa? )

. Dovrete controllare voi stessi lo stato degli oggetti se volete farlo a modo vostro. )
 
tol64:
. Dovrete controllare voi stessi lo stato dell'oggetto, se volete farlo a modo vostro. )

tutto andrebbe bene, ma il pulsante non viene premuto quando si preme la LKM, e viene premuto solo quando si rilascia la LKM, sciocchezze )

ZS: vuoi premere il pulsante? lascialo andare)

Ma se fate diversamente, dato cheOnChartEvent non funziona nel tester, allora in generale, nessun modo nel tester con le copie di copie non può funzionare.

 
sanyooooook:

tutto andrebbe bene, ma il pulsante non viene premuto quando si preme la LKM, e viene premuto solo quando si rilascia la LKM, sciocchezze )

ZS: vuoi premere il pulsante? lascialo andare)

Ma se fate diversamente, dato cheOnChartEvent non funziona nel tester, allora in generale, nessun modo nel tester con lops.

Con il tester, molte cose non funzionano ancora. Resta da scrivere in servicedesk e poi seguire gli aggiornamenti. )

E al di fuori del tester, devi scrivere i tuoi gestori perché i controlli funzionino come vuoi tu.

 
sanyooooook:

tutto andrebbe bene, ma il pulsante non viene premuto quando si preme la LKM, e viene premuto solo quando si rilascia la LKM, sciocchezze )

ZS: vuoi premere il pulsante? lascialo andare)

Ma se si fa altrimenti, dato che OnChartEvent non funziona nel tester, allora nessun modo nel tester con copie di non lavoro.

OnChartEvent() gestisce gli eventi tipici e quelli dell'utente. Per quanto riguarda gli eventi personalizzati questo gestore nel Tester funziona!!! Vedere il mio articolo Prescrizioni in MQL5 - Gestire gli eventi del grafico personalizzatoC'è un robot CustomEventProcessor. Si scambia nel Tester.

Problema del tester - è la grafica... Ho scritto prima al Service Desk sulla grafica, finora solo promesse...



Рецепты MQL5 - обработка пользовательских событий графика
Рецепты MQL5 - обработка пользовательских событий графика
  • 2014.10.10
  • Dennis Kirichenko
  • www.mql5.com
В данной статье рассматриваются аспекты проектирования и разработки системы пользовательских событий графика в среде MQL5. Предлагается пример подхода для классификации событий. Приводится программный код событийного класса и класса-обработчика пользовательских событий.
 
denkir:

OnChartEvent() gestisce i tipici eventi del grafico e gli eventi personalizzati. Per quanto riguarda gli eventi personalizzati questo gestore nel Tester funziona!!! Vedere il mio articolo Prescrizioni in MQL5 - Gestire gli eventi del grafico personalizzatoC'è un robot CustomEventProcessor. Si scambia nel Tester.

Il problema del tester è la grafica... Ho già scritto al Service Desk riguardo alla grafica, solo promessefinora ...



Ok, grazie, darò un'occhiata, finora l'ho fatto controllando la proprietà del pulsante.
 

La situazione è la seguente: creo un oggetto OBJ_TEXT sul grafico. Poi cancello manualmente questo OBJ_TEXT dal grafico. Poi cerco di trovare l'oggetto cancellato sul grafico e ottengo un errore (questo è logico: l'oggetto è stato cancellato, quindi non può essere trovato). Poi provo a spostare il punto di ancoraggio dell'oggetto OBJ_TEXT cancellato con ObjectMove, ma non ottengo nessun errore.

Domanda: ObjectMove dovrebbe dare un errore quando si cerca di spostare il punto di ancoraggio di un OBJ_TEXT cancellato?

 

Si prega di avvisare chi lo sa: quando si cerca di visualizzare un indicatore nel visualizzatore (tester), appare un errore 4014, anche se nessun errore del genere si verifica quando si esegue lo stesso codice nella finestra del terminale.

Il codice è il seguente:

            Indic_Handle[Indic_Total-1]=iMA(NULL,0,MA_Period,MA_Shift,MODE_LWMA,PRICE_CLOSE);

            if(Indic_Handle[Indic_Total-1]==INVALID_HANDLE)

              {Error_Message;return(false);}


            if(F_If_Indic_Exist(Indic_Handle[Indic_Total-1])==false) // Проверяем есть ли уже индикатор с таким хендлом. Если нет - добавлем новый индикатор

               if(ChartIndicatorAdd(0,0,Indic_Handle[Indic_Total-1])==false) 

                 {Error_Message;return(false);}


Il comando "Error_Message" è definito da una macro:

#define Error_Message_Exp Alert(__FILE__+": "+__FUNCTION__+": Error at line "+(string)__LINE__+". Last Error code: "+(string)GetLastError())


Quando viene eseguito nel terminale: il codice funziona come dovrebbe, senza errori. L'indicatore è tracciato sul grafico, alla variabile"Indic_Handle[Indic_Total-1]" è assegnato un valore di handle.

Ma quando viene eseguito nel tester e/o nel visualizzatore. Un errore viene stampato nel log:

2014.12.15 21:16:10 Core 1 2014.01.01 00:00:00   Alert: GA_Incl.mqh: F_Offspr_Init: Error at line 149. Last Error code: 4014

(linea "149" - è la linea"{Error_Message;return(false);}" sotto la linea "148":"if(ChartIndicatorAdd(0,0,Indic_Handle[Indic_Total-1])==false)".

L'errore si verifica ovviamente quando si esegue la funzione "ChartIndicatorAdd" che viene eseguita in modo diverso nell'ambiente tester e nell'ambiente terminale.

La decodifica del codice di errore non lo rende chiaro:

ERR_FUNCTION_NOT_ALLOWED

4014

La funzione di sistema non può essere chiamata

Sul forum ho trovato una menzione di questo errore che si verifica nella stessa situazione da parte di un altro utente, ma la sua domanda rimane senza risposta. (https://www.mql5.com/ru/forum/1111/page763#comment_208678)

Ho scoperto che se continuo ad eseguire il programma nel tester nonostante l'errore, l'indicatore richiesto viene applicato al grafico. Ma il manico dell'indicatore non corrisponde al valore nella variabileIndic_Handle[Indic_Total-1]. (Ma l'indicatore stesso viene creato dopo alcuni tick, dopo aver chiamato il comando ChartIndicatorAdd.

Per favore aiutatemi

Grazie.

Документация по MQL5: Операции с графиками / ChartIndicatorAdd
Документация по MQL5: Операции с графиками / ChartIndicatorAdd
  • www.mql5.com
Операции с графиками / ChartIndicatorAdd - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
methaqvot idi notifica non è arrivata, ho aspettato la seconda ora... Tre ore fa funzionava...
 
valeryk:

Giusto, non si stampa. Ma funziona. Prova a seguire l'evento con la grafica.

Non funziona per me. Fare clic su un oggetto nel tester non fa scattare un evento. Sul demo/reale - funziona. Cosa c'è che non va? (MT4)
Motivazione: