XAUUSD在以英镑计价的账户上的手数错误? - 页 4

 
FXCM的即时聊天人员是绝对的白痴!我问他们为什么XAUUSD和XAGUSD的TICK_VALUE会返回到0.01,他们的回答是:"我不知道。

我问他们为什么XAUUSD和XAGUSD的TICK_VALUE返回为0.01,他们的回答是。

他们的回答是:"因为我们把它四舍五入到0.01美元--那是最小的刻度值......" - 好吧......那么最小的手数=1.00,相当于0.10美元......那么再给我讲一遍吧?最小的tick值是多少?"0.01美元",他们真够笨的!!"。
 
很抱歉在这里写了很多 - 但这有意义吗?有谁能在这里给我说说,我暂时如何与FXCM合作?

//get our sellstop price from below the ma and our takeprofit based on our r:r ratio.
      
      double pips_to_ssl = SellStopPrice - sellPrice;

      double sell_tp_price = sellPrice - (pips_to_ssl*RewardRatio);

      double sell_takeprofit_price = NormalizeDouble(sell_tp_price, Digits);
      
      double loss_for_1_lot1 = pips_to_ssl / ( 0.10 / MarketInfo( Symbol(), MODE_BID ) * ts ); //<<< ?????????
         
      double LotSize_Sell = MathFloor( risk_amount / loss_for_1_lot1/ Lot_Step) * Lot_Step ;
(例如,pips_to_ssl可能是45.32点 - 0.10是每点0.10美元,fxcm上每1.00手0.01美元)
 
DomGilberto:

如果这是正确的,那么这怎么会有意义呢?

当前打开的XAUUSD头寸。137.60点上涨 - 开放P&L 17.22英镑 ...我不是数字专家,但我有2金衡盎司的开仓,每0.01点应该是0.02英镑......。

137.60 * £0.02 = £2.750

1376.0 * £0.02 = £27.52

13760 * £0.02 = £275.2

没有一个是正确的...

这是根据这位FXCM专家告诉我的,lol!?


你怎么会有137.60分的涨幅?谈论点数时没有小数点。

你的意思是,订单开仓价和当前价格之间的差额是137.60?如果是这样的话,这将意味着你一定是在8月底开的单。这是真的吗?

如果不是,请出示订单开仓价、当前价格和当前利润

我们已经无数次要求你展示打印报表的代码。除非我错过了,否则你仍然没有显示。

 
你说的是什么代码?XAUUSD的仓位是(是的,你是对的,我不是指点数--只是把术语搞混了--我只是在看拉动数字的方式)。

XAUUSD开仓。开仓价格: 1297.22 --规模:2.00 --当前价格:1283.24 --期限货币:27.96美元 --入金货币:17.49英镑。

印刷品也在下面--我把它们放进去是为了让大家更容易看到?

   //Lot calculation - Facilitates Notional and Lots within MT4 - As well as find the tick value relative to the account denomination.   
   double risk_amount = AccountBalance( )*RiskPercent/100;
   double Lot_Step = MarketInfo(Symbol(), MODE_LOTSTEP);
   double ts = MarketInfo(Symbol(), MODE_TICKSIZE);
   double tv = MarketInfo(Symbol(), MODE_TICKVALUE);
   double minlot = MarketInfo(Symbol(), MODE_MINLOT);
         
          
//+-------------------------------------------------------------------------------------+
//| Order Buy Function                                                                  |
//+-------------------------------------------------------------------------------------+   

//Place a pending buystop if no orders exists. Pending or otherwise.
if(direction==0)
{ 
      
      //Get Highest Price in our lookback range and set buy price above it.
      int iTBT = iBarShift(NULL,60, triggerBarTime, true),
      iHH = iHighest(NULL,60, MODE_HIGH, iTBT + CandlesBeforeBiasObtained, 0);
      double Buy_Here = High[iHH] + Buy_Pad;
      double buyPrice= NormalizeDouble(Buy_Here,Digits);
         Print(" buyPrice: ", buyPrice );
            
              2013.11.11 22:36:4 2009.07.27 17:00  V1 - XAUUSD XAUUSD,H1:  buyPrice: 959.79


      double BuyStopPriceMath = MA - ATR;
         Print(" MA - ATR: ", MA, " - ", ATR, " = ", BuyStopPriceMath);
     
              2013.11.11 22:36:4 2009.07.27 17:00  V1 - XAUUSD XAUUSD,H1:  MA - ATR: 952.0315 - 2.7714 = 949.2601
 

      double BuyStopPrice = NormalizeDouble(BuyStopPriceMath,Digits);
         Print(" BuyStopPrice: ", BuyStopPrice);
              
              2013.11.11 22:36:4 2009.07.27 16:00  V1 - XAUUSD XAUUSD,H1:  BuyStopPrice: 949.3

      //get our buystop price from below the ma and our takeprofit based on our r:r ratio.
      
      double pips_to_bsl=buyPrice-BuyStopPrice;
         Print(" pips_to_bsl formula: ", buyPrice, " - ", BuyStopPrice, " = ", pips_to_bsl);  
              
              2013.11.11 22:36:4 2009.07.27 16:00  V1 - XAUUSD XAUUSD,H1:  pips_to_bsl formula: 959.75 - 949.3 = 10.45
      
      double loss_for_1_lot = pips_to_bsl / ts * tv ;
         Print(" loss_for_1_lot formula: ", pips_to_bsl, " / ", ts, " * ", tv ," = ", loss_for_1_lot );

              2013.11.11 22:36:4 2009.07.27 16:00  V1 - XAUUSD XAUUSD,H1:  loss_for_1_lot formula: 10.45 / 0.01 * 0.01 = 10.45

      double LotSize_Buy = MathFloor( risk_amount / loss_for_1_lot/ Lot_Step) * Lot_Step ;
         Print(" LotSize_Buy: ( ", risk_amount, " / ", loss_for_1_lot, " / ", Lot_Step, " ) * ", Lot_Step); 

              2013.11.11 22:47:4 2009.07.27 16:00  V1 - XAUUSD XAUUSD,H1:  LotSize_Buy: ( 78.1668 / 10.45 / 1 ) * 1


...
 

这是你自己计算的,还是来自于经纪人?

"期货货币: $27.96 "

 
它来自MT4内的经纪人--当你右击开仓订单并选择它时...
 

我现在在FXCM的XAGUSD上有一个开仓订单 - 最小规模是50.00手。同样,刻度值显然是0.01(事实)。

XAGUSD。

进场是21.245 - 止损是21.812 - 规模是100.00 -账户余额 是3,840.51英镑 - 此交易的风险是账户余额的1.5%()。(+53英镑给或不给未平仓的P&L)。

XAGUSD的50.00手是每1手0.01美元,所以每点值0.50美元 - 0.01。(TICK_SIZE告诉我它是 "0.001",即使我已经与FXCM的工作人员检查了50手是0.50美元/0.01,并测试了它?)

0.50美元/GBPUSD是刻度值...

-- 因此,根据我的公式,我在分配给这笔交易的100手规模上羞涩了50手,因为FXCM的服务器设置被搞砸了。(就Tick Value 0.001 || Tick Size: 0.001而言)...

计算结果是这样的:

风险(英镑):57.60英镑(3,840.51英镑的1.5%)。

(SL)21.812 - (Entry) 21.245 = 56.7

50.00手=0.50美元/1.59841=0.31英镑(每50.00手)

150.00 = 0.93英镑/点 * 56.7 = 52.73英镑,这个交易的风险...

 
当刻度值和刻度大小告诉我是0.001和0.001时,谁能帮我提出一个解决方法?
 
DomGilberto:
当Tick Value和Tick Size告诉我是0.001和0.001的时候,谁能帮助提出一个解决方法?
不是很理想,但你不能通过使用XAUUSD、GBPUSD和GBPUSD TickValue的汇率来计算出正确的Tick Value吗? 因此,你的代码检查MarketInfo()返回的Tick Value是否可能是无效的,如果是,那么它将计算它,那么对于一个有能力的经纪商,它不需要计算TickValue。

我见过一些类似的做法,用于计算策略测试器中的TickValues ......理想情况下,你将编码一个函数,查看符号和基础货币对,然后执行相关计算。

.......这就是我说我看到过的类似东西时想到的:https://www.mql5.com/en/forum/127798/page2#356736
 
谢谢你 :)- 我现在就去看看!

另外,在您看来,FXCM对我看到的Tick Value的看法是否有误?他们坚持说这是非常正常的?你不知道为什么他们会把它搞砸,是吗?