Und was ist die Nachlässigkeit im Code? Sie haben unterschiedliche Char_Uint-Strukturen für den Empfänger und den Absender!
Vielen Dank, Vasily. Ich wusste nicht, dass das notwendig ist. Allerdings habe ich auch die Variante ausprobiert, bei der die Strukturen identisch sind.
Wie auch immer, das Ergebnis ist nicht das, was ich will. Hier ist der Code:
//+------------------------------------------------------------------+//| Tester EA.mq4 |//| Peter Konow |//| https://www.mql5.com |//+------------------------------------------------------------------+#property copyright"Peter Konow"#property link"https://www.mql5.com"#property version"1.00"#property strict//+------------------------------------------------------------------+union Char_Uint
{
uchar Char[8];
uint Uint[2];
double Double;
};
//+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+intOnInit()
{
//----------------------------------------------if(!ObjectCreate(0,"Resource",OBJ_BITMAP_LABEL,0,0,0))Print("Object is not created! ",GetLastError());
elsePrint("Object created!");
//-------------------------------if(!ObjectSetString(0,"Resource",OBJPROP_BMPFILE,"::Resource"))Print("BMPFILE is not created!");
elsePrint("BMPFILE created!");
//----------------------------------------------return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| Expert deinitialization function |//+------------------------------------------------------------------+voidOnDeinit(constint reason)
{
//--- destroy timer
}
//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+voidOnTick()
{
//---------------------------
Char_Uint u;
//---------------------------
u.Double = Bid;
//---------------------------if(!ResourceCreate("::Resource",u.Uint,2,1,0,0,0,COLOR_FORMAT_XRGB_NOALPHA))Print("Resource is not created!");
//---------------------------
}
//+------------------------------------------------------------------+//| Timer function |//+------------------------------------------------------------------+voidOnTimer()
{
//---
}
//+------------------------------------------------------------------+
Und der Empfänger:
//+------------------------------------------------------------------+//| Resource reader.mq4 |//| Peter Konow |//| https://www.mql5.com |//+------------------------------------------------------------------+#property copyright"Peter Konow"#property link"https://www.mql5.com"#property version"1.00"#property strict#property indicator_chart_window//+------------------------------------------------------------------+union Char_Uint
{
uchar Char[8];
uint Uint[2];
double Double;
};
//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+intOnInit()
{
//--- indicator buffers mappingEventSetMillisecondTimer(5250);
if(!ObjectSetString(0,"Resource",OBJPROP_BMPFILE,"\\Experts\\Tester EA.ex4::Resource"))Print("Resource is not connected!");
elsePrint("Resource connected!");
//---return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| Custom indicator iteration function |//+------------------------------------------------------------------+intOnCalculate(constint rates_total,
constint prev_calculated,
constdatetime &time[],
constdouble &open[],
constdouble &high[],
constdouble &low[],
constdouble &close[],
constlong &tick_volume[],
constlong &volume[],
constint &spread[])
{
//---//--- return value of prev_calculated for next callreturn(rates_total);
}
//+------------------------------------------------------------------+//| Timer function |//+------------------------------------------------------------------+voidOnTimer()
{
Char_Uint u;
uint width,height;
string Message;
//-----------------------------if(!ResourceReadImage("\\Experts\\Tester EA.ex4::Resource",u.Uint,width,height))Print("Failed to read resource! ",GetLastError());
//-----------------------------double bid = u.Double;
//-----------------------------Print(DoubleToString(bid,5));
}
//+------------------------------------------------------------------+
Aber zumindest ändert sich das nicht. Der Wert ist konstant. (obwohl er sich ändern sollte, wenn sich der Gebotswert ändert).
Das ist sehr seltsam, weil Ihr Beispiel auf meinem Computer korrekt funktioniert. Versuchen Sie, beide zu Experten zu machen und einfach auf die beiden Karten zu setzen.
Das ist sehr merkwürdig, denn Ihr Beispiel funktioniert auf meinem Computer korrekt. Versuchen Sie beides, um Experten zu machen und platzieren Sie nur die beiden Karten.
Vasiliy Sokolov: Hier sind meine Quellen für alle Fälle, überprüfen Sie sie:
Nein. Das ist das Gleiche. Vielleicht liegt es an den Leerzeichen in den EA-Namen? Sie haben sie ohne Leerzeichen heruntergeladen, aber ich habe Leerzeichen. Ich werde es neu machen.
Nein. Das ist das Gleiche. Vielleicht liegt es an den Leerzeichen in den EA-Namen? Sie haben sie ohne Leerzeichen heruntergeladen, aber ich habe Leerzeichen. Ich werde es neu machen.
Versuchen Sie es. Die Verwendung von Leerzeichen ist höchst unerwünscht. Befreien Sie sich von dieser schlechten Angewohnheit.
Auch die Gewerkschaften sind bereits erledigt.
Ich habe es noch nicht bis zum Ende durchschaut.
Das ist nicht richtig:
Richtig:
Und was ist die Nachlässigkeit im Code? Sie haben unterschiedliche Char_Uint-Strukturen für Empfänger und Absender!
Es ist nicht ganz bis zum Ende durchdacht.
Das ist nicht richtig:
Richtig:
Und was ist die Nachlässigkeit im Code? Sie haben unterschiedliche Char_Uint-Strukturen für den Empfänger und den Absender!
Vielen Dank, Vasily. Ich wusste nicht, dass das notwendig ist. Allerdings habe ich auch die Variante ausprobiert, bei der die Strukturen identisch sind.
Wie auch immer, das Ergebnis ist nicht das, was ich will. Hier ist der Code:
Und der Empfänger:
Ergebnis:
Aber zumindest ändert sich das nicht. Der Wert ist konstant. (obwohl er sich ändern sollte, wenn sich der Gebotswert ändert).
Aber zumindest ändert sich das nicht. Der Wert ist konstant. (obwohl er sich ändern sollte, wenn sich der Gebotswert ändert).
Das ist sehr seltsam, weil Ihr Beispiel auf meinem Computer korrekt funktioniert. Versuchen Sie, beide zu Experten zu machen und einfach auf die beiden Karten zu setzen.
Das ist sehr merkwürdig, denn Ihr Beispiel funktioniert auf meinem Computer korrekt. Versuchen Sie beides, um Experten zu machen und platzieren Sie nur die beiden Karten.
Gut.
Hier ist der Code des zweiten EA auf dem zweiten Diagramm. Das Ergebnis ist das gleiche...
Es funktioniert nicht so, wie es sollte.
Hier sind meine Quellen für alle Fälle, überprüfen Sie sie:
Nein. Das ist das Gleiche. Vielleicht liegt es an den Leerzeichen in den EA-Namen? Sie haben sie ohne Leerzeichen heruntergeladen, aber ich habe Leerzeichen. Ich werde es neu machen.
Nein. Das ist das Gleiche. Vielleicht liegt es an den Leerzeichen in den EA-Namen? Sie haben sie ohne Leerzeichen heruntergeladen, aber ich habe Leerzeichen. Ich werde es neu machen.
Versuchen Sie es. Die Verwendung von Leerzeichen ist höchst unerwünscht. Befreien Sie sich von dieser schlechten Angewohnheit.
Er schreibt:
4100 -ERR_SOME_FILE_ERROR
Ich hab's. Fehler beim Lesen der Datei - ich habe nur vergessen, einen Bindestrich hinzuzufügen. Ich fügte es hinzu und kam zum Ergebnis zurück: