if (OrdersTotal()==0 && ticket!=-1) // Открытых лотов нет но тикет существует
{
if (OrderSelect(ticket,SELECT_BY_TICKET)==true)
{
datetime tct=OrderCloseTime(); // Время закрытия ордераdatetime tob=iTime(NULL,PERIOD_H1,0); // Время открытия бара текущегоif (tob>tct) // Не дает открыть повторный ордер если сделка закрылась на той же свече что и открылась
{
ФУНКЦИЯ ОТКРЫТИЯ ПОЗИЦИИ
}
是的,我也是这样认为的,但不仅仅是历史记录和指标缓冲区的 数量--也就是说,同样是内存分配,如果MT4已经吞噬了所有的内存,那么它就会变慢--显然它开始释放内存区域了
肯定的是,开发人员可以回答,但我们谈论的是MetaTrader 4,这里...
为什么要在代码中进行任何计算?
不要做计算 - 这个题目并不聪明,我有兴趣检查优化器的作用,所以我起草了代码
你可以以这样的方式将其添加到你的代码中。
即只需将优化参数写入文件,如果它挂了,在文件中你可以读到最后一次通过的参数是什么,文件的时间将是测试员 "最后一口气 "的时间。
开发人员将能够明确回答,但我们谈论的是MetaTrader 4,并且有...
而在这里......一切都不会改变。我们使用我们所拥有的。
你好,你能告诉我,交易系统在某些条件下只在新的小时线开盘时开仓。我需要确保,如果我在当前柱状图上使用止损平仓,交易将不会再次开启。我是这样实施的。
如果(OrdersTotal()==0 &&ticket!=-1) //没有未平仓合约,但存在票据
{
如果(OrderSelect(ticket,SELECT_BY_TICKET)==true)
{
datetime tct=OrderCloseTime(); // 订单结束时间
datetime tob=iTime(NULL,PERIOD_H1,0); // 当前栏位的打开时间。
if (tob>tct) // 如果交易在开仓的同一蜡烛图上被关闭,则不允许打开新的订单。
{
功能,以打开一个位置
}
在策略测试器中,重开的头寸不再打开,但在实盘交易时,会打开一个头寸。你能告诉我什么是错的吗?)
你好,你能告诉我,在某些条件下,交易系统是否只在新的小时线开盘时开仓? 我需要确保,如果我在当前柱状图上使用止损平仓,交易将不会再次开启。我是这样实施的。
如果(OrdersTotal()==0 &&ticket!=-1) //没有未平仓合约,但存在票据
{
如果(OrderSelect(ticket,SELECT_BY_TICKET)==true)
{
datetime tct=OrderCloseTime(); // 订单结束时间
datetime tob=iTime(NULL,PERIOD_H1,0); // 当前栏位的打开时间。
if (tob>tct) // 如果交易在开仓的同一蜡烛图上被关闭,则不允许打开新的订单。
{
功能,以打开一个位置
}
在策略测试器中,重开的头寸不再打开,但在实盘交易时,会打开一个头寸。你能告诉我什么是错的吗?)
是吗?
是吗?
并非如此。我的变体有什么问题吗?主要条件是不能在当前的小时蜡烛上重新进入!?这是一个相当简单的条件,它有什么问题,为什么不工作?
并非如此。我的变体有什么问题吗?主要的条件是不可能在当前的蜡烛上重新进入!这是不可能的。这是一个相当简单的条件,它有什么问题,为什么不工作?
那你在OrderSelect 中选择了什么票?
你在OrderSelect中选择了哪张票?
该票据被传递给最后一个订单。当一个订单处于开放状态时,在系统内不可能开立新的订单,而挂单 也不能进行。因此,最后一张票是止损或盈利的最后一笔订单。
你如何传递最后一个订单的票据?
而OrdersTotal()传递的是开仓和挂单 的总数。
这里是当前时间框架的新栏。
你如何传递最后一个订单的票据?
而OrdersTotal()传递的是开仓和挂单 的总数。
这里是当前时间框架的新栏。
该票据被声明为一个全局变量。一张票是通过购买或出售的。在我的系统中,不能开几个订单,只能开一个订单,而且也不能有任何待定的订单。因此,按照我的理解,最后一张票是以利润或止损点关闭的订单。
好吧,我的头在嗡嗡作响......我明天会重新考虑你的建议。