新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 845 1...838839840841842843844845846847848849850851852...1953 新评论 Igor Makanu 2019.05.18 13:33 #8441 Anatoliy Ryzhakov: 你好。你能告诉我如何返回历史上 倒数第二个订单 的类型值吗?你需要找到最后一个关闭订单的时间,然后搜索具有最大关闭时间的订单,但小于最后记忆的时间,这是我所做的。 https://www.mql5.com/ru/forum/247136#comment_7555643 在我的例子中,搜索到的是票据,你需要返回订单类型而不是票据,或者知道订单的票据,你可以找出它的类型...... История ордеров 2018.05.24www.mql5.com Всем привет! Столкнулся с проблемой... сделал робота, который читает историю и открывает сделку... Seric29 2019.05.18 19:23 #8442 是否有可能将一个模板应用于可导出的函数,以便从c++导出到mql4? 我创建了一个扩展名为 "srp "的普通类型的文件,并在那里写了一个原始函数。 #define MT4_EXPFUNC extern "C++" __declspec(dllexport) MT4_EXPFUNC int __stdcall add(int a=0, int b=0)//stdcall //cdecl {return (18);} 然后我创建了一个扩展名为 "def "的文件,并指定了要导出的函数的名称 LIBRARY "dllmt42" EXPORTS add 然后通过Build-Build Solution运行它。我想给我的函数应用一个模板,因为我们要开发与数组打交道的函数,没有模板是不行的。 #define MT4_EXPFUNC extern "C++" __declspec(dllexport) template<typename T>MT4_EXPFUNC int __stdcall add(T a=0, T b=0){ return (18);} T被高亮显示,但写着有一个错误的帮助建议,是否有可能,尝试重新排列?另外,如果可能的话,如何从mql4方面调用这样的函数? Sergey Voytsekhovsky 2019.05.19 20:29 #8443 Roman Shiredchenko:在代码库中查看 - 在MT4上,他们肯定是...就在头版,在这个主题中。 Sergey Voytsekhovsky 2019.05.19 21:49 #8444 晚上好。在研究和学习MT5的过程中试图实施一项一般不难的任务,但由于经验不足和知识差距.......,一般情况下是行不通的,请帮助和协助。 我有一个指标和专家顾问,都有开放的源代码,都是同一个作者(Artem Trishkin,尊重和赞扬)。我是想让指标在询问的时候得到实际的方向。指示器用向上或向下的箭头显示这个方向。获得的方向将被专家顾问作为信号或过滤器使用,但它仍然是遥远的。 我得到了指标手柄,但指标中箭头的数据值却很混乱,我无法弄清楚。 我没有改变指标,我在专家顾问中加入了OnInit。 CrossAD = iCustom(asymbol.Name(), _Period, "iCrossAD"); if (CrossAD == INVALID_HANDLE) { Print("Не удалось создать описатель индикатора iCrossAD!"); return(INIT_FAILED); } else Print("Хендл iCrossAD = ",CrossAD); 我添加了OnTick。 int n=0; if (CopyBuffer(CrossAD, 1, 0, period_find, Buf_Arrow_Buy) != period_find || ArraySize(Buf_Arrow_Buy) != period_find) { Print("НЕ удалось правильно скопировать данные из 2-го буфера индикатора iCrossAD, error code %d",GetLastError()); } else for(n=0; n<period_find; n++) { if(Buf_Arrow_Buy[n]!=EMPTY_VALUE)break; } Last_Arrow_Buy_volume = Buf_Arrow_Buy[n]; Last_Arrow_Buy_index = n; Print("Last_Arrow_Buy_volume = ",Last_Arrow_Buy_volume,", Last_Arrow_Buy_index = ",Last_Arrow_Buy_index); if (CopyBuffer(CrossAD, 2, 0, period_find, Buf_Arrow_Sell) != period_find || ArraySize(Buf_Arrow_Sell) != period_find) { Print("НЕ удалось правильно скопировать данные из 3-го буфера индикатора iCrossAD, error code %d",GetLastError()); } else for(n=0; n<period_find; n++) { if(Buf_Arrow_Sell[n]!=EMPTY_VALUE)break; } Last_Arrow_Sell_volume = Buf_Arrow_Buy[n]; Last_Arrow_Sell_index = n; Print("Last_Arrow_Sell_volume = ",Last_Arrow_Sell_volume,", Last_Arrow_Sell_index = ",Last_Arrow_Sell_index); 当然,我描述并启动了适当的overpens,数组,定义为时间序列和td...... 用评论 和打印来检查。不是立即,但没有错误,只有几个警告,我不明白。但最主要的是--参数的定义是不正确的。尽管有下面的条件,向上箭头的最大数字为双倍,向下箭头的一些负数被输出。 if(Buf_Arrow_Buy[n]!=EMPTY_VALUE)break; и if(Buf_Arrow_Sell[n]!=EMPTY_VALUE)break; Sergey Voytsekhovsky 2019.05.19 21:52 #8445 以下是这些文件 附加的文件: TestDoEasyPart08_new.mq5 92 kb iCrossAD.mq5 49 kb Artyom Trishkin 2019.05.19 22:17 #8446 Sergey Voytsekhovsky: 以下是这些文件你可以先用一个简单的测试EA来测试从指标中获取数据,而不是从一篇有很多不必要的功能的文章中拿出来进行测试。 只要在MQL向导中创建一个简单的专家顾问,并使用它来练习使用iCustom()。 Alexey Viktorov 2019.05.20 08:26 #8447 Sergey Voytsekhovsky:晚上好。在研究和学习MT5的过程中试图实施一项一般不难的任务,但由于经验不足和知识差距.......,一般情况下是行不通的,请帮助和协助。 我有一个指标和专家顾问,都有开放的源代码,都是同一个作者(Artem Trishkin,尊重和赞扬)。我是想让指标在询问的时候得到实际的方向。指示器用向上或向下的箭头显示这个方向。获得的方向将被专家顾问作为信号或过滤器使用,但它仍然是遥远的。 我得到了指标手柄,但指标中箭头的数据值却很混乱,我无法弄清楚。 我没有改变指标,我在专家顾问中加入了OnInit。 我添加了OnTick。 当然,我描述并启动了适当的overpens,数组,定义为时间序列和td...... 用评论 和打印来检查。不是立即,但没有错误,只有几个警告,我不明白。但最主要的是--参数的定义是不正确的。尽管有下面的条件,向上箭头的最大双数和向下箭头的一些负数被打印出来。 Artyom说得很对,我只想指出一个对比的无谓性 if (CopyBuffer(CrossAD, 1, 0, period_find, Buf_Arrow_Buy) != period_find || ArraySize(Buf_Arrow_Buy) != period_find) 如果CopyBuffer返回复制到数组中的元素数,那么数组的大小将正好是这个数。因此,该条件的高亮部分只是重复了第一个条件。 还有一个想法:我没有看过指标和EA的代码,所以我可能是错的。你确定在period_find范围内一定有一个信号吗? Artyom Trishkin 2019.05.20 08:47 #8448 Alexey Viktorov:阿特姆说得很对,我只想指出一个对比的无谓性 如果CopyBuffer返回复制到数组中的元素数,那么数组的大小将正好是这个数。相应地,条件的选定部分只是重复了第一个条件。 我在想:我没有检查过指标和专家顾问的代码,所以我可能是错的。你确定在period_find范围内一定有一个信号吗?是的 - 它就像一个过滤器 - 信号的频率取决于它。 Sergey Voytsekhovsky 2019.05.20 10:48 #8449 Artyom Trishkin:你会先用一个简单的测试EA从指标中获取数据,而不是从一篇有很多不必要的功能的文章中拿出来进行测试。 iCustom() 函数对你来说会更方便。谢谢你,好建议,我会这样做的,至少这样做会更方便。 我将在今天开始。 erotin 2019.05.20 12:56 #8450 你能告诉我该地段的配给有什么问题吗? double lot_=0.01; double minlot=0.10; double LotNormalize(double lot_) { if(minlot==0.001) { return(NormalizeDouble(lot_,3)); } if(minlot==0.01) { return(NormalizeDouble(lot_,2)); } if(minlot==0.10) { return(NormalizeDouble(lot_,1)); } return(NormalizeDouble(lot_,0)); } 1...838839840841842843844845846847848849850851852...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你好。你能告诉我如何返回历史上 倒数第二个订单 的类型值吗?
你需要找到最后一个关闭订单的时间,然后搜索具有最大关闭时间的订单,但小于最后记忆的时间,这是我所做的。
https://www.mql5.com/ru/forum/247136#comment_7555643
在我的例子中,搜索到的是票据,你需要返回订单类型而不是票据,或者知道订单的票据,你可以找出它的类型......
是否有可能将一个模板应用于可导出的函数,以便从c++导出到mql4?
我创建了一个扩展名为 "srp "的普通类型的文件,并在那里写了一个原始函数。
然后我创建了一个扩展名为 "def "的文件,并指定了要导出的函数的名称
LIBRARY "dllmt42" EXPORTS add
然后通过Build-Build Solution运行它。
我想给我的函数应用一个模板,因为我们要开发与数组打交道的函数,没有模板是不行的。
T被高亮显示,但写着有一个错误的帮助建议,是否有可能,尝试重新排列?另外,如果可能的话,如何从mql4方面调用这样的函数?
在代码库中查看 - 在MT4上,他们肯定是...
就在头版,在这个主题中。
晚上好。在研究和学习MT5的过程中试图实施一项一般不难的任务,但由于经验不足和知识差距.......,一般情况下是行不通的,请帮助和协助。
我有一个指标和专家顾问,都有开放的源代码,都是同一个作者(Artem Trishkin,尊重和赞扬)。我是想让指标在询问的时候得到实际的方向。指示器用向上或向下的箭头显示这个方向。获得的方向将被专家顾问作为信号或过滤器使用,但它仍然是遥远的。
我得到了指标手柄,但指标中箭头的数据值却很混乱,我无法弄清楚。
我没有改变指标,我在专家顾问中加入了OnInit。
我添加了OnTick。
当然,我描述并启动了适当的overpens,数组,定义为时间序列和td......
用评论 和打印来检查。不是立即,但没有错误,只有几个警告,我不明白。但最主要的是--参数的定义是不正确的。尽管有下面的条件,向上箭头的最大数字为双倍,向下箭头的一些负数被输出。
以下是这些文件
你可以先用一个简单的测试EA来测试从指标中获取数据,而不是从一篇有很多不必要的功能的文章中拿出来进行测试。
只要在MQL向导中创建一个简单的专家顾问,并使用它来练习使用iCustom()。
晚上好。在研究和学习MT5的过程中试图实施一项一般不难的任务,但由于经验不足和知识差距.......,一般情况下是行不通的,请帮助和协助。
我有一个指标和专家顾问,都有开放的源代码,都是同一个作者(Artem Trishkin,尊重和赞扬)。我是想让指标在询问的时候得到实际的方向。指示器用向上或向下的箭头显示这个方向。获得的方向将被专家顾问作为信号或过滤器使用,但它仍然是遥远的。
我得到了指标手柄,但指标中箭头的数据值却很混乱,我无法弄清楚。
我没有改变指标,我在专家顾问中加入了OnInit。
我添加了OnTick。
当然,我描述并启动了适当的overpens,数组,定义为时间序列和td......
用评论 和打印来检查。不是立即,但没有错误,只有几个警告,我不明白。但最主要的是--参数的定义是不正确的。尽管有下面的条件,向上箭头的最大双数和向下箭头的一些负数被打印出来。
Artyom说得很对,我只想指出一个对比的无谓性
如果CopyBuffer返回复制到数组中的元素数,那么数组的大小将正好是这个数。因此,该条件的高亮部分只是重复了第一个条件。
还有一个想法:我没有看过指标和EA的代码,所以我可能是错的。你确定在period_find范围内一定有一个信号吗?
阿特姆说得很对,我只想指出一个对比的无谓性
如果CopyBuffer返回复制到数组中的元素数,那么数组的大小将正好是这个数。相应地,条件的选定部分只是重复了第一个条件。
我在想:我没有检查过指标和专家顾问的代码,所以我可能是错的。你确定在period_find范围内一定有一个信号吗?
是的 - 它就像一个过滤器 - 信号的频率取决于它。
你会先用一个简单的测试EA从指标中获取数据,而不是从一篇有很多不必要的功能的文章中拿出来进行测试。
iCustom() 函数对你来说会更方便。
谢谢你,好建议,我会这样做的,至少这样做会更方便。
我将在今天开始。你能告诉我该地段的配给有什么问题吗?