Mein Ansatz. Der Kern ist der Motor. - Seite 93

 

Kurzum, es war nicht möglich, den Inhalt der Ressource in der normalen Grafik zu lesen.

Vielleicht habe ich etwas falsch gemacht...

Zunächst erstellen wir einen EA für den Tester. Erstellen Sie darin ein Objekt und binden Sie es an die Datei:

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);
  }

Dann schreiben wir den folgenden Code in die Funktion 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!");
   //---------------------------
  }


Erstellen Sie dann einen Indikator mit der Timer-Funktion und schreiben Sie in diesen:

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

Führen Sie den Expert Advisor im Strategietester und anschließend den Indikator im regulären Chart aus.

И... liest nichts. Er sagt, dass die Ressource nicht gelesen werden konnte.

 

Also, was ist los?

der Fehler -

ERR_RESOURCE_NOT_FOUND

 
fxsaber:

Ich bin aus der Diskussion ausgestiegen.

Ich bin nicht beleidigt. Nichts Persönliches. Der Artikel hilft mir nur nicht, etwas zu verstehen. Die Lösung ist zu kompliziert.

Bitte sagen Sie mir, warum das Lesen der Ressource, die vom Expert Advisor im Strategy Tester erstellt wurde, durch den Indikator auf einem gemeinsamen Chart nicht funktioniert?

Habe ich einen Fehler im Code gemacht, oder funktioniert es einfach nicht?

 

Kurzum, die Frage bleibt offen. Wer weiß, was es ist - jetzt wäre ein guter Zeitpunkt, meine Entscheidung zu kritisieren).

Ich werde jede Kritik annehmen. Sie müssen nur verstehen, ob mein Fehler, oder nicht funktioniert Sichtbarkeit der Ressource in der Tester erstellt.

Dann wird sich zeigen, ob die Ressource eine universelle Lösung für die Übertragung von Informationen zwischen Programmen sein kann.

Ich denke, diese Informationen werden für alle nützlich sein.

 

Es ist wieder nicht klar.

Installierter Indikator und EA auf demselben Chart. Der Indikator sieht die Ressource immer noch nicht.

Platziert Lesen der Ressource in der Expert Advisor selbst, direkt nach dem es füllt. Die Ressource ist sichtbar.

Es stellt sich heraus, dass die Ressource nur für das Programm sichtbar ist, in dem sie definiert ist.

Oder sie ist nicht nur über den Indikator sichtbar.

Ich werde nun prüfen, ob die Ressource für den Expert Advisor auf dem anderen Chart sichtbar ist.

 
Реter Konow:

...

Jetzt werde ich überprüfen, ob der EA die Ressource auf dem anderen Chart sieht.

Nein, er sieht die Ressource auch nicht.

Und wo sind all die Gurus hin verschwunden....

Offensichtlich mache ich einen Fehler. Aber in welchem...

Oder funktioniert es vielleicht gar nicht?


Übrigens, warum verwendet fxsaber den Chart-Beschreibungsstring, um eine Nachricht an ein anderes Programm zu senden, wenn die Ressourcen als perfektes Kommunikationstool funktionieren?

 
Ich werde versuchen, die Ressource in einer Datei zu speichern, nachdem sie erstellt worden ist.
 
Реter Konow:
Ich werde versuchen, die Ressource in der Datei zu speichern, sobald sie erstellt ist.

Schöner Monolog)

 
Vitaly Muzichenko:

Schöner Monolog)

Wissen Sie, worum es hier geht?

 
Ich habe nachgedacht. Es gibt eine Möglichkeit, die Ressourcen anderer Programme zu nutzen. Die Lösung liegt wahrscheinlich dort drin. Ich werde in der Dokumentation nachsehen.
Grund der Beschwerde: