Скачать MetaTrader 5

Чему равна стоимость 1 пункта?

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Не знаешь язык собеседника? Функция автоматического перевода тебе поможет!
Skymer
334
Skymer 2009.02.19 09:54 

Как программно рассчитать, чему равна стоимость 1 пункта на текущей паре?

Допустим надо рассчитать, какой будет профит у сделки лотом 0,3 через 15 пунктов.

Yury Reshetov
13458
Yury Reshetov 2009.02.19 10:04  
Skymer >>:

Как программно рассчитать, чему равна стоимость 1 пункта на текущей паре?

Допустим надо рассчитать, какой будет профит у сделки лотом 0,3 через 15 пунктов.

См. Азбука торговли валютами

Виктор
Модератор
6559
Виктор 2009.02.19 10:32  

От Андрея Опейды (njel): Функция вычисляющая стоимость одного пункта в долл. для любой валютной пары

double PipsPrise()
  {
   string Symb,S;
 
   Symb=Symbol();
   S=StringSubstr(Symb,3,3);
   if(S=="USD")return(MarketInfo(Symb,MODE_LOTSIZE)*Point);
   if(S=="EUR"||S=="GBP"||S=="AUD"||S=="NZD")
      return(MarketInfo(Symb,MODE_LOTSIZE)*Point*MarketInfo(S+"USD",MODE_ASK));  
   if(S=="CHF"||S=="CAD"||S=="JPY"||S=="SEK"||S=="NOK"||S=="SGD"||S=="DKK"||S=="ZAR")
      return(MarketInfo(Symb,MODE_LOTSIZE)*Point*(1/MarketInfo("USD"+S,MODE_ASK)));  
   return(0);
  }
Sergey Rashevskiy
1562
Sergey Rashevskiy 2010.10.17 08:53  
Спасибо. Очень помогло.
Андрей
1890
Андрей 2010.10.17 13:41  
Спасибо :-)
Dmitry Fedoseev
42873
Dmitry Fedoseev 2010.10.17 14:27  
double PointValue=MarketInfo(Symbol(),MODE_TICKVALUE)*(MarketInfo(Symbol(),MODE_POINT)/MarketInfo(Symbol(),MODE_TICKSIZE));
Koнстантин
743
Koнстантин 2010.10.18 13:07  
Skymer:

Как программно рассчитать, чему равна стоимость 1 пункта на текущей паре?

Допустим надо рассчитать, какой будет профит у сделки лотом 0,3 через 15 пунктов.

вот простейший скрипт определения стоимости пункта на любой валютной паре, фьючерсе или индексе


//+------------------------------------------------------------------+
double StoimPunkt(string B){double S = MarketInfo(B,MODE_TICKVALUE)/(MarketInfo(B,MODE_TICKSIZE)/MarketInfo(B,MODE_POINT));return(S);}
//+------------------------------------------------------------------+
int start(){Comment(StoimPunkt(Symbol()));}
//+------------------------------------------------------------------+

Alex
3
Alex 2013.09.20 11:18  
double PipPrice()
  {
   string Symb,B,S;
 
   Symb=Symbol();
   S=StringSubstr(Symb,3,3);
   B=StringSubstr(Symb,0,3);
   double pip=MarketInfo(Symb,MODE_POINT);
   if(S=="USD") return(NormalizeDouble(MarketInfo(Symb,MODE_LOTSIZE)*pip,2));
   if(B=="USD") return(NormalizeDouble(MarketInfo(Symb,MODE_LOTSIZE)*pip*(1/MarketInfo(Symb,MODE_ASK)),2));
   if(S!="USD" && B!="USD") return(NormalizeDouble(MarketInfo(Symb,MODE_LOTSIZE)*pip*(MarketInfo(StringConcatenate(B,"USD"),MODE_ASK)/MarketInfo(Symb,MODE_ASK)),2));
   return(0);
  }
Немного доработал...
Artyom Trishkin
Модератор
75539
Artyom Trishkin 2013.09.20 11:26  
Skymer:

Как программно рассчитать, чему равна стоимость 1 пункта на текущей паре?

Допустим надо рассчитать, какой будет профит у сделки лотом 0,3 через 15 пунктов.

По текущему символу:

Профит(убыток)=Лот*Пункты*MarketInfo(Symbol(), MODE_TICKVALUE); = Профит=0.3*15*MarketInfo(Symbol(), MODE_TICKVALUE);

PapaYozh
3768
PapaYozh 2013.09.20 13:10  
artmedia70:

По текущему символу:

Профит(убыток)=Лот*Пункты*MarketInfo(Symbol(), MODE_TICKVALUE); = Профит=0.3*15*MarketInfo(Symbol(), MODE_TICKVALUE);

У интеджера правильно. Тиксайз и поинт надо обязательно учитывать, так-как они не обязаны быть равными.
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий