По какой формуле расчитывать профит из пипсов в USD

 
Я немогу понять как превратить пипсы в профит

по какой формуле расчитывать профит из пипсов

к примеру USDCHF 1717 пипсов зделал превращяем в 19.18 USD

к примеру EURAUD 3746 пипсов зделал превращяем в 32.51 USD

подскажите если кто знает




Trade Positions
Symbol Time Type Volume Price S / L T / P Market Price Swap Profit Comment Pips
AUDJPY 2014.01.21 17:43:05 sell 0.0100 91.819 88.924 - 0.47 28.29 2895
AUDUSD 2014.01.21 17:43:19 sell 0.0100 0.88033 0.86874 - 0.45 11.59 1159
EURAUD 2014.01.21 17:44:42 buy 0.0100 1.53738 1.57484 - 0.71 32.51 3746
EURJPY 2014.01.21 17:44:52 buy 0.0100 141.180 139.904 0.00 - 12.48 1276
GBPCHF 2014.01.21 17:47:14 sell 0.0100 1.50096 1.47458 - 0.15 29.48 2638
GBPUSD 2014.01.21 17:44:47 buy 0.0100 1.64617 1.64767 0.05 1.50 150
USDCHF 2014.01.21 17:43:14 sell 0.0100 0.91215 0.89498 - 0.05 19.18 1717
XAGUSD 2014.01.21 17:42:59 sell 0.0100 19.855 19.951 0.00 - 4.80 96


прекрепляю файл ReportTrade.xlsx
http://s000.tinyupload.com/index.php?file_id=21929661703069653933
 

Есть три категории символов. Возьмем из вашего примера (USD***, ***USD, и кросс, т.е. например GBPCHF).

GBPCHF2014.01.21 17:47:14sell0.01001.500961.47458- 0.1529.482638
GBPUSD2014.01.21 17:44:47buy0.01001.646171.647670.051.50150
USDCHF2014.01.21 17:43:14sell0.01000.912150.89498- 0.0519.181717

1) для GBPUSD Lots*Pips = Profit ($) пример, 150*0.01=1.5

2) для USDCHF Lots*Pips*(1/MarketPrice of USDCHF) = Profit ($) пример, 1717*(1/0.89498)=19.18

3) для кросса GBPCHF (и других в формате ***CHF) Lots*Pips* (1/MarketPrice of USDCHF) = Profit ($) пример, 2638*(1/0.89498)=29.48 (Выделил красным чтобы заметили и не перепутали :).) Та же логика и для кроссов других валют.

 

Спасибо, а почему тогда для XAGUSD, AUDJPY, EURJPY неполучяется?

XAGUSD, AUDJPY, EURJPY имеет три знака после запятой, все остальные пары пять знаков.



Symbol Time Type Volume Price S / L T / P Market Price Swap Profit Comment Pips
AUDJPY 2014.01.21 17:43:05 sell 0.0100 91.819

88.924 - 0.47 28.29
2895
EURJPY 2014.01.21 17:44:52 buy 0.0100 141.180

139.904 0.00 - 12.48
1276
XAGUSD 2014.01.21 17:42:59 sell 0.0100 19.855

19.951 0.00 - 4.80
96

1 вариант для XAGUSD***USD) Lots*Pips = Profit ($) 0.0100*96 = 0.96 а на реале получается 4.80
3 вариант для кросса AUDJPY (и других в формате ***JPY) Lots*Pips* (1/MarketPrice of USDJPY) = Profit ($) пример, 0.0100*2895*(1/102.793)=0.2816 а на реале получается 28.29 разница в два знака

3 вариант для кросса EURJPY (и других в формате ***JPY) Lots*Pips* (1/MarketPrice of USDJPY) = Profit ($) пример, 0.0100*1276*(1/102.793)=0.1241 а на реале получается 12.48 разница в два знака


Небольшой скрипт для вычисления профита:

int start()
{
double Lot=0.01;
double prise=Lot*PipToUSD("AUDJPY")*(91.819-88.924);
print("prise="+prise);

double prise=Lot*PipToUSD("EURJPY")*(141.180-139.904);
print("prise="+prise);

double prise=Lot*PipToUSD("XAGUSD")*(19.855-19.951);
print("prise="+prise);

return(0);
}

//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
double PipToUSD(string P){

double InfoPoint=MarketInfo(P,MODE_POINT);
if(InfoPoint==0)return(0);

return(RateToUSD(P)/InfoPoint);
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
double RateToUSD(string P){

double InfoAsk=MarketInfo(P,MODE_ASK);
if(InfoAsk==0)return(0);

// if USD Start
string IfUSD=StringSubstr(P,0,3);
if(IfUSD=="USD")return(1/InfoAsk);

IfUSD=StringSubstr(P,3,3);
if(IfUSD=="USD")return(1);
// if USD Start

IfUSD=IfUSD+"USD";
InfoAsk=MarketInfo(IfUSD,MODE_ASK);
if(InfoAsk!=0)return(InfoAsk);

IfUSD=StringSubstr(P,3,3);
IfUSD="USD"+IfUSD;
InfoAsk=MarketInfo(IfUSD,MODE_ASK);
if(InfoAsk!=0)return(1/InfoAsk);

return(0);
}
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+


 

Я считаю стоимость пункта так:

Все валютые пары можно условно разделить на три категории - пары с прямой котировкой (EURUSD, GBPUSD), пары с обратной котировкой (USDJPY, USDCHF) и кросс-курсы (GBPCHF, EURJPY и т.п.).

Для валютных пар с прямой котировкой стоимость пункта, выраженная в долларах, расчитывается по формуле

[pip] = [lot size] × [tick size]

где [lot size] - размер лота; [tick size] - размер тика, например для EURUSD он составляет 0.0001. Для валют с прямой котировкой стоимость пункта постоянна и не зависит от текущей котировки.

Пример.

Для EURUSD размер лота 100000, tick - 0.0001. [pip] = 100000 * 0.0001 = $10.00

Для валютных пар с обратной котировкой:

[pip] = [lot size] × [tick size] / [current quote]

где [current quote] - текущая котировка. Для валютных пар с обратной котировкой стоимость пункта меняется в зависимости от текущей котировки.

Пример.

Для USDJPY размер лота 100000, tick - 0.01. При котировке 129.20, [pip] = 100000 * 0.01 / 129.20 = $7.74

Для кросс-курсов:

[pip] = [lot size] × [tick size] × [base quote] / [current quote]
где [base quote] - текущая котировка базовой (первой) валюты к доллару США.

Пример.

для GBPCHF размер лота составляет 100 тыс. фунтов, базовая валюта GBPUSD; при котировке 2.3000 и базовой котировке 1.4550 стоимость пункта составит 100000 * 0.0001 * 1.4550 / 2.3000 = $6.33.

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

При расчёте профита просто вставьте в приведённые формулы вместо [tick size] разницу между ценами закрытия и открытия позиции (не в пунктах, а абсолютное значение)

 

Спасибо ваша формула работает со всеми парами за исключением XAGUSD

Symbol Volume Pips
Profit
XAGUSD 0.01 96 -4.8
XAGUSD 0.01 327 16.35


По формуле получяется:

[pip] = [lot size] × [tick size]
100000 * 0.01 * 0.001 = 1
327p * 1 = 327$ а на реалле получяется 16.35$
96p * 1 = 96$ а на реалле получяется -4.8$

разница в 0.05 раз
 
Разве у золота и серебра размер лота 100000? Проверьте пожалуйста.
 
А не проще просто использовать TICKVALUE?
 
bird:

Спасибо ваша формула работает со всеми парами за исключением XAGUSD

Symbol Volume Pips
Profit
XAGUSD 0.01 96 -4.8
XAGUSD 0.01 327 16.35


По формуле получяется:

[pip] = [lot size] × [tick size]
100000 * 0.01 * 0.001 = 1
327p * 1 = 327$ а на реалле получяется 16.35$
96p * 1 = 96$ а на реалле получяется -4.8$

разница в 0.05 раз
XAGUSD Lot Size=5000
Причина обращения: