错误、漏洞、问题 - 页 2457 1...245024512452245324542455245624572458245924602461246224632464...3184 新评论 fxsaber 2019.05.09 06:03 #24561 市场上是否有人在升级他们的产品时,附加(通过资源)上一个版本的EX5,以便用户在出现错误时总是可以选择回滚? Vladimir Pastushak 2019.05.09 08:44 #24562 fxsaber: 在市场上是否有人在升级他们的产品时,(通过资源)将以前版本的EX5放入其中,以便用户在出现错误时总是有可能回滚?这可以在没有资源的情况下进行... 问题是,新版本可能有不同的设置... 把其他设置拿出来已经是一个问题了...... fxsaber 2019.05.09 09:21 #24563 Vladimir Pastushak:这可以在没有资源的情况下进行... 问题是,新版本可能有不同的设置... 把其他设置拿出来已经是一个问题了......我不认为这有什么问题。 Zakhar Chumak 2019.05.09 11:29 #24564 当从一个活动的VPS请求日志时,显示错误 "Failed to get terminal logs"。 谁知道可能是什么问题呢?同时,VPS上的EA 也在工作(打开/关闭交易),但我无法加载日志。 fxsaber 2019.05.09 11:39 #24565 fxsaber:我不认为这有什么问题。现在我才意识到,以前版本的EX5必须要有保护机制。 而通过以前的版本EX5的资源就可以在没有保护的情况下进行传输,这是不合适的。 Uladzimir Izerski 2019.05.09 12:51 #24566 我正在写一个关于5的指标。 我不能让它从图表的输入字段 中更新平均值的周期。 在4上,这个设计可以工作。 有什么问题吗?inite中的字段通过OnChartEvent 被更新,但周期没有被更新。我不能以任何方式改变它。 我在此附上一个简单的工作实例。 //+------------------------------------------------------------------+ //| Probe_2.mq5 | //| Copyright 2018, MetaQuotes Software Corp. | //| https://mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2018, MetaQuotes Software Corp." #property link "https://mql5.com" #property description "The MA " #property version "1.00" #property indicator_chart_window #property indicator_buffers 1 #property indicator_plots 1 //--- plot MA1 #property indicator_label1 "MA 1" #property indicator_type1 DRAW_LINE #property indicator_color1 clrDarkOrange #property indicator_style1 STYLE_SOLID #property indicator_width1 1 //--- input parameters extern int PBB=10; // период МА //--- indicator buffers double BufferMA1[]; //--- global variables int period_ma1; int period_max; int handle_ma1; string sn,sPBB; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { sPBB=IntegerToString(PBB); if(ObjectFind(0,"P2edit")!=0) { ObjectCreate(0,"P2edit",OBJ_EDIT,0,0,0); ObjectSetInteger(0,"P2edit",OBJPROP_XDISTANCE,300); ObjectSetInteger(0,"P2edit",OBJPROP_YDISTANCE,1); ObjectSetInteger(0,"P2edit",OBJPROP_XSIZE,70); ObjectSetInteger(0,"P2edit",OBJPROP_YSIZE,40); ObjectSetInteger(0,"P2edit",OBJPROP_SELECTABLE,false); ObjectSetInteger(0,"P2edit",OBJPROP_BGCOLOR,clrBlack); ObjectSetString (0,"P2edit",OBJPROP_TEXT,sPBB); ObjectSetInteger(0,"P2edit",OBJPROP_FONTSIZE,16); ObjectSetInteger(0,"P2edit",OBJPROP_COLOR,clrGray); ObjectSetInteger(0,"P2edit",OBJPROP_ALIGN,ALIGN_CENTER); ObjectSetInteger(0,"P2edit",OBJPROP_READONLY,false); } //--- set global variables period_ma1=int(PBB<1 ? 1 : PBB); //--- indicator buffers mapping SetIndexBuffer(0,BufferMA1,INDICATOR_DATA); ArraySetAsSeries(BufferMA1,true); IndicatorSetInteger(INDICATOR_DIGITS,Digits()); //--- create handle ResetLastError(); Comment("Должна соответствовать зеленой, а равна= ",PBB); handle_ma1=iMA(NULL,PERIOD_CURRENT,period_ma1,0,1,PRICE_CLOSE); if(handle_ma1==INVALID_HANDLE) { Print("The iMA(",(string)period_ma1,") object was not created: Error ",GetLastError()); return INIT_FAILED; } return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| | //| | //+------------------------------------------------------------------+ void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam) { if(id==CHARTEVENT_OBJECT_ENDEDIT) { string obj_name=sparam; if(!StringCompare(obj_name,"P2edit")) { string novPBB=NULL; if(ObjectGetString(0,obj_name,OBJPROP_TEXT,0,novPBB)) { if(StringCompare(novPBB,sPBB,false)) { PBB= (int)StringToInteger(novPBB); ObjectSetInteger(0,"P2edit",OBJPROP_BGCOLOR,clrBlack); ObjectSetInteger(0,"P2edit",OBJPROP_COLOR,clrLime); } } Print("B OnChartEvent PBB=",PBB); ChartSetSymbolPeriod(0,_Symbol,_Period); } } return; } //+------------------------------------------------------------------+ //| 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[]) { // Пробовал от сюда запускать. // sPBB=IntegerToString(PBB); // if(ObjectFind(0,"P2edit")!=0) // { // ObjectCreate(0,"P2edit",OBJ_EDIT,0,0,0); // ObjectSetInteger(0,"P2edit",OBJPROP_XDISTANCE,300); // ObjectSetInteger(0,"P2edit",OBJPROP_YDISTANCE,1); // ObjectSetInteger(0,"P2edit",OBJPROP_XSIZE,70); // ObjectSetInteger(0,"P2edit",OBJPROP_YSIZE,40); // ObjectSetInteger(0,"P2edit",OBJPROP_SELECTABLE,false); // ObjectSetInteger(0,"P2edit",OBJPROP_BGCOLOR,clrBlack); // ObjectSetString (0,"P2edit",OBJPROP_TEXT,sPBB); // ObjectSetInteger(0,"P2edit",OBJPROP_FONTSIZE,16); // ObjectSetInteger(0,"P2edit",OBJPROP_COLOR,clrGray); // ObjectSetInteger(0,"P2edit",OBJPROP_ALIGN,ALIGN_CENTER); // ObjectSetInteger(0,"P2edit",OBJPROP_READONLY,false); // } // // if(PBB==0) PBB=(int)StringToInteger(sPBB); // // if(PBB<5) period_ma1=5; else period_ma1=PBB; // if(PBB>300) period_ma1=300; else period_ma1=PBB; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ ArraySetAsSeries(close,true);//--- Установка массивов буферов как таймсерий //--- Проверка количества доступных баров if(rates_total<fmax(period_max,4)) return 0; //--- Проверка и расчёт количества просчитываемых баров int limit=rates_total-prev_calculated; if(limit>1) { limit=rates_total-2; ArrayInitialize(BufferMA1,EMPTY_VALUE); } //--- Подготовка данных int count=(limit>0 ? rates_total : 1),copied=0; copied=CopyBuffer(handle_ma1,0,0,count,BufferMA1); if(copied!=count) return 0; //Comment("ошибка = "); //--- возвращаемое значение prev_calculated для следующего вызова return(rates_total); } //+------------------------------------------------------------------+ //| deinit | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { int i; int obj_total=ObjectsTotal(0,0,-1); for(i=obj_total-1;i>=0;i--) { sn=ObjectName(0,i,0,-1); if(ObjectFind(0,sn)==0) { if (StringFind(sn,"P2edit",0)==0) ObjectDelete(0,sn); } } Comment(""); return; } Slava 2019.05.09 14:05 #24567 Zakhar Chumak:当从一个活动的VPS请求日志时,显示错误 "Failed to get terminal logs"。 谁知道可能是什么问题呢?同时,VPS上的EA 也在工作(打开/关闭交易),但我无法加载日志。看起来,到临时文件夹的路径太长了。 归档的日志首先被读入系统临时文件夹中的一个临时文件(扩展名为tmp)。发生了一个临时文件名形成错误 Vladimir Pastushak 2019.05.09 15:07 #24568 我是否正确地认为,在通过之后,代理人睡觉并等待其余忙碌的代理人完成其工作? Uladzimir Izerski 2019.05.10 08:54 #24569 什么? 没有人可以回答我的问题#24566? 有意思的是。有了这个变体,OnCalculate 就可以工作了。但这个变体并不奏效。 int OnCalculate(const int rates_total, const int prev_calculated, const int begin, const double &price[]) Vladimir Pastushak 2019.05.10 09:58 #24570 Uladzimir Izerski:什么? 没有人可以回答我的问题#24566? 有意思的是。有了这个变体,OnCalculate 就可以工作了。但这个变体并不奏效。 当你改变时间表/周期时,无论你在输入栏中指定什么值,PBB都会得到一个10的值。 在重新初始化的时刻,它的发生就像第一次运行一样。 有两种方法可以解决你的问题 1 - 将PBB值存储在全局变量中,并从那里获得周期。 2 - 当OnChartEvent触发时,重新初始化MA指标并获得新的处理... 1...245024512452245324542455245624572458245924602461246224632464...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
在市场上是否有人在升级他们的产品时,(通过资源)将以前版本的EX5放入其中,以便用户在出现错误时总是有可能回滚?
这可以在没有资源的情况下进行...
问题是,新版本可能有不同的设置...
把其他设置拿出来已经是一个问题了......
这可以在没有资源的情况下进行...
问题是,新版本可能有不同的设置...
把其他设置拿出来已经是一个问题了......
我不认为这有什么问题。
当从一个活动的VPS请求日志时,显示错误 "Failed to get terminal logs"。
谁知道可能是什么问题呢?同时,VPS上的EA 也在工作(打开/关闭交易),但我无法加载日志。
我不认为这有什么问题。
现在我才意识到,以前版本的EX5必须要有保护机制。
而通过以前的版本EX5的资源就可以在没有保护的情况下进行传输,这是不合适的。
我正在写一个关于5的指标。
我不能让它从图表的输入字段 中更新平均值的周期。 在4上,这个设计可以工作。
有什么问题吗?inite中的字段通过OnChartEvent 被更新,但周期没有被更新。我不能以任何方式改变它。
我在此附上一个简单的工作实例。
当从一个活动的VPS请求日志时,显示错误 "Failed to get terminal logs"。
谁知道可能是什么问题呢?同时,VPS上的EA 也在工作(打开/关闭交易),但我无法加载日志。
看起来,到临时文件夹的路径太长了。
归档的日志首先被读入系统临时文件夹中的一个临时文件(扩展名为tmp)。发生了一个临时文件名形成错误
我是否正确地认为,在通过之后,代理人睡觉并等待其余忙碌的代理人完成其工作?
什么?
没有人可以回答我的问题#24566?
有意思的是。有了这个变体,OnCalculate 就可以工作了。但这个变体并不奏效。
什么?
没有人可以回答我的问题#24566?
有意思的是。有了这个变体,OnCalculate 就可以工作了。但这个变体并不奏效。
当你改变时间表/周期时,无论你在输入栏中指定什么值,PBB都会得到一个10的值。
在重新初始化的时刻,它的发生就像第一次运行一样。
有两种方法可以解决你的问题
1 - 将PBB值存储在全局变量中,并从那里获得周期。
2 - 当OnChartEvent触发时,重新初始化MA指标并获得新的处理...