XAUUSD неправильный размер лота на счете, номинированном в GBP? - страница 2

 
DomGilberto:
Нет, это не счет для ставок на спред.

@WHRoader - Что вы имеете в виду, когда говорите, что я не хочу включать пункты в этот расчет?

Как я могу применить правильный риск к данной сделке на основе расстояния до стопа, если я не включаю пункты в формулу...? (в замешательстве).

23.64 || 2,364 пункта... Вот что я пытаюсь понять... Честно говоря, я убежден, что применяю слишком мало позиций на 1 тройскую унцию, потому что у меня счет, номинированный в фунтах стерлингов... Мне просто нужно, чтобы кто-то сказал мне, что я прав / не прав, исходя из того, что я показал?


Вы предполагаете, что расчет размера позиции неверен, потому что при убытке вы теряете не тот процент, которым хотели рискнуть? Вы учитываете спред при расчете? Если нет, то это может быть более заметно на этом инструменте, поскольку он имеет тенденцию иметь больший спред.
 

@ RaptorUK - Когда я говорю, что размер позиции меньше, чем должен быть, я имею в виду почти половину...

Если позиция достигает первой цели, то она должна быть снята на 25%, если это применимо, иначе закрывается 1 минимальный размер лота || 1 тройская унция. Общий денежный риск по этой сделке равен приблизительно £75.00 risk..... Торговля XAUUSD находится чуть более чем на 2/3 пути к фиксации прибыли на первой цели... текущий открытый P & L по этой позиции составляет около £18.00.....

Теперь, применив ту же формулу ко всем валютным парам, которыми я торговал до сих пор; они настолько точны, насколько мне нужно... Только золото и серебро - нет... Спред по этим парам будет несущественным из-за того, что я не стреляю на 5-20 пунктов... Стопы и цели чаще всего составляют примерно 80-250 пунктов...

 
GumRai:

Не могли бы вы показать ваш код, который приводит к такому выводу?

double loss_for_1_lot1 = pips_to_ssl/ ts * tv ;

2013.11.08 23:40:30 2013.06.19 19:00 V1 - XAUUSD XAUUSD,H1: формула loss_for_1_lot1: 23.64 / 0.01 * 0.01 = 23.64

Возможно, вы могли бы добавить этот принт

Print("Валюта счета = ",AccountCurrency() );

чтобы подтвердить, что вы действительно торгуете GBP в ST, потому что я не вижу способа, которым tv может быть 0.01.


2013.11.11 10:13:12     2013.06.17 15:00  V1 - XAUUSD XAUUSD,H1:  Account # (deleted) -- leverage is 1:200 -- Account currency is GBP -- Minium Lots are: 1 -- Min Lot Step is: 1
Я могу вас заверить, что он деноминирован в фунтах стерлингов...

Что значит покажите код, который приводит к этому отпечатку, он у вас там есть?
 
DomGilberto:

Я могу вас заверить, что это GBP деноминированный...

Что значит показать код, который приводит к этому выводу, он у вас там есть?

Это вывод Print(), а не код. Вы можете показать код, который дает этот вывод, фактический оператор Print( . . . . ), нам нужно увидеть, откуда вы получаете значение Tick, потому что что-то не так с этим. На самом деле, похоже, что вы печатаете ts (размер тика) дважды. ...

23.64 / 0.01 * 0.01 = 23.64 неверно, 0.01 * 0.01 = 0.0001 и 23.64 / 0.0001 = 236400.

 
Ну вот:

//+------------------------------------------------------------------+
//| Order Enter Function                                             |
//+------------------------------------------------------------------+
void OrderEntry(int direction)
{
   //Padding for the stop and padding for the entry too. 
   double ATR_Pad = iATR(NULL,60,14,1)/2; 
   double Buy_Pad = NormalizeDouble(ATR_Pad,Digits);
   double Sell_Pad = NormalizeDouble(ATR_Pad,Digits);
   
   //Stop calculations.    
   double ATR = iATR(NULL,60,14,1);
   double MA = iMA(NULL,60,MA_Period,0,1,0,1);
  
   //Lot calculation   
   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);
            
      double BuyStopPriceMath = MA - ATR;
      double BuyStopPrice = NormalizeDouble(BuyStopPriceMath,Digits);

      //get our buystop price from below the ma and our takeprofit based on our r:r ratio.
      double pips_to_bsl=buyPrice-BuyStopPrice;
      double buy_tp_price=(pips_to_bsl*RewardRatio)+buyPrice;
      double buy_takeprofit_price= NormalizeDouble(buy_tp_price, Digits);
      
      double loss_for_1_lot = pips_to_bsl/ ts * tv ;
      double LotSize_Buy = MathFloor( risk_amount / loss_for_1_lot/ Lot_Step) * Lot_Step ;

      double btp=buy_takeprofit_price;
      int PositionIndex1;    
      int TotalNumberOfOrders1;   
      TotalNumberOfOrders1 = OrdersTotal();   

      static double Stored_BuyPrice;

      if( OpenOrdersThisPair(Symbol())==0 && LotSize_Buy - minlot > - Point )
         {
         int BuyTicketOrder = OrderSend(Symbol(),OP_BUYSTOP,LotSize_Buy,buyPrice,3,BuyStopPrice,btp,NULL,MagicNumber,0,Green);
         if(BuyTicketOrder == -1)Print("First Buy Order Last Error = ",GetLastError(), " On: ", Symbol());
         if(BuyTicketOrder > 0)Print("FIRST BUY ORDER PLACED: ", Symbol(), " LotSize_Buy is: ", LotSize_Buy );
         } 


Вот также печать ticksize и tickvalue на реальном счете под XAUUSD:

2013.11.11 06:10:51  V1 - XAUUSD XAUUSD,H1:  Account # (CENSORED) -- leverage is 1:200 -- Account currency is GBP -- Tick Size is: 0.01 -- Tick Value is: 0.01
 

TickSize и Tickvalue должны быть одинаковыми @ 0.01? 0.01 - это тик, и для каждого тика движение будет равно колебанию P & L на 0.01 цента при наименьшем размере позиции... если предположить, что у меня USD счет, то это будет точно...

Это звучит неправильно?

Также:

"23,64 / 0,01 * 0,01 = 23,64 неверно, 0,01 * 0,01 = 0,0001 и 23,64 / 0,0001 = 236400".

Да - Это было бы правильно, если бы я выделил формулу следующим образом:

"23.64 / ( 0.01 * 0.01 ) = 236400 "

Но поскольку это одна постоянная формула, ответ верен с точки зрения получения 23,64... Дело в том, является ли это число правильным в соответствии с заполнением правильного размера позиции?

 
DomGilberto:
Хорошо, вот он:



Вот также распечатка ticksize и tickvalue на реальном счете под XAUUSD:


Извините, мой предыдущий расчет был неверным...

Вы все еще не показали код, который производит этот вывод...

2013.11.08 23:40:30     2013.06.19 19:00  V1 - XAUUSD XAUUSD,H1:  loss_for_1_lot1 formula: 23.64 / 0.01 * 0.01 = 23.64

... но не важно.

Tick Value - стоимость тика в валюте депозита.


Я понимаю, сколько стоит 1 пункт в валюте депозита для 1 стандартного лота - на моем графике для USD счета для XAUUSD TickValue составляет 1.06908.

 

Что? Это не имеет никакого смысла для меня - Почему значение тика, которое я вижу, просто возвращает 0.01...

Код весь там ^?

double loss_for_1_lot = pips_to_bsl/ ts * tv ;

"loss_for_1_lot" - это то же самое, что и "loss_for_1_lot1", но на стороне покупки... извините за переключение с покупки на продажу, я просто хватаю первое, что печатается в ST, будь то покупка или продажа...

Кто ваш брокер? Может ли моя стоимость тика иметь какое-то отношение к тому, что он номинирован в фунтах стерлингов? (смущенно)

 
Хорошо - Я проверил Alpari UK, и они ответили следующее - Это счет, деноминированный в фунтах стерлингов...
2013.11.11 13:57:37     Pip value XAUUSD,H1: Alert:  Tick Value is: 0.0626 -- Tick Size is: 0.001
 
DomGilberto:

Что? Это не имеет никакого смысла для меня - Почему значение тика, которое я вижу, просто возвращает 0.01...

Возможно, ваш брокер что-то напутал... такое иногда случается.

DomGilberto:

Код находится там ^?

"loss_for_1_lot" - это то же самое, что и "loss_for_1_lot1", но на стороне покупки... извините за переключение с покупки на продажу, я просто беру первое, что печатается в ST, будь то покупка или продажа...

Неа ... Print("формула loss_for_1_lot1: ", ... ... ) там нет. . .

ДомЖильберто:

Кто ваш брокер? Может ли моя стоимость тика иметь какое-то отношение к тому, что он номинирован в фунтах стерлингов? (смущенно)

Я попробовал с GoMarkets, на Alpari на GBP счете я получил 0.626 ... ... возьмите это и умножьте на GBPUSD и вы получите 0.626 * 1.5974 = 0.999, так что это согласуется с моим предыдущим значением на USD счете 1.06908, учитывая разных брокеров и цены символов и т.д.