
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Согласен. Но тогда нужна функция возвращающая стоимость ПУНКТА.
Но кстати на Золоте ТИК и ПУНКТ равны.
Здесь неправ я был.
Стоимость ПУНКТА сможем рассчитать мы по этой формуле. Не нужна такая функция.
Но нужно получать верные значенияот брокера, чтобы рассчитать стоимость пункта верно. Вот о чём речь здесь идет. А сегодня опять столкнулся с неверными данными. Опять у ALPARI на инструменте NQ100 выдаёт стоимость пункта 0.1
При том что она составляет 1.0
Здесь неправ я был.
Стоимость ПУНКТА сможем рассчитать мы по этой формуле. Не нужна такая функция.
Но нужно получать верные значенияот брокера, чтобы рассчитать стоимость пункта верно. Вот о чём речь здесь идет. А сегодня опять столкнулся с неверными данными. Опять у ALPARI на инструменте NQ100 выдаёт стоимость пункта 0.1
При том что она составляет 1.0
В таких случаях приходится учитывать:
Он там как раз равен 10:
И какая будет итоговая формула?
)) Для стоимости тика:
)) Для стоимости тика:
А какую роль тут имеет Размер контракта?
Как же для Евро, например, считать?
А какую роль тут имеет Размер контракта?
Как же для Евро, например, считать?
У евро другой способ расчета: Forex (стоимость тика указывается для 1-го лота). А мы говорим про способ расчета CFD (стоимость тика указывается для единицы контракта).
ладно не парьтесь
подшаманьте и вперед
стоимость пункта на баре номер Shift
tVOL = MarketInfo( SYMB ,MODE_LOTSIZE);
tPNT = SymbolInfoDouble(SYMB,SYMBOL_POINT);
// ------------------------ СТОИМОСТЬ ПУНКТА
double calcTV(string SYMB, double tVOL, double tPNT, int Shift)
{
//
double Res=0,Price=0;
datetime t0;
int bs;
if(StringSubstr(SYMB,3,3)=="USD")Res=tVOL*tPNT;
if(StringSubstr(SYMB,0,3)=="USD")
{
Price=iClose(SYMB,Period(),Shift);
Res=tVOL*tPNT/Price;
}
if(StringSubstr(SYMB,0,3)!="USD" && StringSubstr(SYMB,3,3)!="USD")
{
if(StringSubstr(SYMB,3,3)=="AUD" || StringSubstr(SYMB,3,3)=="EUR" || StringSubstr(SYMB,3,3)=="GBP" || StringSubstr(SYMB,3,3)=="NZD")
{
SYMB=StringSubstr(SYMB,3,3)+"USD";
t0=iTime(SYMB,Period(),Shift);
bs=iBarShift(SYMB,Period(),t0);
if(bs<0 || iClose(SYMB,Period(),bs)==0)return(0);
Price=1.0/iClose(SYMB,Period(),bs);
if(Price==0.0)Price=1.0/MarketInfo(SYMB,MODE_BID);
}
if(StringSubstr(SYMB,3,3)=="CAD" || StringSubstr(SYMB,3,3)=="CHF" || StringSubstr(SYMB,3,3)=="JPY")
{
SYMB="USD"+StringSubstr(SYMB,3,3);
t0=iTime(SYMB,Period(),Shift);
bs=iBarShift(SYMB,Period(),t0);
Price=iClose(SYMB,Period(),bs);
if(Price==0.0)Price=MarketInfo(SYMB,MODE_BID);
}
if(Price!=0)Res=tVOL*tPNT/Price;
}
return(Res);
}
С валютными парами вообще не проблема, Ренат.
Задача на крипте определить или на Индексах к примеру.
С валютными парами вообще не проблема, Ренат.
Задача на крипте определить или на Индексах к примеру.
оч странно Вы себя ведете .....
и тут
....
Судя по этим двум постам, проблема как раз былаоч странно Вы себя ведете .....
и тут
....
Судя по этим двум постам, проблема как раз была