"Rimuovere un indicatore da un grafico non significa che anche la parte di calcolo dell'indicatore sarà rimossa dalla memoria del terminale. Per rilasciare la maniglia dell'indicatore, usate la funzione IndicatorRelease() ".
Sì, Vladimir, l'ho già fatto e scritto prima, ma il risultato è sempre lo stesso.
Ho risolto questo problema per più di un'ora. Volevo creare e visualizzare l'indicatore ZigZagColor sul grafico all'avvio di Expert Advisor. È stato fatto in int OnInit:
L'indicatore è stato creato e visualizzato. Ora ho bisogno che l'indicatore venga cancellato dopo che l'Expert Advisor è stato rimosso. Lo sto scrivendo:
Ma l'indicatore non viene rimosso. Ho risolto tutto. Ho pulito la maniglia e applicato la funzione di cancellazione. Mi chiedo quale sia la ragione per cui non si disinstalla.
Rimuovere l'indicatore dal grafico con la funzione
ChartIndicatorDelete(
long chart_id, // ID del grafico
int sub_window // numero della sottofinestra
const string indicator_shortname // nome breve dell'indicatore
);
Grazie, Alexey, lo proverò domani a mente lucida, sono già confuso dalle informazioni che ho. Come si dice, dormirò meglio al mattino!
Ora ho un'altra cosa che mi ha lasciato molto perplesso e sorpreso. Ho provato a cancellare il grafico con lo script sviluppato da Vladimir Karputov, ma questo script ha cancellato assolutamente tutto tranne l'indicatore personalizzato ZigzagColor! Ho provato a rimuovere un semplice ZigZag con lo stesso script, non lo rimuove nemmeno! È un mistero...
Grazie, Alexey, domani ci proverò a mente lucida, visto che sono già in un casino di informazioni. Come dice il proverbio - più saggio al mattino!
Ora c'è un'altra cosa che mi ha sconcertato e sorpreso molto. Ho provato a cancellare il grafico con lo script sviluppato da Vladimir Karputov, ma questo script ha cancellato assolutamente tutto tranne l'indicatore personalizzato ZigzagColor! Ho provato a rimuovere un semplice ZigZag con lo stesso script, non lo rimuove nemmeno! È un mistero...
Saluti, Vladimir.
Prova questo script
#property copyright"Copyright 2020, MetaQuotes Software Corp."#property link"https://www.mql5.com"#property version"1.00"//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart()
{
//---int window=ChartWindowFind(0,"ZigzagColor");
bool res=ChartIndicatorDelete(0,window,"ZigzagColor");
//--- проанализируем результат вызова ChartIndicatorDelete()if(!res)
{
PrintFormat("Не удалось удалить индикатор ZigzagColor с окна #%d. Код ошибки %d",
window,GetLastError());
}
}
nome breve ZigzagColor - e questo è il default, se lo imposti diversamente devi scrivere quelle cifre
ed è così che dovrebbe essere scritto
o si può cambiare l'indicatore stesso - dare un nome più semplice
//--- name for DataWindow and indicator subwindow labelIndicatorSetString(INDICATOR_SHORTNAME,"ZigZag("+(string)InpDepth+","+(string)InpDeviation+","+(string)InpBackstep+")");
PlotIndexSetString(0,PLOT_LABEL,"ZigzagColor");
//--- set an empty value
per esempio
//--- name for DataWindow and indicator subwindow labelIndicatorSetString(INDICATOR_SHORTNAME,"ZigZag");
PlotIndexSetString(0,PLOT_LABEL,"ZigzagColor");
//--- set an empty value
-----------------------------------------------
Ti ho già mostrato lo script - se questo script è collegato a un grafico e non dai un nome all'indicatore, funzionerà senza cancellare alcun indicatore - ma scriverà nella finestra Expert Advisor quali indicatori sono disponibili
https://c.mql5.com/3/332/IndicatorDelete.mq5
Questo è quello che ho
CS 003:41:36.549 IndicatorDelete (XAUUSD,M30) EWO(5,35)
DF 003:41:36.604 IndicatorDelete (XAUUSD,M30) ZigZag(12,5,3)
KR 003:41:36.626 IndicatorDelete (XAUUSD,M30) LeMan_BrainTrend1Sig
FE 003:41:36.646 IndicatorDelete (XAUUSD,M30) Hline VSC
RN 003:41:36.666 IndicatorDelete (XAUUSD,M30) Pivot Lines TimeZone
KG 003:41:36.686 IndicatorDelete (XAUUSD,M30) Line through two fractals
DL 003:41:36.706 IndicatorDelete (XAUUSD,M30) sanbox
Коды ошибок и предупреждений - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
o potete anche cambiare l'indicatore stesso dandogli un nome più semplice
come questo
-----------------------------------------------
Ho già scaricato lo script - se questo script è collegato a un grafico e non si dà un nome all'indicatore, funzionerà senza cancellare alcun indicatore - ma scriverà nella finestra di Expert Advisor quali indicatori sono presenti
https://c.mql5.com/3/332/IndicatorDelete.mq5
Questo è quello che ho!
Ciao, ho implementato il tuo script. Due indicatori sono apparsi nella scheda Esperti: Volumi e ZigZag (80,20,0). È effettivamente così, solo l'indicatore ZigZag è scritto senza colore per qualche motivo.
Aleksey, ha applicato il tuo script. Ho ricevuto il codice di errore 4115.
Saluti, Vladimir.
Devo stare più attento.
boolChartIndicatorDelete(
long chart_id, // идентификатор графика int sub_window // номер подокна conststringindicator_shortname // короткое имя индикатора
);
Il nome dell'indicatore e il nome breve dell'indicatore spesso non coincidono.
Ciao, ho applicato il tuo script. Due indicatori sono apparsi nella scheda Esperti: Volumi e ZigZag (80,20,0). È effettivamente così, solo l'indicatore ZigZag è scritto senza colore per qualche motivo.
Di solito cancello l'handle e la parte di calcolo in OnDeinit e tutto viene rimosso. L'oggetto non è un indicatore.
https://www.mql5.com/ru/docs/chart_operations/chartindicatordelete
"Rimuovere un indicatore da un grafico non significa che anche la parte di calcolo dell'indicatore sarà rimossa dalla memoria del terminale. Per rilasciare la maniglia dell'indicatore, usate la funzione IndicatorRelease() ".
Sì, Vladimir, l'ho già fatto e scritto prima, ma il risultato è sempre lo stesso.
Saluti, Vladimir.
Forum sul trading, sistemi di trading automatico e test di strategia
Nuovo robot di trading
MrBrooklin, 2020.09.28 10:38
Ho risolto questo problema per più di un'ora. Volevo creare e visualizzare l'indicatore ZigZagColor sul grafico all'avvio di Expert Advisor. È stato fatto in int OnInit:
L'indicatore è stato creato e visualizzato. Ora ho bisogno che l'indicatore venga cancellato dopo che l'Expert Advisor è stato rimosso. Lo sto scrivendo:
Ma l'indicatore non viene rimosso. Ho risolto tutto. Ho pulito la maniglia e applicato la funzione di cancellazione. Mi chiedo quale sia la ragione per cui non si disinstalla.
Saluti, Vladimir.
Rimuovere l'indicatore dal grafico con la funzione
ChartIndicatorDelete(
long chart_id, // ID del grafico
int sub_window // numero della sottofinestra
const string indicator_shortname // nome breve dell'indicatore
);
Grazie, Alexey, lo proverò domani a mente lucida, sono già confuso dalle informazioni che ho. Come si dice, dormirò meglio al mattino!
Ora ho un'altra cosa che mi ha lasciato molto perplesso e sorpreso. Ho provato a cancellare il grafico con lo script sviluppato da Vladimir Karputov, ma questo script ha cancellato assolutamente tutto tranne l'indicatore personalizzato ZigzagColor! Ho provato a rimuovere un semplice ZigZag con lo stesso script, non lo rimuove nemmeno! È un mistero...
Saluti, Vladimir.
Grazie, Alexey, domani ci proverò a mente lucida, visto che sono già in un casino di informazioni. Come dice il proverbio - più saggio al mattino!
Ora c'è un'altra cosa che mi ha sconcertato e sorpreso molto. Ho provato a cancellare il grafico con lo script sviluppato da Vladimir Karputov, ma questo script ha cancellato assolutamente tutto tranne l'indicatore personalizzato ZigzagColor! Ho provato a rimuovere un semplice ZigZag con lo stesso script, non lo rimuove nemmeno! È un mistero...
Saluti, Vladimir.
Prova questo script
nome breve ZigzagColor - e questo è il default, se lo imposti diversamente devi scrivere quelle cifre
e questo è esattamente quello che dovete mettere in
nome breve ZigzagColor - e questo è il default, se lo imposti diversamente devi scrivere quelle cifre
ed è così che dovrebbe essere scritto
o si può cambiare l'indicatore stesso - dare un nome più semplice
per esempio
-----------------------------------------------
Ti ho già mostrato lo script - se questo script è collegato a un grafico e non dai un nome all'indicatore, funzionerà senza cancellare alcun indicatore - ma scriverà nella finestra Expert Advisor quali indicatori sono disponibili
https://c.mql5.com/3/332/IndicatorDelete.mq5
Questo è quello che ho
Prova questo script
Buona giornata a tutti!
Aleksey, ho applicato il tuo script. Ho ricevuto il codice di errore 4115. Ho trovato cosa significa nel manuale:
ERRARE_INDICATORE_CARTOGRAFIA_CANNOT_DEL
4115
Errore quando si cancella l'indicatore dal grafico
Saluti, Vladimir.
o potete anche cambiare l'indicatore stesso dandogli un nome più semplice
come questo
-----------------------------------------------
Ho già scaricato lo script - se questo script è collegato a un grafico e non si dà un nome all'indicatore, funzionerà senza cancellare alcun indicatore - ma scriverà nella finestra di Expert Advisor quali indicatori sono presenti
https://c.mql5.com/3/332/IndicatorDelete.mq5
Questo è quello che ho!
Ciao, ho implementato il tuo script. Due indicatori sono apparsi nella scheda Esperti : Volumi e ZigZag (80,20,0). È effettivamente così, solo l'indicatore ZigZag è scritto senza colore per qualche motivo.
Saluti, Vladimir.
Prova questo script
Buona giornata a tutti!
Aleksey, ha applicato il tuo script. Ho ricevuto il codice di errore 4115.
Saluti, Vladimir.
Devo stare più attento.
Il nome dell'indicatore e il nome breve dell'indicatore spesso non coincidono.
Ciao, ho applicato il tuo script. Due indicatori sono apparsi nella scheda Esperti: Volumi e ZigZag (80,20,0). È effettivamente così, solo l'indicatore ZigZag è scritto senza colore per qualche motivo.
Sinceramente, Vladimir.
Quindi, dovete scriverlo così - ZigZag (80,20,0).
Sarà sicuramente cancellato in questo caso.
-----------------
ma senzaColore
perché è così che è scritto nell'indicatore
Devi scriverlo così - ZigZag (80,20,0)
Lo ZigZag sarà sicuramente cancellato.
-----------------
ma senzaColore
perché è così che è scritto nell'indicatore
Se cambiate le impostazioni, dovete aggiungere i numeri che avete specificato nell'indicatore
per esempio