Cercate di riempire l'indicatore, almeno con un semplice oggetto grafico, in modo che venga chiamato dall'Expert Advisor. Poi, dopo la compilazione, rinominate o cancellate Res_Ind.ex4, come se aveste inviato al mercato solo il file Expert Advisor. Il cliente riceverà un programma non funzionale.
Cercate di riempire l'indicatore con almeno un semplice oggetto grafico, in modo che sia chiamato da Expert Advisor. Poi dopo la compilazione, rinominate o cancellate Res_Ind.ex4, come se aveste inviato al mercato solo il file Expert. Il cliente otterrà un programma non funzionante.
Non si può essere così testardo ... Dice che l'indicatore collegato dalla risorsa è incluso nel file eseguibile dell'Expert Advisor, quindi è.
Ma il fatto che il tuo indicatore disegni oggetti grafici e che l'EA debba leggerli è un grosso problema. Gli oggetti grafici sono disponibili solo quando si prova con la visualizzazione e l'autovalidatore sta provando senza, quindi non vede le proprietà degli oggetti...
Esegui l'Expert Advisor, c'è una finestra dell'indicatore sul grafico.
Pubblica un file dell'Expert Advisor exp.ex5 nel Mercato (in realtà cancella il file indicatore win.ex5)
Lancia l'Expert Advisor, non c'è la finestra dell'indicatore nel grafico.
Ripristina il file cancellato win.ex5.
Ripristina l'Expert Advisor, il grafico ha la finestra dell'indicatore.
Conclusione: il codice dell'indicatore non è incluso nel codice Expert. Per il normale funzionamento dell'Expert Advisor con una risorsa Indicatore, abbiamo bisogno di un file eseguibile dell'indicatore specificato nella risorsa.
Ripeto la mia domanda:
come pubblicare nel mercato quando c'è un esperto con un indicatore personalizzato, una libreria, cioè più di un file è necessario per il normale lavoro dell'esperto?
Esegui l'Expert Advisor, c'è una finestra dell'indicatore sul grafico.
Pubblica un file dell'Expert Advisor exp.ex5 nel Mercato (in realtà cancella il file indicatore win.ex5)
Lancia l'Expert Advisor, non c'è la finestra dell'indicatore nel grafico.
Ripristina il file cancellato win.ex5.
Ripristina l'Expert Advisor, il grafico ha la finestra dell'indicatore.
Conclusione: il codice dell'indicatore non è incluso nel codice Expert. Per il normale funzionamento dell'Expert Advisor con una risorsa Indicatore, abbiamo bisogno di un file eseguibile dell'indicatore specificato nella risorsa.
Ripeto la mia domanda:
come pubblicare nel mercato quando c'è un Expert Advisor con un indicatore personalizzato, libreria, cioè più di un file è necessario per il normale funzionamento dell'Expert Advisor?
Quante volte ti è stato dato un link alla documentazione? Tua madre non ti lascia leggere?
handle=iCustom(_Symbol,_Period,"win.ex5"); // Это делается не так!!!!
Aggiunto il calcolo del conteggio delle barre(:RatesTotal(void)) alla classe, non riesco a capire come inserirlo correttamente nella struttura. Ho qualcosa del genere. Potete per favore dirmi come renderlo più colorato.
#include <Arrays\ArrayObj.mqh>
/********************************************************************\
| Класс Новый бар |
\********************************************************************/class CNewBar : public CObject
{
private:
string m_symbol;
ENUM_TIMEFRAMES m_timeframe;
datetime m_time;
long m_rt;
datetime Time(void);
long RatesTotal(void); stringSymbol(void) { returnthis.m_symbol; }
public:
ENUM_TIMEFRAMES Timeframe(void) { returnthis.m_timeframe; }
datetime GetTime(void) { returnthis.m_time; } // Возвращает время последнего обращенияlong GetRatesTotal(void) { returnthis.m_rt; }bool IsNewBar(void); // Основная функция класса
CNewBar(conststring symbol,constENUM_TIMEFRAMES timeframe);
~CNewBar(void) {;}
};
//+------------------------------------------------------------------+//| Конструктор |//+------------------------------------------------------------------+
CNewBar::CNewBar(conststring symbol,constENUM_TIMEFRAMES timeframe) : m_time(0)
{
this.m_symbol = symbol;
this.m_timeframe = (timeframe == PERIOD_CURRENT ? Period() : timeframe);
}
//+------------------------------------------------------------------+//| Возвращает количество баров в истории |//+------------------------------------------------------------------+long CNewBar::RatesTotal(void)
{
//---- получим количество баровlong rt=SeriesInfoInteger(this.m_symbol, this.m_timeframe,SERIES_BARS_COUNT);
//---- Проверка количестваif(rt<1)
Print("Error "+__FUNCTION__+" Не определенно кол-во баров ",this.m_symbol," ",this.m_timeframe);
//----return(rt);
};
//+------------------------------------------------------------------+//| CNewBar IsNewBar Основная функция класса |//+------------------------------------------------------------------+bool CNewBar::IsNewBar(void)
{
m_rt=this.RatesTotal();datetime tm=this.Time();
if(tm==0 || m_rt<1)returnfalse;
if(tm!=this.m_time)
{
this.m_time = tm;
returntrue;
}
returnfalse;
}
Ecco l'indicatore:
Ecco l'esperto:
Qui c'è tutto in un unico file:
Quattro è vero, ma anche cinque.Avete solo il file Expert compilato.
Cercate di riempire l'indicatore, almeno con un semplice oggetto grafico, in modo che venga chiamato dall'Expert Advisor. Poi, dopo la compilazione, rinominate o cancellate Res_Ind.ex4, come se aveste inviato al mercato solo il file Expert Advisor. Il cliente riceverà un programma non funzionale.
E non puoi mettere i 2 file nel Market separatamente. Questa è la politica.
Avete solo il file Expert compilato.
Cercate di riempire l'indicatore con almeno un semplice oggetto grafico, in modo che sia chiamato da Expert Advisor. Poi dopo la compilazione, rinominate o cancellate Res_Ind.ex4, come se aveste inviato al mercato solo il file Expert. Il cliente otterrà un programma non funzionante.
Non si può essere così testardo ... Dice che l'indicatore collegato dalla risorsa è incluso nel file eseguibile dell'Expert Advisor, quindi è.
Ma il fatto che il tuo indicatore disegni oggetti grafici e che l'EA debba leggerli è un grosso problema. Gli oggetti grafici sono disponibili solo quando si prova con la visualizzazione e l'autovalidatore sta provando senza, quindi non vede le proprietà degli oggetti...
Si dice che l'indicatore collegato dalla risorsa è incluso nel file eseguibile dell'EA, quindi è così.
Indicatore in una finestra separata
Compila Indicatore --> win.ex5.
Esperto con l'indicatore nella risorsa
Compilare l'Expert Advisor --> exp.ex5.
Esegui l'Expert Advisor, c'è una finestra dell'indicatore sul grafico.
Pubblica un file dell'Expert Advisor exp.ex5 nel Mercato (in realtà cancella il file indicatore win.ex5)
Lancia l'Expert Advisor, non c'è la finestra dell'indicatore nel grafico.
Ripristina il file cancellato win.ex5.
Ripristina l'Expert Advisor, il grafico ha la finestra dell'indicatore.
Conclusione: il codice dell'indicatore non è incluso nel codice Expert. Per il normale funzionamento dell'Expert Advisor con una risorsa Indicatore, abbiamo bisogno di un file eseguibile dell'indicatore specificato nella risorsa.
Ripeto la mia domanda:
come pubblicare nel mercato quando c'è un esperto con un indicatore personalizzato, una libreria, cioè più di un file è necessario per il normale lavoro dell'esperto?
Indicatore in una finestra separata
Compilare Indicatore --> win.ex5.
Esperto con questo indicatore nella risorsa
Compilare l'Esperto --> exp.ex5.
Esegui l'Expert Advisor, c'è una finestra dell'indicatore sul grafico.
Pubblica un file dell'Expert Advisor exp.ex5 nel Mercato (in realtà cancella il file indicatore win.ex5)
Lancia l'Expert Advisor, non c'è la finestra dell'indicatore nel grafico.
Ripristina il file cancellato win.ex5.
Ripristina l'Expert Advisor, il grafico ha la finestra dell'indicatore.
Conclusione: il codice dell'indicatore non è incluso nel codice Expert. Per il normale funzionamento dell'Expert Advisor con una risorsa Indicatore, abbiamo bisogno di un file eseguibile dell'indicatore specificato nella risorsa.
Ripeto la mia domanda:
come pubblicare nel mercato quando c'è un Expert Advisor con un indicatore personalizzato, libreria, cioè più di un file è necessario per il normale funzionamento dell'Expert Advisor?
Quante volte ti è stato dato un link alla documentazione? Tua madre non ti lascia leggere?
Leggerlo finalmente...
Quante volte ti è stato dato un link alla documentazione? Tua madre non ti permette di leggerlo?
Leggerlo finalmente...
Alexey, grazie per aver sottolineato l'errore direttamente.
Ho letto la documentazione, ma era "fuori dalla mia vista".
Chiedo scusa a tutti - mi sono sbagliato.
Ora ce l'ho.
Puoi darmi un suggerimento?
Aggiunto il calcolo del conteggio delle barre(:RatesTotal(void)) alla classe, non riesco a capire come inserirlo correttamente nella struttura. Ho qualcosa del genere. Potete per favore dirmi come renderlo più colorato.
Ora è tutto risolto.
Non l'ho fatto, non lo sapevo. Nessun problema :)
Potete dirmi come organizzare un analogo del calcolo di prev_calculated, non riesco a capirlo.