[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 5. - 页 235 1...228229230231232233234235236237238239240241242...432 新评论 avmur 2013.03.22 02:18 #2341 请告知是否可以在Metatrader4策略测试器中手动开仓 而不使用专家顾问?为了不在计算器中计算点数,而是按下按钮,会出现一个开单窗口,填写数据并按下F12,测试器本身会像EA开单时一样计算。也许,有一个现成的程序可以达到这个目的,我在搜索中没有发现。 Nikolay Grygoryev 2013.03.22 07:56 #2342 大家好。我这里有一个问题,确切地说,是几个问题,请帮助我。1:如果我有一个水平,如果价格等于这个水平,那么就开一个订单。问题是,价格是否可以跳过这个水平,迅速飞过,不等于我的水平,或者如果我有一个GAP,订单将在它应该在的地方打开,即在这个水平?2:我在日志中得到了错误,我想知道它们是什么意思。[B]1-信号-解析信号失败,[/B] [B]2-数据中心连接失败[2]和[6][/B] 3-(我不记得具体内容了,但修改订单时说完全禁用)?请告诉我们在这些或其他情况下该怎么做,再次感谢! ANDREY 2013.03.22 09:09 #2343 TarasBY: 为了了解发生了什么,你需要将计算结果输出到打印机。 并分析其结果。我意识到我一定是误解了什么。我是如何想象在if头中执行条件 的?-程序获得Bid变量的值(0.86084)。-将变量Bid(0.86084)的值降至变量massiv[S](0.85375)。-将获得的差值0.00709映射到常数0上。-如果差值>0,if语句主体中的控制没有给出,订单没有打开-如果差值<=0,则控制权被传递给if语句主体,订单被打开。正如我所想象的那样, ArrayBsearch( massiv, value,WHOLE_ARRAY, 0, MODE_ASCEND) 函数的执行。提示:返回第一个数组维度中第一个找到的元素的索引。如果在数组中没有指定值的元素,该函数将返回最接近值的元素的索引,所寻求的值位于该元素之间。-该函数得到的值等于最后一个 tick 的价格(Bid-0.86084)。-函数从小到大遍历数组的值--它没有找到数组的任何值和值 之间的完全匹配。 - 由于 数组中没有0.86084 这个值 ,该函数返回 数组中 最接近的 小值。即0 .820864(first),0.81074,0.85375,0.80084,0.81084,0.86088(last) 即0.85375 是最接近 0.86084 这个小值 。在 0.85375和 0.86088 之间 是你要找的值=0.86084=====================================================================================================你的函数中除了打印元素 massiv[S]的值外,还有参数 :massiv[S-1]和massiv[S+1]。 从massiv[S]的值(0.85375)中你首先减去1,然后加上1。我没有读到如果在头里(或在 ArrayBsearch()里)从arrayiv[S]的值中先减去1,然后再加1。如果你能向我解释这一点或给我一个链接,我将非常感激。谢谢你。 TarasBY 2013.03.22 09:18 #2344 solnce600:函数print 还有一个参数-- massiv[S-1]和massiv[S+1],你想从massiv[S]( 0.85375)值中减去1,然后在它后面加上1。我没有在任何MQL教科书中读到如果header(或 ArrayBsearch())先从massiv[S]值中减去1,然后再加1的内容。如果你能向我解释这一点或给我一个链接,我将非常感激。谢谢你。 你将在印刷 后运用你的推理。你做了印刷品吗(你不需要改变其中的任何东西)?- 让我看看里面有什么。 ANDREY 2013.03.22 10:18 #2345 在这个链接中打印。 http://clip2net.com/s/4MRjJe ANDREY 2013.03.22 10:28 #2346 我注意到- massiv[0](可能是[S])的值是数组的第一个值,要从它开始。- massiv[1]的值(可能是[S+1])是数组的第二个值,也就是说,它紧随数组的起始值。-每次遇到PRINT 时,这些值都会重复出现。=============================================- 在2000年,价格值在点之后还有4个数字。- 在测试器的图表上 - 5位数字-在测试器中的结果 -5个标志-在测试仪的日志中, 在打印机中 - 4个字符而我在数组中有5个数字。问题--软件能读取多少个数字? TarasBY 2013.03.22 10:52 #2347 solnce600: 在这个链接中打印。 https://www.mql5.com/go?link=http://clip2net.com/s/4MRjJe 你没看到那里有什么吗? 我看到ArrayBsearch()在任何地方都返回0(作为一个元素索引)。在你的数组的第0个单元中是数字1.0408。让我们回到代码中去。if( (NormalizeDouble (Bid-massiv[S],Digits) <=0)) 现在将获得的变量值代入这个条件(在carite Bid上的范围是0.8-0.9,让我们取这个范围的最大值-0.9)。如果(0.9000 - 1.0408 <= 0) OrderSend()。条件满足了,对!!!。在完成阵列的过程中寻找错误。你可能没有注意ArrayBsearch()函数中的这个条款。 注意:二进制搜索只处理排序的数组。ArraySort() 函数用于对一个数字数组进行排序。 P.S. 打印最好不是以图片形式提供,而是在终端窗口中同时选择这个打印的几行(使用SHIFT--如果你不知道如何做)(10-20行就够了),然后使用SRC按钮将选择的行复制并作为代码粘贴到你的帖子中。 P.P.S. 我刚刚注意到一个明显的语法错误--这一行应该放在start()函数之外(之前)。#include <MASSIV.mqh> ilunga 2013.03.22 10:53 #2348 solnce600:我注意到-在测试仪中的日志 中的打印机- 4个字符阅读文件 https://docs.mql4.com/ru/common/print空白打印( ...) 打印一些信息到专家日志。参数可以是任何类型。参数的数量不能超过64。 数组不能被传递给Print()。数组必须一个元素一个元素地打印。 双重类型的数据在打印时,点后有4位小数。为 了获得更多的准确性,应该使用DoubleToStr() 函数。 ANDREY 2013.03.22 11:02 #2349 TarasBY: 你在那里没有看到任何东西吗? 我看到ArrayBsearch()在任何地方都返回0(作为一个元素索引)。在你的数组的第0个单元中是数字1.0408。回到代码上。 现在让我们把得到的变量值代入这个条件(Bid在0.8-0.9的卡通上,让我们取这个范围的最大值-0.9)。如果(0.9000 - 1.0408 <= 0) OrderSend()。条件满足了,对!!!。在完成阵列的过程中寻找错误。你可能没有注意ArrayBsearch()函数中的这个条款。 注意:二进制搜索只处理排序的数组。ArraySort() 函数用于对一个数字数组进行排序。 我不太清楚二进制搜索是什么意思。是在一个二维数组中搜索吗?但我有一个一维的。 [Deleted] 2013.03.22 11:04 #2350 如何在MT4中调整斐波那契周期 200 144 89 55 34 1...228229230231232233234235236237238239240241242...432 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
为了了解发生了什么,你需要将计算结果输出到打印机。
并分析其结果。我意识到我一定是误解了什么。
我是如何想象在if头中执行条件 的?
-程序获得Bid变量的值(0.86084)。
-将变量Bid(0.86084)的值降至变量massiv[S](0.85375)。
-将获得的差值0.00709映射到常数0上。
-如果差值>0,if语句主体中的控制没有给出,订单没有打开
-如果差值<=0,则控制权被传递给if语句主体,订单被打开。
正如我所想象的那样, ArrayBsearch( massiv, value,WHOLE_ARRAY, 0, MODE_ASCEND) 函数的执行。
提示:返回第一个数组维度中第一个找到的元素的索引。
如果在数组中没有指定值的元素,该函数将返回最接近值的元素的索引,所寻求的值位于该元素之间。
-该函数得到的值等于最后一个 tick 的价格(Bid-0.86084)。
-函数从小到大遍历数组的值--它没有找到数组的任何值和值 之间的完全匹配。
- 由于 数组中没有0.86084 这个值 ,该函数返回 数组中 最接近的 小值。即0 .820864(first),0.81074,0.85375,0.80084,0.81084,0.86088(last) 即0.85375 是最接近 0.86084 这个小值 。在 0.85375和 0.86088 之间 是你要找的值=0.86084
=====================================================================================================
你的函数中除了打印元素 massiv[S]的值外,还有参数 :massiv[S-1]和massiv[S+1]。 从massiv[S]的值(0.85375)中你首先减去1,然后加上1。
我没有读到如果在头里(或在 ArrayBsearch()里)从arrayiv[S]的值中先减去1,然后再加1。
如果你能向我解释这一点或给我一个链接,我将非常感激。
谢谢你。
函数print 还有一个参数-- massiv[S-1]和massiv[S+1],你想从massiv[S]( 0.85375)值中减去1,然后在它后面加上1。
我没有在任何MQL教科书中读到如果header(或 ArrayBsearch())先从massiv[S]值中减去1,然后再加1的内容。
如果你能向我解释这一点或给我一个链接,我将非常感激。
谢谢你。
在这个链接中打印。
http://clip2net.com/s/4MRjJe
我注意到
- massiv[0](可能是[S])的值是数组的第一个值,要从它开始。
- massiv[1]的值(可能是[S+1])是数组的第二个值,也就是说,它紧随数组的起始值。
-每次遇到PRINT 时,这些值都会重复出现。
=============================================
- 在2000年,价格值在点之后还有4个数字。
- 在测试器的图表上 - 5位数字
-在测试器中的结果 -5个标志
-在测试仪的日志中, 在打印机中 - 4个字符
而我在数组中有5个数字。
问题--软件能读取多少个数字?
在这个链接中打印。
https://www.mql5.com/go?link=http://clip2net.com/s/4MRjJe
你没看到那里有什么吗?
我看到ArrayBsearch()在任何地方都返回0(作为一个元素索引)。在你的数组的第0个单元中是数字1.0408。让我们回到代码中去。
现在将获得的变量值代入这个条件(在carite Bid上的范围是0.8-0.9,让我们取这个范围的最大值-0.9)。如果(0.9000 - 1.0408 <= 0) OrderSend()。条件满足了,对!!!。在完成阵列的过程中寻找错误。你可能没有注意ArrayBsearch()函数中的这个条款。
注意:二进制搜索只处理排序的数组。ArraySort() 函数用于对一个数字数组进行排序。
P.S. 打印最好不是以图片形式提供,而是在终端窗口中同时选择这个打印的几行(使用SHIFT--如果你不知道如何做)(10-20行就够了),然后使用SRC按钮将选择的行复制并作为代码粘贴到你的帖子中。
P.P.S. 我刚刚注意到一个明显的语法错误--这一行应该放在start()函数之外(之前)。
#include <MASSIV.mqh>
我注意到
-在测试仪中的日志 中的打印机- 4个字符
阅读文件 https://docs.mql4.com/ru/common/print
数组不能被传递给Print()。数组必须一个元素一个元素地打印。
双重类型的数据在打印时,点后有4位小数。为 了获得更多的准确性,应该使用DoubleToStr() 函数。
你在那里没有看到任何东西吗?
我看到ArrayBsearch()在任何地方都返回0(作为一个元素索引)。在你的数组的第0个单元中是数字1.0408。回到代码上。
现在让我们把得到的变量值代入这个条件(Bid在0.8-0.9的卡通上,让我们取这个范围的最大值-0.9)。如果(0.9000 - 1.0408 <= 0) OrderSend()。条件满足了,对!!!。在完成阵列的过程中寻找错误。你可能没有注意ArrayBsearch()函数中的这个条款。
注意:二进制搜索只处理排序的数组。ArraySort() 函数用于对一个数字数组进行排序。