初学者的问题 MQL5 MT5 MetaTrader 5 - 页 1042 1...103510361037103810391040104110421043104410451046104710481049...1503 新评论 Roman Sharanov 2019.05.10 15:28 #10411 Vladimir Karputov:没有任何MQL5函数会给出鼠标坐标。但你可以使用以下解决方案:根据附件文件--在OnChartEvent中加入保存最后的鼠标坐标,然后,当点击时,输出这些坐标。明白了,谢谢 Roman Sharanov 2019.05.10 15:32 #10412 ebjects也有一些令人困惑的问题。 有一个类可以根据输入参数创建一个标签和一个矩形。 有一种状态--通过矩形的颜色开启/关闭。 //+------------------------------------------------------------------+ //| CreateLabels.mqh | //| Copyright 2019, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2019, MetaQuotes Software Corp." #property link "https://www.mql5.com" class CreateKeyStateLabel{ private: string label_text; int x; int y; bool _state; public: CreateKeyStateLabel(string label_text, int x, int y){ this.label_text = label_text; this.x = x; this.y = y; _state = false; ObjectCreate(0,label_text+"_icon", OBJ_RECTANGLE_LABEL, 0, 1, 1); ObjectSetInteger(0,label_text+"_icon", OBJPROP_XDISTANCE, x); ObjectSetInteger(0,label_text+"_icon", OBJPROP_YDISTANCE, y); ObjectSetInteger(0,label_text+"_icon", OBJPROP_XSIZE, 15); ObjectSetInteger(0,label_text+"_icon", OBJPROP_YSIZE, 15); ObjectSetInteger(0,label_text+"_icon", OBJPROP_BGCOLOR, clrDarkGray); ObjectCreate(0,label_text+"_label",OBJ_LABEL,0,1,1); ObjectSetInteger(0,label_text+"_label", OBJPROP_XDISTANCE, x+17); ObjectSetInteger(0,label_text+"_label", OBJPROP_YDISTANCE, y); ObjectSetInteger(0,label_text+"_label", OBJPROP_COLOR, clrBlack); ObjectSetString(0,label_text+"_label", OBJPROP_TEXT, label_text); } ~CreateKeyStateLabel(){ ObjectDelete(0,label_text+"_icon"); ObjectDelete(0,label_text+"_label"); } void invert(){ if(_state){ _state = false; ObjectSetInteger(0,label_text+"_icon", OBJPROP_BGCOLOR, clrDarkGray); }else{ _state = true; ObjectSetInteger(0,label_text+"_icon", OBJPROP_BGCOLOR, clrDarkGreen); } } bool state(){ return _state; } }; 然后我创建这些对象,在按下一个键时发出一个事件,这将切换状态。前几次还能用--后来就不理会按键了,我做错了什么? //+------------------------------------------------------------------+ //| Events.mq5 | //| Copyright 2019, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2019, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #include <CreateLabels.mqh> #define X_DIST 10 #define Y_DIST 20 CreateKeyStateLabel *tilda = new CreateKeyStateLabel("Tilda",X_DIST,Y_DIST); //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- delete tilda; } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- } //+------------------------------------------------------------------+ void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam){ switch(id){ case CHARTEVENT_KEYDOWN:{ if(lparam == "38") tilda.invert(); break; } } } 在这里,我看到它每隔一段时间就会起作用,我怎样才能使它在每次点击切换时都清楚地起作用? Alekseu Fedotov 2019.05.10 17:45 #10413 Vladimir Karputov:没有任何MQL5函数会给出鼠标坐标。但你可以使用以下解决方案:根据附件文件,在OnChartEvent中添加保存鼠标的最后坐标,然后,当你点击按钮时,输出这些坐标。就这样 //--------------------------------------- if(id==CHARTEVENT_MOUSE_MOVE) { ChartXYToTimePrice(0,int(lparam),int(dparam),window,time,price); Comment("price = ",DoubleToString(price,5)," time = ",TimeToString(time,TIME_DATE|TIME_MINUTES)); } //--------------------------------------- Good Beer 2019.05.11 13:16 #10414 达诺在MT-5中已经为测试者提供了tick历史,但高烛光仍按投标价格计算。对MT-4来说,在卖出价上设置高位数并以这种方式画出蜡烛图是一个很好的优势。即使在5分钟内,差价也约为1个APR,甚至是1.5个APR!而且,在专家顾问代码中为所有的涨价添加一个价差,这是多么痛苦的事情啊!这是一个改进的建议,但这里有一个问题:在MqlRates结构 中有一个变量高。以什么价格填补。在我看来,它并不像手册中写的那样处于最高价格。也许有人知道,我太懒了,懒得写个EA来研究。 [删除] 2019.05.12 08:04 #10415 亲爱的先生们,这是什么情况,在哪里可以找到错误?2019.05.12 11:01:09.743 Core 6 genetic pass (52, 487) tested with error "some error after pass finished" in 0:00:00.005 这是否与TesterStop()有关?虽然没有,但错误是在传球之后... BrabusRocket 2019.05.12 16:34 #10416 你好。 请您告诉我们,是否有可能在不使用任何第三方服务的情况下,只使用MQL5+Telegram API,编写一个带有通知Telegram(机器人)的MQL5指标? 或者我需要为此写一个专家顾问?我问这个问题,我试图为MT4写一个这样的EA,结果不知为何只能用专家顾问。 而第二个问题。 写一个指标/顾问,对我需要的某种模式发出信号有多难? 例如,两个看跌的蜡烛图之后是三个看涨的蜡烛图? 我的理解是这样的(大概)。 收盘价<开盘价=看跌的蜡烛 收盘价>开盘价=看涨的蜡烛图 如果我不能自己做,我可能会为了钱而订购)) 谢谢您的关注! Roman Sharanov 2019.05.14 17:58 #10417 是否有可能从第三方程序将代码编译成ex?我正在用Java创建某种机器人构造函数,我希望用户能得到编译后的代码,而不是访问源代码。 Aleksey Lebedev 2019.05.17 07:42 #10418 Roman Sharanov:是否有可能从第三方程序将代码编译成ex?我正在用Java创建某种机器人构造函数,我希望用户不能访问源代码,但可以得到编译后的代码。 是的,见MetaEditor的帮助:欢迎来到艾美达/与其他IDE整合/ 在其他IDE中编译MQL程序 Vladimir M. 2019.05.17 13:20 #10419 有谁知道吗?我正在努力将数据从Excel电子表格转移到MQL5脚本。一切看起来都很好,但EXcel的小数数据是用逗号而不是点。 问题:在MQL中是否有一种机制可以让脚本从Excel中获取数据并将其改为小数点,或者最好是在Excel本身中将其改为小数点? 如何从Excel中获取我需要的单元格中的数据,因为我需要将它们排成一列,编写宏,等等。在这些数据中,既有日期,也有整数和小数。这个Excel太不方便了,或者说我还不习惯......。 我很乐意听取任何建议... Alexey Viktorov 2019.05.17 13:48 #10420 Vladimir M.:有谁知道吗?我正在努力将数据从Excel电子表格转移到MQL5脚本。一切看起来都很好,但EXcel的小数数据是用逗号而不是点。 问题:在MQL中是否有一种机制可以让脚本从Excel中获取数据并将其改为小数点,或者最好是在Excel本身中将其改为小数点? 如何从Excel中获取我需要的单元格中的数据,因为我需要将它们排成一列,编写宏,等等。在这些数据中,既有日期,也有整数和小数。这个Excel太不方便了,或者说我还不习惯......。 我很乐意听取任何建议...MQL在字符串中具有一个字符替换功能。读取为字符串 int StringReplace( string& str, // строка, в которой будет осуществляться замена const string find, // искомая подстрока НАЙТИ ЗАПЯТУЮ "," const string replacement // подстрока, которая будет вставлена в найденные места ЗАМЕНИТЬ НА ТОЧКУ "." ); 并将其转换为双倍类型 Документация по MQL5: Строковые функции / StringReplace www.mql5.com Строковые функции / StringReplace - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 1...103510361037103810391040104110421043104410451046104710481049...1503 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
没有任何MQL5函数会给出鼠标坐标。但你可以使用以下解决方案:根据附件文件--在OnChartEvent中加入保存最后的鼠标坐标,然后,当点击时,输出这些坐标。
明白了,谢谢
ebjects也有一些令人困惑的问题。
有一个类可以根据输入参数创建一个标签和一个矩形。
有一种状态--通过矩形的颜色开启/关闭。
然后我创建这些对象,在按下一个键时发出一个事件,这将切换状态。
前几次还能用--后来就不理会按键了,我做错了什么?
在这里,我看到它每隔一段时间就会起作用,我怎样才能使它在每次点击切换时都清楚地起作用?
没有任何MQL5函数会给出鼠标坐标。但你可以使用以下解决方案:根据附件文件,在OnChartEvent中添加保存鼠标的最后坐标,然后,当你点击按钮时,输出这些坐标。
就这样
亲爱的先生们,这是什么情况,在哪里可以找到错误?
这是否与TesterStop()有关?虽然没有,但错误是在传球之后...你好。
请您告诉我们,是否有可能在不使用任何第三方服务的情况下,只使用MQL5+Telegram API,编写一个带有通知Telegram(机器人)的MQL5指标?
或者我需要为此写一个专家顾问?我问这个问题,我试图为MT4写一个这样的EA,结果不知为何只能用专家顾问。
而第二个问题。
写一个指标/顾问,对我需要的某种模式发出信号有多难?
例如,两个看跌的蜡烛图之后是三个看涨的蜡烛图?
我的理解是这样的(大概)。
收盘价<开盘价=看跌的蜡烛
收盘价>开盘价=看涨的蜡烛图
如果我不能自己做,我可能会为了钱而订购))
谢谢您的关注!
是否有可能从第三方程序将代码编译成ex?
我正在用Java创建某种机器人构造函数,我希望用户能得到编译后的代码,而不是访问源代码。
是否有可能从第三方程序将代码编译成ex?
我正在用Java创建某种机器人构造函数,我希望用户不能访问源代码,但可以得到编译后的代码。
有谁知道吗?我正在努力将数据从Excel电子表格转移到MQL5脚本。一切看起来都很好,但EXcel的小数数据是用逗号而不是点。
问题:在MQL中是否有一种机制可以让脚本从Excel中获取数据并将其改为小数点,或者最好是在Excel本身中将其改为小数点?
如何从Excel中获取我需要的单元格中的数据,因为我需要将它们排成一列,编写宏,等等。在这些数据中,既有日期,也有整数和小数。这个Excel太不方便了,或者说我还不习惯......。
我很乐意听取任何建议...
有谁知道吗?我正在努力将数据从Excel电子表格转移到MQL5脚本。一切看起来都很好,但EXcel的小数数据是用逗号而不是点。
问题:在MQL中是否有一种机制可以让脚本从Excel中获取数据并将其改为小数点,或者最好是在Excel本身中将其改为小数点?
如何从Excel中获取我需要的单元格中的数据,因为我需要将它们排成一列,编写宏,等等。在这些数据中,既有日期,也有整数和小数。这个Excel太不方便了,或者说我还不习惯......。
我很乐意听取任何建议...
MQL在字符串中具有一个字符替换功能。读取为字符串
并将其转换为双倍类型