我的方法。核心是引擎。 - 页 95 1...888990919293949596979899100101102...184 新评论 Vasiliy Sokolov 2018.12.20 14:57 #941 Реter Konow:也已经整理好了工会。 我还没有完全想明白,一直到最后。 这是不对的。 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()); //----------------------------- Message = CharArrayToString(u.Char); //----------------------------- Print(Message); 对。 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)); 那么代码中的粗心是什么呢?你的收件人和发件人有不同的Char_Uint结构! Реter Konow 2018.12.20 15:15 #942 Vasiliy Sokolov:一路走来,并没有完全想通。 这是不对的。 对。 那么代码中的粗心是什么呢?你的收件人和发件人有不同的Char_Uint结构!谢谢你,瓦西里。我不知道这有什么必要。虽然我也试过结构相同的变体。 总之,输出的结果不是我想要的。以下是代码。 //+------------------------------------------------------------------+ //| 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 | //+------------------------------------------------------------------+ int OnInit() { //---------------------------------------------- if(!ObjectCreate(0,"Resource",OBJ_BITMAP_LABEL,0,0,0))Print("Object is not created! ",GetLastError()); else Print("Object created!"); //------------------------------- if(!ObjectSetString(0,"Resource",OBJPROP_BMPFILE,"::Resource"))Print("BMPFILE is not created!"); else Print("BMPFILE created!"); //---------------------------------------------- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- destroy timer } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--------------------------- 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 | //+------------------------------------------------------------------+ void OnTimer() { //--- } //+------------------------------------------------------------------+ 还有收件人。 //+------------------------------------------------------------------+ //| 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 | //+------------------------------------------------------------------+ int OnInit() { //--- indicator buffers mapping EventSetMillisecondTimer(5250); if(!ObjectSetString(0,"Resource",OBJPROP_BMPFILE,"\\Experts\\Tester EA.ex4::Resource"))Print("Resource is not connected!"); else Print("Resource connected!"); //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ 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 value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+ //| Timer function | //+------------------------------------------------------------------+ void OnTimer() { 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)); } //+------------------------------------------------------------------+ 结果。 2018.12.20 17:13:37.395 Resource reader GBPUSD,M5: 9223464270575144355.75808 但至少它不会改变。该值是恒定的。(虽然它应该随着Bid值的变化而变化)。 Vasiliy Sokolov 2018.12.20 15:23 #943 Реter Konow:但至少它不会改变。该值是恒定的。(尽管它应该改变,因为出价值改变)。这非常奇怪,因为你的例子在我的电脑上工作正常。试着既做专家,又简单地放在两个图表上。 Реter Konow 2018.12.20 15:25 #944 Vasiliy Sokolov:这非常奇怪,因为你的例子在我的电脑上工作正常。试着把这两张图做成专家,并把这两张图放在一起。好的。 Реter Konow 2018.12.20 15:28 #945 这里是第二个图表上的第二个EA的代码。其结果是一样的... //+------------------------------------------------------------------+ //| Tester EA 2.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; }; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- indicator buffers mapping if(!ObjectSetString(0,"Resource",OBJPROP_BMPFILE,"\\Experts\\Tester EA.ex4::Resource"))Print("Resource is not connected!"); else Print("Resource connected!"); //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Timer function | //+------------------------------------------------------------------+ void OnTick() { Char_Uint u; uint width,height; //----------------------------- 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)); } //+------------------------------------------------------------------+ 它不像它应该的那样工作。 Vasiliy Sokolov 2018.12.20 15:29 #946 这里是我的资料来源,以防万一,请查看。 附加的文件: Tester_EA.mq4 3 kb Tester_EA_Get.mq4 2 kb Реter Konow 2018.12.20 15:40 #947 Vasiliy Sokolov: 这是我的资料来源,以备不时之需,请查收。不,同样的事情。也许是因为EA名称中的空格?你下载时没有空格,但我有空格。我将重做它。 Vasiliy Sokolov 2018.12.20 15:43 #948 Реter Konow:不,同样的事情。也许是因为EA名称中的空格?你下载时没有空格,但我有空格。我将重做它。试试吧。使用空格是非常不可取的。摆脱这种坏习惯。 Реter Konow 2018.12.20 15:47 #949 写道。 2018.12.20 17:46:26.798 Tester_EA_2 EURCHF,H1: 0.00000 2018.12.20 17:46:34.801 Tester_EA_2 EURCHF,H1: Failed to read resource! 4100 4100 -错了!错了!错了!错了!错了!错了!错了!错了!错了!错了 Реter Konow 2018.12.20 15:55 #950 明白了。文件读取错误 - 只是忘了加一个破折号。添加了它,又得到了结果。 2018.12.20 17:55:24.590 Tester_EA_2 EURCHF,H1: 9223464270575144355.75808 1...888990919293949596979899100101102...184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
也已经整理好了工会。
我还没有完全想明白,一直到最后。
这是不对的。
对。
那么代码中的粗心是什么呢?你的收件人和发件人有不同的Char_Uint结构!
一路走来,并没有完全想通。
这是不对的。
对。
那么代码中的粗心是什么呢?你的收件人和发件人有不同的Char_Uint结构!
谢谢你,瓦西里。我不知道这有什么必要。虽然我也试过结构相同的变体。
总之,输出的结果不是我想要的。以下是代码。
还有收件人。
结果。
但至少它不会改变。该值是恒定的。(虽然它应该随着Bid值的变化而变化)。
但至少它不会改变。该值是恒定的。(尽管它应该改变,因为出价值改变)。
这非常奇怪,因为你的例子在我的电脑上工作正常。试着既做专家,又简单地放在两个图表上。
这非常奇怪,因为你的例子在我的电脑上工作正常。试着把这两张图做成专家,并把这两张图放在一起。
好的。
这里是第二个图表上的第二个EA的代码。其结果是一样的...
它不像它应该的那样工作。
这是我的资料来源,以备不时之需,请查收。
不,同样的事情。也许是因为EA名称中的空格?你下载时没有空格,但我有空格。我将重做它。
不,同样的事情。也许是因为EA名称中的空格?你下载时没有空格,但我有空格。我将重做它。
试试吧。使用空格是非常不可取的。摆脱这种坏习惯。
写道。
4100 -错了!错了!错了!错了!错了!错了!错了!错了!错了!错了
明白了。文件读取错误 - 只是忘了加一个破折号。添加了它,又得到了结果。