请教如何实现多货币的持仓止损成本统计? 新评论 YWSY 2013.10.31 11:01 我发现在MT4上统计的货币持仓止损成本(止损价与开仓价之差)统计结果在不同货币窗口显示不一样? 怎能样解决? 我用下面这个公式检查过. #property indicator_chart_window extern string 交易品种="EURUSD"; //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ int start() { Comment(ATotalRisk()); //---- return(0); } //+------------------------------------------------------------------+ double ATotalRisk() { double BRisk=0,SRisk=0; for(int i=0;i<OrdersTotal();i++) { OrderSelect(i,SELECT_BY_POS,MODE_TRADES); if(OrderSymbol()==交易品种) { if(OrderType()==OP_BUY || OrderType()==OP_BUYLIMIT || OrderType()==OP_BUYSTOP) { BRisk+=(OrderStopLoss()-OrderOpenPrice())*OrderLots(); } if(OrderType()==OP_SELL || OrderType()==OP_SELLLIMIT || OrderType()==OP_SELLSTOP) { SRisk+=(OrderOpenPrice()-OrderStopLoss())*OrderLots(); } } } return(MarketInfo(Symbol(),MODE_TICKVALUE)*(BRisk+SRisk)/MarketInfo(Symbol(),MODE_TICKSIZE)); } 新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 哪个函数可以算出,已平仓的订单的 赢利点数,与赢利金额? 编码帮助 BaiChun Li 2013.12.01 09:11 #1 没明白到底是要什么。 如果要得到与金额有关的数据,可以去找我之前回复过的一个帖子在那里应该可以得到启发。 okwh 2013.12.03 12:51 #2 Symbol()改用OrderSymbol() YWSY 2013.12.15 12:16 #3 boltfx: 没明白到底是要什么。 如果要得到与金额有关的数据,可以去找我之前回复过的一个帖子在那里应该可以得到启发。 我想做一个持有多货币时在当前窗口显示持仓风险成本 但发现做出来后在基础货币与交叉货币或黄金上各显示不一样一结果 所以用上面这个单个货币统计在不同货币上检测显示问题。 YWSY 2013.12.15 12:17 #4 DxdCn: Symbol()改用OrderSymbol() 谢谢!我明天试试 YWSY 2013.12.15 23:55 #5 谢谢! 答案正解。 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我发现在MT4上统计的货币持仓止损成本(止损价与开仓价之差)统计结果在不同货币窗口显示不一样?
怎能样解决?
我用下面这个公式检查过.
#property indicator_chart_window
extern string 交易品种="EURUSD";
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
Comment(ATotalRisk());
//----
return(0);
}
//+------------------------------------------------------------------+
double ATotalRisk()
{
double BRisk=0,SRisk=0;
for(int i=0;i<OrdersTotal();i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderSymbol()==交易品种)
{
if(OrderType()==OP_BUY || OrderType()==OP_BUYLIMIT || OrderType()==OP_BUYSTOP)
{
BRisk+=(OrderStopLoss()-OrderOpenPrice())*OrderLots();
}
if(OrderType()==OP_SELL || OrderType()==OP_SELLLIMIT || OrderType()==OP_SELLSTOP)
{
SRisk+=(OrderOpenPrice()-OrderStopLoss())*OrderLots();
}
}
}
return(MarketInfo(Symbol(),MODE_TICKVALUE)*(BRisk+SRisk)/MarketInfo(Symbol(),MODE_TICKSIZE));
}