su mt4 - mi sembra che ChartSaveTemplate(...) funzioni con errori, build 1280
Ecco il copione:
//+------------------------------------------------------------------+//| Test.mq4 |//| Copyright 2006-2015, MetaQuotes Software Corp. |//| http://www.metaquotes.net |//+------------------------------------------------------------------+#property copyright"2006-2015, MetaQuotes Software Corp."#property link"http://www.mql4.com"#property strict#property show_inputs
voidOnStart()
{
string s_Symbol = Symbol();
string s_EA_Name = "eStomper_02";
string s_MagicChartIDSuffix = "MagicChart";
int i_Magic = 1;
string s_GlobalMagicChartID;
string s_Period = _Period;
s_GlobalMagicChartID = StringConcatenate(s_EA_Name,"-",s_MagicChartIDSuffix,"-",i_Magic,"-",s_Symbol,"-",s_Period);
if(ChartSaveTemplate(0,s_GlobalMagicChartID))
{
Print("s_GlobalMagicChartID=",s_GlobalMagicChartID);
}
else
{
Print(__FUNCTION__," Couldnot Save template : " + s_GlobalMagicChartID + ".tpl" + "Error = " + GetLastError());
return;
}
}
//+------------------------------------------------------------------+
для М1 и М5 имя шаблона усекается, _Period - в имени шаблона не присутсвует..смотрю полный игнор, но вот если сделать так, то все в порядке. явно в компиляторе ошибка, что-то типа неправильного выравнивания.
Potete dirmi con quale algoritmo viene generato il nome degli opt-file?
Questo è MD5 dai valori dei parametri di input dell'Expert Advisor (per quelli ottimizzati - start-step-stop, per quelli non ottimizzati - valore corrente)
Среди программ для автоматического трейдинга можно выделить две большие категории: торговые роботы и индикаторы. Первые предназначены для совершения торговых операций на рынках, а вторые — для анализа котировок и выявления закономерностей в их изменении. При этом индикаторы могут использоваться непосредственно в роботах, образуя полноценную...
Domanda di chiarimento. Come posso conoscere il simbolo e il timeframe di un indicatore in base al suo handle?
C'è la funzioneIndicatorParameters in MQL API per leggere i parametri dell'indicatore, ma non è sufficiente: che senso ha conoscere, per esempio, il periodo, se non si conoscono il simbolo e il timeframe? Non sono sicuro se questa è un'omissione o se non riesco a trovare come farlo - per favore datemi il link.
Domanda di chiarimento. Come posso conoscere il simbolo e il timeframe di un indicatore in base al suo handle?
C'è la funzione IndicatorParameters nell'API MQL per leggere i parametri dell'indicatore, ma non è sufficiente: che senso ha conoscere, per esempio, il periodo, se non si conosce il simbolo e il timeframe? Se c'è qualcosa di sbagliato o non riesco a trovarlo, per favore datemi il link.
Igor Makanu:
nessun modo
Sì, è possibile.
bool FindIndicatorByHandle(long handle, string &symbol, ENUM_TIMEFRAMES &timeframe, long &ChartId, int &sub_win, string &Name) {
long chart_id =ChartFirst();
while (chart_id!=-1) {
int total_sub = (int)ChartGetInteger(chart_id,CHART_WINDOWS_TOTAL);
int total_ind;
for(int i=0; i<total_sub; i++) {
total_ind = ChartIndicatorsTotal(chart_id,i);
for (int j=0; j<total_ind; j++) {
string name = ChartIndicatorName(chart_id,i,j);
if (ChartIndicatorGet(chart_id,i,name)== handle) {
ChartId=chart_id;
symbol= ChartSymbol(chart_id);
timeframe=ChartPeriod(chart_id);
sub_win=i;
Name=name;
returntrue;
}
}
}
chart_id=ChartNext(chart_id);
}
returnfalse;
}
ma comunque, è più facile legare la maniglia dell'indicatore direttamente al nome dell'indicatore nel vostro codice, anche se può essere il compito di scoprire cosa l'utente ha lanciato
Puoi dirmi quale algoritmo viene usato per formare il nome degli opt-file?
su mt4 - mi sembra che ChartSaveTemplate(...) funzioni con errori, build 1280
Ecco il copione:
Potete dirmi con quale algoritmo viene generato il nome degli opt-file?
Questo è MD5 dai valori dei parametri di input dell'Expert Advisor (per quelli ottimizzati - start-step-stop, per quelli non ottimizzati - valore corrente)
42 - tic reali, ottimizzazione per simboli
è possibile controllare questa cifra tramite MQL? (questa è la casella della linea sul grafico in MT)
Con l'aiuto di questa biblioteca
molte grazie
Domanda di chiarimento. Come posso conoscere il simbolo e il timeframe di un indicatore in base al suo handle?
C'è la funzioneIndicatorParameters in MQL API per leggere i parametri dell'indicatore, ma non è sufficiente: che senso ha conoscere, per esempio, il periodo, se non si conoscono il simbolo e il timeframe? Non sono sicuro se questa è un'omissione o se non riesco a trovare come farlo - per favore datemi il link.
Domanda di chiarimento. Come faccio a sapere da un indicatore il simbolo e il timeframe per cui è stato creato?
nessun modo
Non posso. L'anno scorso@fxsaber ha posto la stessa domanda, ma rispetto ai file - come conoscere il nome del file da un handle, non c'è soluzione
Ho trovato un contenitore suggerito per un file handle da@fxsaber
Domanda di chiarimento. Come posso conoscere il simbolo e il timeframe di un indicatore in base al suo handle?
C'è la funzione IndicatorParameters nell'API MQL per leggere i parametri dell'indicatore, ma non è sufficiente: che senso ha conoscere, per esempio, il periodo, se non si conosce il simbolo e il timeframe? Se c'è qualcosa di sbagliato o non riesco a trovarlo, per favore datemi il link.
nessun modo
Sì, è possibile.
Allego lo script di prova.
Il risultato del lavoro di sceneggiatura:
È possibile.
Il tuo codice probabilmente funzionerà
Non ho mai usatoChartIndicatorGet(), solo ora l'ho trovato nel riferimento
ma comunque, è più facile legare la maniglia dell'indicatore direttamente al nome dell'indicatore nel vostro codice, anche se può essere il compito di scoprire cosa l'utente ha lanciato
Grazie!