Il mio approccio. Il nucleo è il motore. - pagina 93

 

In breve, non era possibile leggere il contenuto della risorsa sul grafico normale.

Forse ho fatto qualcosa di sbagliato...

Per prima cosa, creiamo un EA per il tester. In esso, create un oggetto e legatelo al file:

int OnInit()
  {
   //----------------------------------------------
   if(!ObjectCreate(0,"Resource",OBJ_BITMAP_LABEL,0,0,0))Print("Object is not created!");
   else Print("Object created!");
   //-------------------------------
   if(!ObjectSetString(0,"Resource",OBJPROP_BMPFILE,"::Resource"))Print("BMPFILE is not created!");
   else Print("BMPFILE created!");
   //----------------------------------------------
   return(INIT_SUCCEEDED);
  }

Poi scriviamo il seguente codice nella funzione OnTick():

void OnTick()
  {
   uchar Arr[];
   uint  Data[];
   //---------------------------
   string price = (string)Bid;
   //---------------------------
   int width = StringToCharArray(price,Arr);
   //---------------------------
   ArrayResize(Data,width);
   //---------------------------
   ArrayCopy(Arr,Data);
   //---------------------------
   if(!ResourceCreate("::Resource",Data,width,1,0,0,0,COLOR_FORMAT_XRGB_NOALPHA))Print("Resource is not created!");
   //---------------------------
  }


Poi create un indicatore con la funzione timer e scriveteci dentro:

void OnTimer()
  {
//---
   uint Data[],width,height;
   //-----------------------------
   if(!ResourceReadImage("::Resource",Data,width,height))Print("Failed to read resource!");
   else Print("Resource is readable!");
   //-----------------------------
   
  }

Esegui l'Expert Advisor nello Strategy Tester e poi l'indicatore sul grafico normale.

И... non legge nulla. Dice che non ha potuto leggere la risorsa.

 

Allora, cosa c'è che non va?

l'errore -

ERRARE_RISORSA_NON_TROVATA

 
fxsaber:

Sono uscito dalla discussione.

Senza offesa. Niente di personale. È che l'articolo non mi aiuta a capire niente, la soluzione è troppo complicata.

Per favore, ditemi perché la lettura della risorsa creata dall'Expert Advisor nello Strategy Tester da parte dell'indicatore su un grafico comune non funziona?

Ho fatto un errore nel codice o semplicemente non funziona?

 

In breve, la questione rimane aperta. Chissà cos'è - ora sarebbe un buon momento per criticare la mia decisione).

Accetterò qualsiasi critica. Hai solo bisogno di capire se il mio errore, o non lavorando visibilità della risorsa creata nel tester.

Poi sarà chiaro se la risorsa può essere una soluzione universale per il trasferimento di informazioni tra programmi.

Penso che queste informazioni saranno utili a tutti.

 

Non è più chiaro.

Installato indicatore e EA sullo stesso grafico. L'indicatore continua a non vedere la risorsa.

Messo a leggere la risorsa nell'Expert Advisor stesso, subito dopo il suo riempimento. La risorsa è visibile.

Si scopre che la risorsa è visibile solo al programma in cui è definita.

Oppure, non è visibile solo dall'indicatore.

Ora controllerò se la risorsa è visibile all'Expert Advisor sull'altro grafico.

 
Реter Konow:

...

Ora controllerò se l'EA vede la risorsa sull'altro grafico.

No, non vede nemmeno la risorsa.

E dove sono spariti tutti i guru....

Ovviamente sto facendo un errore. Ma in cosa...

O forse non funziona affatto?


ZS. A proposito, perché fxsaber usa una stringa di descrizione del grafico per inviare un messaggio a un altro programma se le risorse funzionano come un perfetto strumento di comunicazione?

 
Cercherò di salvare la risorsa in un file dopo la sua creazione.
 
Реter Konow:
Cercherò di tenere la risorsa in archivio, una volta creata.

Bellissimo monologo)

 
Vitaly Muzichenko:

Bellissimo monologo)

Sapete di cosa si tratta?

 
Stavo pensando. C'è un modo per utilizzare le risorse di altri programmi. La soluzione è probabilmente lì dentro. Guarderò nella documentazione.
Motivazione: