初学者的问题 MQL5 MT5 MetaTrader 5 - 页 897 1...890891892893894895896897898899900901902903904...1503 新评论 Andy 2018.07.05 13:47 #8961 似乎很清楚,我想是这样的。再次感谢! Andy 2018.07.06 08:24 #8962 Alexey Viktorov: 你可以。如何? Alexey Viktorov 2018.07.07 10:48 #8963 Andy:如何?这个小家伙已经告诉了我一切。 Sile Si 2018.07.09 07:04 #8964 Alexey Kozitsyn:位置标识符将不会改变。用它来搜索交易。谢谢你。在清算后,该函数并没有按照预期返回交易的平均价格,而是返回重新开仓 的价格。错误在哪里,请告诉我。 double Aver_Pr_sell_nett() { double total_price_multiply_volume_sell = 0.0; double total_volume_sell = 0.0; double net_price_sell_=0.0; string symb=_Symbol; int total =0; // for(int i=0; i<PositionsTotal(); i++) { ulong pt=PositionGetTicket(i); long ID=PositionGetInteger(POSITION_IDENTIFIER); if(PositionGetString(POSITION_SYMBOL)==symb && HistorySelect(PositionGetInteger(POSITION_TIME),TimeCurrent()+60)) { //--- Получим количество сделок в полученном списке total=HistoryDealsTotal(); //--- Пройдем по всем сделкам в полученном списке for(int i=0; i<total; i++) { ulong dt = HistoryDealGetTicket(i); long did = HistoryDealGetInteger(dt, DEAL_POSITION_ID); ENUM_DEAL_ENTRY in_out=HistoryDealGetInteger(dt,DEAL_ENTRY); if(did==pt && in_out==DEAL_ENTRY_IN) { if(m_position.PositionType()==POSITION_TYPE_SELL) { total_price_multiply_volume_sell+=PositionGetDouble(POSITION_PRICE_OPEN)*PositionGetDouble(POSITION_VOLUME); total_volume_sell+=PositionGetDouble(POSITION_VOLUME); if(total_price_multiply_volume_sell!=0 && total_volume_sell!=0) { net_price_sell_=total_price_multiply_volume_sell/total_volume_sell; }; } } } } } //--- return(net_price_sell_); } [删除] 2018.07.09 08:17 #8965 Sile Si:谢谢你。在清算后,该函数并没有按照预期返回交易的平均价格,而是返回重新开仓 的价格。错误在哪里,请告诉我。如果你在与一个职位合作,就与该职位一起工作。如果你在做交易,就在交易上下功夫。交易是交易的价格,而不是职位的价格。 Sile Si 2018.07.09 14:46 #8966 Alexey Kozitsyn:如果你是与一个职位一起工作,就与一个职位一起工作。如果你在做交易,就在交易上下功夫。交易显示的是交易的价格,而不是仓位的价格。我不是选择了开仓时 涉及的交易吗? [删除] 2018.07.09 14:52 #8967 Sile Si:我不是选择了开仓时 涉及的交易吗? 该算法很简单:你选择一个头寸,通过头寸ID,选择它的所有交易。你只选择那些构成头寸数量的交易进行工作,也就是说,你排除了清算的交易。 在选择了一个位置后,你会收到它的交易,然后你会要求一个位置的价格!而且你需要每个具体交易的价格。 Sile Si 2018.07.09 15:17 #8968 Alexey Kozitsyn: 而且你需要每个具体交易的价格。对不起,我不明白如何选择交易而不是仓位,请告诉我) [删除] 2018.07.09 15:20 #8969 Sile Si:对不起,我不明白如何选择交易而不是仓位,请告诉我)ulong dt = HistoryDealGetTicket(i); Sile Si 2018.07.09 16:56 #8970 Alexey Kozitsyn: 好吧,这就是我所做的。 ulong dt = HistoryDealGetTicket(i); long did = HistoryDealGetInteger(dt, DEAL_POSITION_ID); 然后我将交易ID与头寸代码进行比较,我想我已经选择了交易。 但它返回的是仓位的价格。为什么? 1...890891892893894895896897898899900901902903904...1503 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
你可以。
如何?
如何?
这个小家伙已经告诉了我一切。
位置标识符将不会改变。用它来搜索交易。
谢谢你。在清算后,该函数并没有按照预期返回交易的平均价格,而是返回重新开仓 的价格。错误在哪里,请告诉我。
谢谢你。在清算后,该函数并没有按照预期返回交易的平均价格,而是返回重新开仓 的价格。错误在哪里,请告诉我。
如果你在与一个职位合作,就与该职位一起工作。如果你在做交易,就在交易上下功夫。交易是交易的价格,而不是职位的价格。
如果你是与一个职位一起工作,就与一个职位一起工作。如果你在做交易,就在交易上下功夫。交易显示的是交易的价格,而不是仓位的价格。
我不是选择了开仓时 涉及的交易吗?
我不是选择了开仓时 涉及的交易吗?
该算法很简单:你选择一个头寸,通过头寸ID,选择它的所有交易。你只选择那些构成头寸数量的交易进行工作,也就是说,你排除了清算的交易。
在选择了一个位置后,你会收到它的交易,然后你会要求一个位置的价格!而且你需要每个具体交易的价格。
而且你需要每个具体交易的价格。
对不起,我不明白如何选择交易而不是仓位,请告诉我)
对不起,我不明白如何选择交易而不是仓位,请告诉我)
好吧,这就是我所做的。
然后我将交易ID与头寸代码进行比较,我想我已经选择了交易。
但它返回的是仓位的价格。为什么?