[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 515

 
Noterday:
伙计,我还是不明白怎么做。我需要删除和关闭订单的代码,只在下一个蜡烛图上触发。但是其他的蜡烛图也应该在这个上面打开。这意味着程序将再次进入删除状态。需要某种标志,但我的大脑已经在出汗,以了解如何做到这一点:)

仔细阅读OrderSend() 函数。它有一个参数用于挂单。

expiration - Срок истечения отложенного ордера.

如果你在当前日期开始时开出挂单 = iTime (Symbol(), PERIOD_D1, 0), 在这个时间上再加一天 - 1440 * 60。如果挂单没有被触发,它们将在第二天开始时被自行删除。

P.S. 也可以通过函数iBarShift()来控制当前柱子的结束。

    if (iBarShift (Symbol(), PERIOD_D1, OrderOpenTime()) == 0) return(0);

或者通过追踪最后一个订单的OrderTicket()对这个条件的任何其他 "身体动作"。

 
TarasBY:

仔细阅读OrderSend() 函数。它有一个参数用于挂单。

如果你在当日开始时开出挂单 = iTime (Symbol(), PERIOD_D1, 0), 那么你在这个时间上再加一天 - 1440 * 60。没有被触发的挂单会在第二天开始自动删除。


我读了,我的DC似乎不支持它。
 
Noterday:
我读过了,直流电似乎不支持它。
有这样的事情吗?
 
好吧,我想是的,也许这只是我的终端的问题。我已经在一个相邻的主题中说过,我也没有从账户历史标签中保存报告......
 
Noterday:
好吧,我想是的,也许这只是我的终端的问题。我已经在一个相邻的主题中说过,我也没有从账户历史标签中保存报告......
奇怪的是,我也没有,虽然我的结构是416。虽然,终端与删除过期不工作的挂单 没有任何关系--这取决于经纪公司的服务器。
 
hoz:

说实话,我已经完全糊涂了。我甚至没有任何例子来看看别人是怎么做的。

我的理解是,除了获取数值之外,你还必须将它们分配给其他一些变量?


我不需要基本 的东西。我很清楚可变的能见度。教科书中没有关于通过引用传递变量值的内容。你为什么要送我去那里?你在跟我开玩笑吗?


不,我没有。你对自己的范围知识的看法被大大夸大了。这不是侮辱,只是很明显,你还没有掌握基本知识。

我有一些时间,所以我将尝试 "在我的手指上"。你描述了函数中的变量--那是它们存在的地方。该函数已完成其工作,分配给变量的内存被释放。然后参考你在变量范围 之外使用的东西?在这个地址可以有任何 "垃圾"。我们只能庆幸,开发者有远见,排除了地址运算。如果我们需要向外传递函数的结果,总是通过值传递,而不是通过引用(即我们传递的是值本身,而不是存储该值的内存单元的地址)。当然,也有例外,但对μl4来说不是这样(除了在处理数组时)。因此,请重新阅读它--这不会有什么坏处。

 
VladislavVG:

我们只能为消除了地址运算的开发者的远见卓识而感到高兴。

但它就在那里,尽管它没有被描述......。
 
valenok2003:


那么数组呢?


对于数组来说,这并不困难:通常数组作为参数是通过引用从外部传递的--在函数内部,你在函数内部处理它,不需要返回任何东西--结果是一次性获得的。如果你在一个函数中为数组动态分配内存,并在那里描述数组本身,就可能需要返回引用(或地址)。然后,为了在函数之外使用这个数组,你需要把分配的内存区域的地址传到外面。

这听起来比实际情况更可怕。如果不清楚,我可以给你一些例子。

 
VladislavVG:


对于数组来说,这并不复杂:通常数组作为参数从外部通过引用传递--在函数内部,你在函数内部处理它,不需要返回任何东西--结果立即得到。如果你在一个函数中为数组动态分配内存,并在那里描述数组本身,就可能需要返回引用(或地址)。然后,为了使这个数组可以在函数之外使用,你需要把分配的内存区域的地址传到外面。

这听起来比实际情况更可怕。如果你不明白,我可以给你一些例子。



谢谢,这就清楚了。也就是说,如果一个变量或数组在更高层次上被描述,你可以随意来回引用其地址。
 
valenok2003:


谢谢,这很清楚,也就是说,如果一个变量或数组在更高层次上被描述,你可以随意引用它的地址。

对。