新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 394 1...387388389390391392393394395396397398399400401...1953 新评论 mila.com 2017.12.15 03:23 #3931 你好。 请帮助我给 "之"字形上色。 我想把它变成这样,如果从谷底到顶部的距离>=100点,就把这个段染成绿色。 Alexey Viktorov 2017.12.15 06:20 #3932 Dimitry-1983:你好!我已经绞尽脑汁了。如何检查双数组中是否有某个价格?我是为了测试而这样写的。脚本找到了11、22、33、44,没有任何问题(终端有这样的命令)。然而,如果脚本处理的价格是45,例如,它仍然显示3(价格44在阵列中的位置)。我真正需要的是一个bool--如果数组中存在正在处理的订单的价格,它应该返回true,如果没有,它应该返回false。但我还没有在语言中找到这样的功能。该函数返回在第一个数组维度中找到的第一个元素的索引,但是如果没有找到所需的值,它将返回具有最小值的元素的索引,所需的值位于该元素之间。因此,对于这项任务,我们还应该检查所寻求的价值和所找到的价值是否相等。比较的结果将是真的或假的。 YarTrade 2017.12.15 07:37 #3933 STARIJ:我为什么要从指标中打印东西?一切都在屏幕上--这就是指标的作用。当我需要一个表格时--我用iCustom()运行脚本。你在这里写的东西,我一点都不明白。我们在谈论的是,我创建了一个文件,由于某种原因,这个文件总是空的。我不能把一个数组的数据弄到一个文件里。我需要将数据保存在一个文件中。如果该指标在图表上附着了1年,那么它在一年内的所有读数记录都应该在那里! Ptichka12 2017.12.15 12:17 #3934 Alekseu Fedotov: 这是个有趣的缝合方式。误打误撞地试试这个。谢谢你!但我已经试过了,没有效果。 YarTrade 2017.12.15 14:56 #3935 你们能不能告诉我为什么会出现这些错误? //--- input parameters input int MyLevel=100; // установка уровня (отступ) выше (ниже) текущей цены; //--- indicator buffers double Label1Buffer[]; double Label2Buffer[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- indicator buffers mapping SetIndexBuffer(0,Label1Buffer); SetIndexBuffer(1,Label2Buffer); double R1 = 0; // служеные переменные принимаются равными 0; double R2 = 0; // служебные переменные; принимаются равными 0; //--- 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[]) { //--- double i=Bid; // переменной i присваивается значение текущего курса; if(i>=R1) // если текущий курс >= служебной переменной R1; { R1=i+(MyLevel*Point); // то присваиваем R1 новое значение равное текущему курсу + отступ, R2=i-(MyLevel*Point); // также присваиваем R2 новое значение = текущий курс - отступ; } else { break; // иначе, выходим из оператора } if(i<=R2) // если текущий курс <= служебной переменной R2; { R1=i+(MyLevel*Point); // то присваиваем R1 новое значение равное текущему курсу + отступ, R2=i-(MyLevel*Point); // также присваиваем R2 новое значение = текущий курс - отступ; } else { break; // иначе выходим } Label1Buffer [0] = R1; // заносим в буфер данные R1 Label2Buffer [0] = R2; // и R2 //--- return value of prev_calculated for next call return(rates_total); } //+------------------------------------------------------------------+错了。'R1' - 未宣布的标识符 Mylevel.mq4 61 10由于类型转换可能导致数据丢失 Mylevel.mq4 63 9'R2' - 未声明的标识符 Mylevel.mq4 64 7';' - 'break'必须在一些循环或开关语句中使用 Mylevel.mq4 68 12';' - 'break'必须在一些循环或开关语句中使用 Mylevel.mq4 77 12 Artyom Trishkin 2017.12.15 15:37 #3936 YarTrade:你们能不能告诉我为什么会出现这些错误? 错了。'R1' - 未宣布的标识符 Mylevel.mq4 61 10由于类型转换可能导致数据丢失 Mylevel.mq4 63 9'R2' - 未声明的标识符 Mylevel.mq4 64 7';' - 'break'必须在一些循环或开关语句中使用 Mylevel.mq4 68 12';' - 'break'必须在一些循环或开关语句中使用 Mylevel.mq4 77 12 R1、R2分别在一个函数内声明--只在那里可见--它们是局部的。break用于循环和交换中。 iv1986 2017.12.16 10:03 #3937 我不知道是否有类似于mt5的reportmanager的组合测试报告 的程序,reportmanager并不能打开它们。 Vitaly Muzichenko 2017.12.16 10:11 #3938 iv1986:如果你知道,是否有一个类似于mt5的reportmanager的合并测试报告 的程序,但reportmanager并不能打开它们?重写代码并在mt5中做多货币测试更容易。在mt4平台上的测试结果肯定是不正确的,最后的结果会被严重扭曲,分析起来也没有意义。这里是23个符号测试中的一个,一切都很清楚,几乎一目了然 iv1986 2017.12.16 11:03 #3939 如果我对每个工具有不同的参数和策略,我可以制作一个多工具的EA吗?Vitaly Muzichenko:重写代码并在mt5中做多货币测试更容易。在mt4平台上的测试结果显然是错误的,最终的结果会被严重扭曲,分析起来也没有意义。这里是23个符号的测试之一,一切都很清楚,几乎一目了然如果我对每个符号都有不同的策略和相应的不同代码,我可以制作这样的EA吗? Vitaly Muzichenko 2017.12.16 12:33 #3940 iv1986:如果我对每个工具有不同的参数和策略,我可以制作一个多工具的EA吗?如果我对每个工具有不同的策略和代码,是否有可能做出这样的EA?你可以写一个多货币的EA,它将在一个文件中。可以将不同货币对的策略合并在一个文件中供测试者使用,也可以在一个图表上进行在线交易,但也可以将它们分开,让每个策略在EA所处的符号上进行交易。可能性是无限的 1...387388389390391392393394395396397398399400401...1953 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你好。
请帮助我给 "之"字形上色。
我想把它变成这样,如果从谷底到顶部的距离>=100点,就把这个段染成绿色。
你好!
我已经绞尽脑汁了。如何检查双数组中是否有某个价格?
我是为了测试而这样写的。
脚本找到了11、22、33、44,没有任何问题(终端有这样的命令)。然而,如果脚本处理的价格是45,例如,它仍然显示3(价格44在阵列中的位置)。
我真正需要的是一个bool--如果数组中存在正在处理的订单的价格,它应该返回true,如果没有,它应该返回false。但我还没有在语言中找到这样的功能。
该函数返回在第一个数组维度中找到的第一个元素的索引,但是如果没有找到所需的值,它将返回具有最小值的元素的索引,所需的值位于该元素之间。因此,对于这项任务,我们还应该检查所寻求的价值和所找到的价值是否相等。比较的结果将是真的或假的。
我为什么要从指标中打印东西?一切都在屏幕上--这就是指标的作用。当我需要一个表格时--我用iCustom()运行脚本。
你在这里写的东西,我一点都不明白。我们在谈论的是,我创建了一个文件,由于某种原因,这个文件总是空的。我不能把一个数组的数据弄到一个文件里。
我需要将数据保存在一个文件中。如果该指标在图表上附着了1年,那么它在一年内的所有读数记录都应该在那里!
这是个有趣的缝合方式。
误打误撞地试试这个。
谢谢你!但我已经试过了,没有效果。
你们能不能告诉我为什么会出现这些错误?
错了。
'R1' - 未宣布的标识符 Mylevel.mq4 61 10
由于类型转换可能导致数据丢失 Mylevel.mq4 63 9
'R2' - 未声明的标识符 Mylevel.mq4 64 7
';' - 'break'必须在一些循环或开关语句中使用 Mylevel.mq4 68 12
你们能不能告诉我为什么会出现这些错误?
错了。
'R1' - 未宣布的标识符 Mylevel.mq4 61 10
由于类型转换可能导致数据丢失 Mylevel.mq4 63 9
'R2' - 未声明的标识符 Mylevel.mq4 64 7
';' - 'break'必须在一些循环或开关语句中使用 Mylevel.mq4 68 12
我不知道是否有类似于mt5的reportmanager的组合测试报告 的程序,reportmanager并不能打开它们。
如果你知道,是否有一个类似于mt5的reportmanager的合并测试报告 的程序,但reportmanager并不能打开它们?
重写代码并在mt5中做多货币测试更容易。在mt4平台上的测试结果肯定是不正确的,最后的结果会被严重扭曲,分析起来也没有意义。
这里是23个符号测试中的一个,一切都很清楚,几乎一目了然
如果我对每个工具有不同的参数和策略,我可以制作一个多工具的EA吗?
重写代码并在mt5中做多货币测试更容易。在mt4平台上的测试结果显然是错误的,最终的结果会被严重扭曲,分析起来也没有意义。
这里是23个符号的测试之一,一切都很清楚,几乎一目了然
如果我对每个符号都有不同的策略和相应的不同代码,我可以制作这样的EA吗?
如果我对每个工具有不同的参数和策略,我可以制作一个多工具的EA吗?
如果我对每个工具有不同的策略和代码,是否有可能做出这样的EA?
你可以写一个多货币的EA,它将在一个文件中。可以将不同货币对的策略合并在一个文件中供测试者使用,也可以在一个图表上进行在线交易,但也可以将它们分开,让每个策略在EA所处的符号上进行交易。可能性是无限的