Discussione sull’articolo "Uso delle Risorse in MQL5" - pagina 2

[Eliminato]  
grazie.
 

L'utilizzo delle risorse nel tester dovrebbe funzionare? Non funziona. Errore 4802.

#property indicator_separate_window
#property indicator_buffers 1
#property indicator_plots   1

#resource "\\Indicators\\Examples\\ADX.EX5"
#property tester_indicator "\\Indicators\\Examples\\ADX.EX5"
//+------------------------------------------------------------------+
//||
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   int handle=iCustom(Symbol(),Period(),"::Indicators\\Examples\\ADX.EX5");
   if(handle!=INVALID_HANDLE)
     {
      ChartIndicatorAdd(0,1,handle);
     }
//---
   return(0);
  }
//+------------------------------------------------------------------+
//| Funzione di iterazione dell'indicatore personalizzata |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
  
  return(rates_total);}

	          
 
Karlson:

L'utilizzo delle risorse nel tester dovrebbe funzionare? Non funziona. Errore 4802.

Cosa si vuole fare veramente?

Sovrascrivere la funzione di calcolo OnCalculate di questo indicatore in un indicatore esterno con il proprio motore di calcolo? Non è possibile.

 
Sì. Volevo che il mio indicatore ricevesse i dati da Zigzag e li includesse come risorsa.
 

Ma per controllare l'indicatore nel tester è comunque necessaria la presenza del meccanismo di chiusura stesso.

if(MQL5InfoInteger(MQL5_TESTING)==true) // se tester, prendere dalla cartella
     {
      f_h=iCustom(_Symbol,_Period,"Examples\\Zigzag",5,5,3);
     }
   else                                 // se nel grafico si utilizza il metodo incorporato
     {
      f_h=iCustom(_Symbol,_Period,"::Indicators\\Examples\\Zigzag.EX5",5,5,3);
     }

Un'altra opzione è quella di incorporare completamente il blocco di sicurezza.

 

Forum sul trading, sui sistemi di trading automatizzati e sulla verifica delle strategie di trading

Discussione dell'articolo "Utilizzo delle risorse in MQL5".

Renat, 2013.01.16 22:21

Questo è stato aggiunto nella build 730 del 24 novembre 2012:

  • MQL5: Aggiunto il supporto per la memorizzazione degli indicatori nelle risorse EX5. Gli indicatori nelle risorse non potranno lavorare con le proprie risorse.
Potreste dirmi come creare un oggetto grafico di tipo OBJ_BITMAP_LABEL in un indicatore caricato da risorse e sovrapporvi il testo di TextOut?
Possiamo fare un'eccezione solo per TextOut - la capacità di lavorare con le proprie risorse dei programmi caricati da risorse?
 
fyords:
Potreste dirmi come è possibile creare un oggetto grafico di tipo OBJ_BITMAP_LABEL nell'indicatore caricato da risorse e sovrapporvi il testo di TextOut?
Solo per TextOut è possibile fare un'eccezione - la possibilità di lavorare con le proprie risorse di programmi caricati da risorse?
E qual è esattamente il problema? Cosa non funziona esattamente?
 
Renat:
Dov'è esattamente il problema? Cosa non funziona esattamente?

C'è un indicatore, da cui viene lanciato quello figlio, dalle risorse.
TextOut viene utilizzato in quello figlio, e il risultato viene caricato in OBJ_BITMAP_LABEL tramite ResourceCreate, ma non c'è la possibilità di utilizzare le risorse nella risorsa.

Il risultato è che l'oggetto appare, la risorsa è specificata nelle proprietà, ma il testo stesso non viene emesso.

 
fyords:

Esiste un indicatore, da cui viene lanciato un figlio, a partire dalle risorse.
TextOut viene utilizzato nel figlio e il risultato viene caricato in OBJ_BITMAP_LABEL tramite ResourceCreate, ma non esiste la possibilità di utilizzare le risorse nella risorsa.

Il risultato è che l'oggetto appare, la risorsa è specificata nelle proprietà, ma il testo stesso non viene emesso.

Sì, attualmente è impossibile caricare risorse da un oggetto risorsa.

In effetti, la situazione è questa: l'indicatore "estratto" da una risorsa di terze parti inizia a vivere all'interno del modulo chiamato e tutte le sue chiamate alle risorse vanno al corpo del modulo chiamato, non al corpo nativo. Stiamo riflettendo su questo problema e molto probabilmente lo risolveremo.

 
Renat:

... Stiamo pensando a questo problema e probabilmente lo risolveremo.

Grazie, vi aspetto.