初学者的问题 MQL5 MT5 MetaTrader 5 - 页 765 1...758759760761762763764765766767768769770771772...1503 新评论 Artyom Trishkin 2017.07.23 10:58 #7641 Alexey Kozitsyn:鼠标移动事件肯定不会被生成。对于其他人,我想这是一样的。 在EA中呢? [删除] 2017.07.23 11:01 #7642 Artyom Trishkin: 而在议员?同样的事情... Aleksey Vyazmikin 2017.07.24 19:10 #7643 Alexey Viktorov:回答是在...但最好不要从一个轻量级,而是大约最大限度地尝试用一个副本来解决。我不会写一个示例代码。一个正常的程序员只需要一个提示。这里有一个近似的算法。我们确定通道被越过的大致条数。让它成为15。复制指标的两个缓冲区。使用CopyRates()复制条形图的值。在循环中,我们开始比较通道的上限和高条的值,同时将低条与通道的下限进行比较。如果发现其中一个交叉点,则将条形索引存储在一个变量中,然后我们继续寻找第二个交叉点。当相交条的两个变量都有值时,我们退出循环。因此,必要时可以在一个副本和一个周期内找到两个交叉点。在ArraySetAsSeries() 中甚至没有必要,因为在寻找交叉点时,有可能,而且在我看来,最好是记住酒吧的时间,而不是它的编号。虽然,知道了酒吧的时间,确定其数量并不困难。问题:是复制指标缓冲区1个值和复制高栏1个值并比较这些值的循环,还是单次复制一定数量并相互比较两个数组的值的循环,哪个更快?我建议不要偏离这个概念,按照我的理解,就是在代码的开头复制一定量的条形数据,然后用这个数据工作--或者你建议一个例外? 还有,你怎么会认为我是一个程序员? 我认为你不需要猜测--什么会更快,有时答案可能并不明显--只有经验可以给这种问题一个答案。 Aleksey Vyazmikin 2017.07.24 19:11 #7644 Vladimir Karputov:昨天刚写了这个。任务。在每个tick 上得到 "InpCountCopy "元素open, high, low, close和time。实施。从 "0 "到 "InpCountCopy-1 "的循环 - 循环每次获得一个开放、高、低、关闭和时间。一次,我们将 "InpCountCopy "元素放入MqlRates结构中,然后循环浏览该结构。特点。可以选择检查方式:在OnTick或OnTimer(1秒)。 谢谢你,我将努力使代码合理化。 Vitaly Muzichenko 2017.07.24 21:00 #7645 告诉我为什么这段代码能找到历史上没有的票据? HistorySelect(0,TimeCurrent()); for(int i=HistoryOrdersTotal()-1; i>=0; i--) { string OrdTick=IntegerToString(HistoryOrderGetTicket(i)); if(OrdTick=="63425010") Print(OrdTick); }2017.07.24 23:58:33.514 RE (EURGBP.m,H1) 63425010 Artyom Trishkin 2017.07.24 21:33 #7646 Vitaly Muzichenko:告诉我为什么这段代码能找到历史上没有的票据?你是否尝试过搜索已关闭的交易(OUT)?有一个命令--你可以看到它。 Ivan Ivanov 2017.07.24 21:50 #7647 Vitaly Muzichenko:告诉我为什么这段代码能找到历史上没有的票据?这就对了。你正在寻找一个订单,而订单打开位置=63425010已经做了自己的,它是在历史上。而且我认为票面顺序和票面位置是一样的,这误导了你。如果你想分析Position,使用 PositionSelect(),然后分析其属性。 Vitaly Muzichenko 2017.07.24 22:04 #7648 需要什么。我们发送一个订单,作为回应,我们收到一张仓单,然后在图表上画出一个名为 "仓单 "的对象(没有指定替换)。如果我们开了几个仓位,分别在图表上有几个带有票据名称的对象,如果我们再关闭其中一个,所有对象都会被删除,而我们只需要从历史中删除带有已关闭票据的对象。删除功能在OnTrade上发挥作用 prostotrader 2017.07.25 00:09 #7649 Vitaly Muzichenko:需要什么。我们发送一个订单,作为回应,我们收到一个仓单,然后一个名为 "仓单 "的对象被画在图表上(没有指定替换)。如果我们开了几个仓位,分别在图表上有几个带有票据名称的对象,如果我们再关闭其中一个,所有对象都会被删除,我们只需要从历史中删除带有已关闭票据的对象。删除功能在OnTrade上发挥作用那么你需要什么,是订单的票据 还是仓位的票据? Vitaly Muzichenko 2017.07.25 01:09 #7650 prostotrader: 那么,你需要什么,是订单票 还是仓位票?你需要删除已经在历史中的带有票据的对象,但不包括那些仍在市场中的对象。重复的。 HistorySelect(0,TimeCurrent()); for(int i=HistoryOrdersTotal()-1; i>=0; i--) { string OrdTick=IntegerToString(HistoryOrderGetTicket(i)); if(OrdTick=="63425010") Print(OrdTick); }2017.07.24 23:58:33.514 RE (EURGBP.m,H1) 63425010 1...758759760761762763764765766767768769770771772...1503 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
鼠标移动事件肯定不会被生成。对于其他人,我想这是一样的。
而在议员?
同样的事情...
回答是在...
但最好不要从一个轻量级,而是大约最大限度地尝试用一个副本来解决。
我不会写一个示例代码。一个正常的程序员只需要一个提示。这里有一个近似的算法。
因此,必要时可以在一个副本和一个周期内找到两个交叉点。在ArraySetAsSeries() 中甚至没有必要,因为在寻找交叉点时,有可能,而且在我看来,最好是记住酒吧的时间,而不是它的编号。虽然,知道了酒吧的时间,确定其数量并不困难。
问题:是复制指标缓冲区1个值和复制高栏1个值并比较这些值的循环,还是单次复制一定数量并相互比较两个数组的值的循环,哪个更快?
我建议不要偏离这个概念,按照我的理解,就是在代码的开头复制一定量的条形数据,然后用这个数据工作--或者你建议一个例外?
还有,你怎么会认为我是一个程序员?
我认为你不需要猜测--什么会更快,有时答案可能并不明显--只有经验可以给这种问题一个答案。
昨天刚写了这个。
任务。
在每个tick 上得到 "InpCountCopy "元素open, high, low, close和time。
实施。
特点。
可以选择检查方式:在OnTick或OnTimer(1秒)。
告诉我为什么这段代码能找到历史上没有的票据?
告诉我为什么这段代码能找到历史上没有的票据?
你是否尝试过搜索已关闭的交易(OUT)?有一个命令--你可以看到它。
告诉我为什么这段代码能找到历史上没有的票据?
这就对了。
你正在寻找一个订单,而订单打开位置=63425010已经做了自己的,它是在历史上。
而且我认为票面顺序和票面位置是一样的,这误导了你。
如果你想分析Position,使用 PositionSelect(),然后分析其属性。
需要什么。
我们发送一个订单,作为回应,我们收到一张仓单,然后在图表上画出一个名为 "仓单 "的对象(没有指定替换)。如果我们开了几个仓位,分别在图表上有几个带有票据名称的对象,如果我们再关闭其中一个,所有对象都会被删除,而我们只需要从历史中删除带有已关闭票据的对象。删除功能在OnTrade上发挥作用
需要什么。
我们发送一个订单,作为回应,我们收到一个仓单,然后一个名为 "仓单 "的对象被画在图表上(没有指定替换)。如果我们开了几个仓位,分别在图表上有几个带有票据名称的对象,如果我们再关闭其中一个,所有对象都会被删除,我们只需要从历史中删除带有已关闭票据的对象。删除功能在OnTrade上发挥作用
那么你需要什么,是订单的票据 还是仓位的票据?
那么,你需要什么,是订单票 还是仓位票?
你需要删除已经在历史中的带有票据的对象,但不包括那些仍在市场中的对象。
重复的。