"Floating PositionSelect()错误 - 页 6

 
Karputov Vladimir:
你头像下的数字并不属于你,所以你对它们没有权力(你不能随意改变它们)。

我不想自己改,拜托了 :)

好吧,如果你不能用1000来改变它,至少要把它乘以100。

 
prostotrader:

我不想自己改,拜托了 :)

好吧,如果你不能乘以1000,至少乘以100吧。

你不能。不允许。不可能的。
 
Karputov Vladimir:

你头像下的数字不属于你,所以你对它们没有控制权(你不能随意改变它们)。

已添加。

忘记交易前的订单,类型为TRADE_TRANSACTION_DEAL_ADD。为什么 "忘记它"?因为这样做是不对的。

忘了交易吧,我悄悄地告诉你,你可以从历史中发现交易的情况。

当历史交易进来的时候。没有订单,所以你可以看到订单所 "制造 "的东西。

有了这个简单的功能。

double GetDealsVolume(const string a_symbol,const ulong a_ticket,const datetime start)
  {
   double volume=0;
   if(HistorySelect(start-180,TimeTradeServer()+180))
     {
      int deals=HistoryDealsTotal();
      if(deals>0)
        {
         for(int i=deals-1; i>=0; i--)
           {
            ulong deal_ticket=HistoryDealGetTicket(i);
            ulong ticket=ulong(HistoryDealGetInteger(deal_ticket,DEAL_ORDER));
            if(( ticket>0) && (ticket==a_ticket))
              {
               volume+=HistoryDealGetDouble(deal_ticket,DEAL_VOLUME);
              }
           }
        }
     }
   return( volume );
  } 
 
prostotrader:

忘了交易吧,我悄悄地告诉你,你可以从历史中发现交易的情况。

当历史交易到达时。

有了这个简单的功能。

你是不专心的。

...
在TRADE_TRANSACTION_DEAL_ADD类型的交易之前,忘记订单。为什么要 "忘记"?因为这是不对的。

然后你就可以记住关于认股权证的事情了。

 
Karputov Vladimir:

你是不专心的。

然后你就可以记住关于认股权证的事情了。

谢谢,我会尽量不忘记的 :)

那么x100呢?

已添加。

只是这里有一个麻烦。

交易是第一位的,我怎么知道是否是第一位的?

或者反过来说,交易在先。

 
prostotrader:

谢谢,我会尽量不忘记的 :)

那么x100呢?

我已经做了。

 
prostotrader:

...

已添加。

只是这里有一个麻烦。

Hist. 交易是第一位的,但我怎么知道它是第一位的?

或者反过来说,交易是第一位的。

需要考虑一下。澄清一下,是不是当有超过1个量的订单被触发时?
 
Karputov Vladimir:
我需要考虑一下。请澄清一下,是不是当成交量超过1的订单被触发时?
订单是什么或数量是多少并不重要
 

如果一切都像MQ亚历山大说的那样工作,那么

就不会有任何问题

因为它是,不可能告诉...:(

因为交易可能已经在历史上的交易完成之前:1.0。

根据阿列克桑德的说法,它将这样工作(而且是正确的!)。

当历史交易到达时

初始交易量-当前交易量=已完成的交易-已经到达的 交易

不要把 旗子和处理位置和命令!要把旗子和命令放在一起。

--------------------------------

初始交易量-当前交易量!=已完成的交易-下一步 是交易。

你应该设置 标志,等待 交易,并使用标志来处理头寸和订单!

这就是全部!

 
在TRADE_TRANSACTION_DEAL_AD之前更新的交易记录
未处理, 开始时间: 2016.08.15 18:43, #1537513