[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 478

 

你好。

你能不能帮我输入一个dll -ku表达式,比如。

datetime FT = TimeCurrent();
int      reb=12;

预先感谢你。

 
nemo811:

你好。

你能不能帮我输入一个dll -ku表达式,比如。

预先感谢你。

撤回了,我已经知道了。
 

你好!

也许有人在MQL5中遇到过这个问题。有时(大约一百个案例中的一个)EA无法删除一个挂单,直到我自己手动删除所有的挂单。 在这种情况下,没有错误被简单地删除。 或者是别人把它们移走了? 如果有人愿意帮忙,如果需要,我将把登录名和密码以及带有 "抓到的订单 "的账户号码发给你。 预先感谢你。

空白的OnTick()
{
MqlTradeRequest请求。
MqlTradeResult结果。
MqlTradeCheckResult 检查结果。
//------ 删除订单 ------
request.action=TRADE_ACTION_REMOVE。
//request.order=OrderGetTicket(0)。
request.order=8273050; //明确指定不删除所有内容
如果(OrderCheck(request,checkResult))
{
Alert(request.order)。
Alert(request.action)。
OrderSend(request,result)。
}
否则
{
Alert("Error: " ,checkResult.retcode)。
}
}

 
Andreyu:

你好!

有人在MQL5中遇到过这样的问题吗?有时(大约一百个例子中的一个)我的EA不能删除一个挂单,直到我自己手动删除所有挂单。 在这种情况下,没有错误被简单地删除。 或者是别人把它们移走了? 如果有人愿意帮忙,如果需要,我将把登录名和密码以及带有 "抓到的订单 "的账户号码发给你。 提前感谢。

你找错论坛了。
 
Reshetov:
你的主要问题是,iBars加载的不是价格,而是一个特定时期的已知条数。而且,正如我刚刚检查的那样,它在测试器和图表上都做得很正确。

不下载,但返回已经下载的。

恐怕你没有仔细阅读我的问题,或者我误解了。

你能给我你用来测试你的声明的代码吗?

 
palladin:

总之,问题是这样的。

我有一个多期的指标。

为了优化计算,我使用了以下循环



// TimeFrames[i] массив с периодами

for (i=0; i<NumTimeFrames; i++)

{
if (total_bars[i] != iBars(instrument, TimeFrames[i]) )
{

// тут вычисления индиктора

total_bars[i] = iBars(instrument, TimeFrames[i]);
}

}



主要问题是,iBars不能加载除当前时段以外的其他时段的价格...

所有的MQL技巧,如IndicatorCounted和RefreshRates

只对当前周期起作用,也就是说,iBars从历史中获取,而历史只能通过改变图表上的周期来加载。该怎么做?MQL是否有一些工具可以在后台加载其他时期的条形图(与当前时期不同)?


p.s. 希望我没有胡言乱语(()。

在不知道NumTimeFrames TimeFrames[i]是空的还是什么的 情况下,你怎么回答呢

写得更完整一些,如何,或者说,如果没有什么,该读什么。给出完整的代码,否则你很可能会 "啃下科学的花岗岩",,,,)) if(true)continue; else return("Sleep("+7*1000*60*60+")")。

//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
int TimeFrames[]={0,1,5,15,30,60}; 
int NumTimeFrames=ArraySize(TimeFrames);
int total_bars[]; ArrayResize(total_bars,NumTimeFrames);
string instrument="EURUSD";
for(i=0; i<NumTimeFrames; i++)
  {
   if(total_bars[i]!=iBars(instrument,TimeFrames[i]))
     {
       total_bars[i]=iBars(instrument,TimeFrames[i]);
     }
  }
 
嗨,问题是下面的例子,在格林尼治标准时间00.00把挂单 和在格林尼治标准时间10.00需要删除这些订单,如果他们没有打开,或者如果一个打开,它应该被留下,其余的被删除? 问题是如何知道订单是否触发?
 
你能告诉我是否有办法使OrdersHistoryTotal()等于零?有必要重新安装MT4吗?因为如果我只是打开一个新的图表,它并没有帮助
 
CLAIN:
你能告诉我是否有办法使OrdersHistoryTotal()等于零?有必要重新安装MT4吗?因为如果我只是打开一个新的图表,它并没有帮助

要做到这一点,你必须开设一个新账户
 
frixer:
你好,问题是下面的例子,在格林尼治标准时间的00.00挂单,在格林尼治标准时间的10.00,如果这些订单没有打开,应该被删除。 或者如果有一个已经打开,应该留下,其余的应该被删除? 问题是我怎么知道订单是否已经成功?

你下了一个待定的订单,记住这个票。如果没有挂单,但有一个挂单转换成的市场订单,并且它们的票据相匹配,那么挂单就被触发了。

例如:你放置了一个买入止损头寸。该函数返回集合订单的票据--你把它保存在一个变量或一个数组中。

假设,它有票1。

你检查是否有一个挂起的 BuyStop订单。如果没有找到,那么你就检查是否有一个买入位置。如果是这样,将注意到的票据与买入位置进行比较。如果它们重合,这意味着待定的BuyStop被转化为市场买入。

原因: