//+----------------------------------------------------------------------------+datetime SecondsAfterOpenLastPos(string sy, int op, int mn)
{
datetime t;
int i, k=OrdersTotal();
if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()!=sy) continue;
if (OrderType()!=op) continue;
if (OrderMagicNumber()!=mn) continue;
if (t<OrderOpenTime()) t=OrderOpenTime();
}
}
return(TimeCurrent()-t);
}
//+----------------------------------------------------------------------------+
像这样打电话。
if (SecondsAfterOpenLastPos(NULL, OP_SELL, Magic)>=(Period()*3)*60) {
// --- код, если прошло три минуты и более с момента открытия ... // ... последней позиции Sell с магиком Magic на текущем символе ---
}
那是什么?它正在经历历史的所有顺序,不是吗?很明显,循环的主体可以在某种程度上受到日期等的限制。
我在问题中的意思是,有没有什么诀窍可以在测试者的历史中只存储最后几个关闭的订单,也就是在真实历史中的方式?
在真实的历史中,它也是这样运作的。帐户历史的所有订单都被搜索到。
历史没有得到纠正。它对这个账户是一样的,只能用新的事件来更新。
似乎已经很无聊了...这是最基本的,华生。
谢谢你期待已久的答复我看不出这对解决我的问题有什么帮助?如何使线条在Ask上方和下方同时画出,并从同一EA画出?
伙计们,帮助,条件如下:三根看涨的蜡烛,然后有一个 "接管"....,我开了一个卖出类似买入的头寸...这里是错误所在的代码?
什么问题?
它不是这样工作的.......,不打开头寸....,虽然 我从历史上看到它应该打开,但它不打开头寸......它只是保持沉默,没有错误。
给这些线条起不同的 名字。
不知为何......?
伙计们,我怎样才能使交易的开放时间不超过,比如说,每小时一次?
例如,像这样。
像这样打电话。
我希望你能把几分钟变成几小时......。:)不知为何......?
不知为何......?