если позиция одна то вопрос не понятный (убыток /профит/ позиции оценивается по текущим ценам BID ASK и не может быть средним)
M_Dimens:
если позиция одна то вопрос не понятный (убыток /профит/ позиции оценивается по текущим ценам BID ASK и не может быть средним)
А что в правиле расчёта среднего, есть обязательное условие: N > 1 ?
если позиция одна то вопрос не понятный (убыток /профит/ позиции оценивается по текущим ценам BID ASK и не может быть средним)
- покупая валютную пару GBP/USD, по котировке 1,6320, вы приобретаете: 100.000 / 1,6320 = 61.274 британских фунтов. Как мы помним, минимальным изменением цены на рынке форекс является пункт. Мы можем очень просто подсчитать его стоимость в долларах США и приблизительно оценить потенциал сделки с этой валютой. В случае с GBP/USD стоимость одного пункта будет равна: 0,0001 * 61.274 = 6,1 доллара США.
- Размер стандартного лота для обратных котировок различный и зависит от размера валютной пары. К примеру, для валютной пары USD/JPY она будет составлять 12.500.000 японских йен. Расчет стоимости одного пункта (для данной валютной пары – это 0,01) будет зависеть от текущей котировки самой пары. К примеру, при котировке USD/JPY 91,40 стоимость одного пункта будет равна: (1 / 91,39 – 1/91,40) * 12.500.000 = 14,96 долларов США для одного стандартного лота. Причем, если речь идет о покупке валютной пары, то мы должны подставлять цену покупки, а если о продаже – цену продажи.
- Возвращаясь к нашей формуле, давайте подсчитаем результат одной внутридневной (позиция, открываемая и закрываемая в течение одного и того же дня) сделки с парой USD/JPY. Как вы видите, перед нами обратная котировка. На данный момент ее значение 90,68/90,70. В соответствии с нашим прогнозом, значение котировки должно в скором времени пойти вверх. Поэтому мы покупаем половину стандартного лота этой валютной пары по цене 90,70. В течение нескольких часов котировка USD/JPY поднимается до значения 91,45, и мы решаем закрыть сделку. Наш результат:
- (91,45 – 90,70) * 100 * 14,96 * 0,5= 561 доллар США
Расчет результатов сделок с кросс-курсами
- Подсчитать результат сделки с кросс-курсами валют немного сложнее. Мы уже упоминали в одной из предыдущих глав, что кросс-курсами называются валютные пары, не включающие в себя доллар США. Любой из кросс-курсов представляет собой две долларовые котировки. К примеру, кросс-курс GBP/JPY рассчитывается через котировки GBP/USD и USD/JPY. Для подсчета результата сделки по кросс-курсу нам необходимо сначала подсчитать результат по котировке GBP/USD, а затем – по котировке USD/JPY. После этого оба результата складываются – и вы получаете общий результат сделки.
Может автор имелл ввиду уровень безубытка открытых позиций? Рекомендую скрипт от "Хирурга".
//+------------------------------------------------------------------+ //| Zero_Level.mq4 | //| Copyright © 2007, Xupypr | //+------------------------------------------------------------------+ // Скрипт вычисляющий уровни без убытка, на покупку, на продажу с учетом накопленных свопов. #property copyright "Copyright © 2007, Xupypr" #include <WinUser32.mqh> void start() { double BuyLots=0; double SellLots=0; double BuyProfit=0; double SellProfit=0; int Total=OrdersTotal(); for (int i=Total-1;i>=0;i--) { if (OrderSelect(i,SELECT_BY_POS)) { if (OrderSymbol()!=Symbol()) continue; if (OrderType()==OP_BUY) { BuyLots=BuyLots+OrderLots(); BuyProfit=BuyProfit+OrderProfit()+OrderCommission()+OrderSwap(); } if (OrderType()==OP_SELL) { SellLots=SellLots+OrderLots(); SellProfit=SellProfit+OrderProfit()+OrderCommission()+OrderSwap(); } } } double Price=0; double TickValue=MarketInfo(Symbol(),MODE_TICKVALUE); if (BuyLots>0) double BuyLevel=NormalizeDouble(Bid-(BuyProfit/(TickValue*BuyLots)*Point),Digits); else BuyLevel=0; if (SellLots>0) double SellLevel=NormalizeDouble(Ask+(SellProfit/(TickValue*SellLots)*Point),Digits); else SellLevel=0; if ((BuyLots-SellLots)>0) Price=NormalizeDouble(Bid-((BuyProfit+SellProfit)/(TickValue*(BuyLots-SellLots))*Point),Digits); if ((SellLots-BuyLots)>0) Price=NormalizeDouble(Ask+((BuyProfit+SellProfit)/(TickValue*(SellLots-BuyLots))*Point),Digits); string Title="Уровень без убытка для "+Symbol(); string ZeroLevel=" не существует"; if (Price>0) ZeroLevel=" = "+DoubleToStr(Price,Digits); string Buy=" не существует"; if (BuyLevel>0) Buy=" = "+DoubleToStr(BuyLevel,Digits); string Sell=" не существует"; if (SellLevel>0) Sell=" = "+DoubleToStr(SellLevel,Digits); string Message="Уровень без убытка"+ZeroLevel+"\t\nУровень на покупку"+Buy+"\t\nУровень на продажу"+Sell; MessageBox(Message,Title,MB_OK|MB_ICONINFORMATION); }
BeerGod:
Может автор имелл ввиду уровень безубытка открытых позиций? Рекомендую скрипт от "Хирурга".
Да-да, спасибо большое за оперативность !! )
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Всем привет !
Объясните новичку, плз, как посчитать среднюю цену ТЕКУЩЕЙ позиции ?
Есть N покупок.
Как лучше посчитать :
( Price_1*Qty_1 + ... Price_N*Qty_N) / (Qty_1 + .. Qty_N) ??
Спасибо !