#include <Trade\Trade.mqh>
CTrade trade;
voidOnTick()
{
double profit=0;
if(PositionSelect(Symbol()))profit=PositionGetDouble(POSITION_PROFIT);
if(profit==0) trade.PositionOpen(Symbol(),ORDER_TYPE_SELL,0.1,SymbolInfoDouble(Symbol(),SYMBOL_ASK),0,0,"");
if(profit>1) trade.PositionOpen(Symbol(),ORDER_TYPE_BUY,0.1,SymbolInfoDouble(Symbol(),SYMBOL_ASK),0,0,"");
double ld_return=0;
HistorySelect(0,TimeTradeServer());
for(int i=HistoryDealsTotal()-1;i>=0;i--) // По всем сделкам от конца к началу
{
ulong ticket=HistoryDealGetTicket(i); // Определение тикета сделки и ее выделениеif(ticket!=0)
{
if(HistoryDealGetInteger(ticket,DEAL_TYPE)<2)
ld_return+=HistoryDealGetDouble(ticket,DEAL_PROFIT);
}
}
Comment(ld_return);
}
这个问题的原因是什么?不能使用云资源。
解释一下。
已经初步宣布了 计划中的 变化。下一个 版本的最终 变化清单将在 版本本身发布后 公布。
我对指标代码进行了长时间的啃咬,直到我对捕捉错误完全绝望为止。我没有把它写在 "傻瓜 "里,因为我怀疑不是我犯的错误,而是终端工作中的错误。
该指标的目的是将分形从另一个时间框架放置到当前时间框架上,并在新的分形条出现时增加新的分形。请不要提出其他放置分形箭头的方法,这与此无关;我们有关于这个代码的基本问题,也许与终端的不正确操作有关。我从iFractals帮助中抽取了一个例子,为了便于感知,逻辑上缩短了一半(仅对上层分形),并借用了标准Fractals.mq5中的一点代码。为了避免任何误解,我必须非常谨慎:我几乎绑定了所有可能的数组,并清理了工作数组,释放了被调用指标的句柄,这并没有给结果带来任何明显的差异。我们注意到操作中的以下问题和特殊性。
我对noosphere的居民,特别是开发人员有一个请求:你能不能解释每一个项目,并建议如何调试指标代码(如果我不改变其实现)。
谢谢,并附上文件。
P.S.: 在文件名中是有括号的,但上传后被破坏了。
我如何确定魔法交易的当前利润?
这个代码在关闭的交易中返回利润,而我需要在开放的交易中返回。
我怎么知道为什么初始化失败?
我在初始化开始前用以下方法重置错误
ResetLastError();
在初始化结束时,我看到一个错误
Print("Ошибка " + IntegerToString(GetLastError()));
我最终进入了专家顾问选项卡
2011.11.11 08:47:51 SimpleExpert (EURUSD,H1) 错误0
在 "日记 "标签上
2011.11.11 08:47:51 专家初始化SimpleExpert(EURUSD,H1)失败。
我如何知道初始化失败的原因?
在开始初始化之前,我用函数重置了错误
ResetLastError();
在最后,我显示一个错误
Print("Ошибка " + IntegerToString(GetLastError()));
我在 "专家 "选项卡中得到以下结果
2011.11.11 08:47:51 SimpleExpert (EURUSD,H1) 错误0
在 "日记 "标签上
2011.11.11 08:47:51 专家初始化SimpleExpert(EURUSD,H1)失败。
OnInit是返回0还是不返回0?
OnInit返回真,不知为何错过了。
谢谢,可以了。
我如何确定魔法交易的当前利润?
这段代码在已关闭的交易中返回利润,但我需要在未关闭的交易中返回。