от брокера, чтобы рассчитать стоимость пункта верно. Вот о чём речь здесь идет. А сегодня опять столкнулся с неверными данными. Опять у ALPARI на инструменте NQ100 выдаёт стоимость пункта 0.1
Стоимость ПУНКТА сможем рассчитать мы по этой формуле. Не нужна такая функция.
Но нужно получать верные значения
от брокера, чтобы рассчитать стоимость пункта верно. Вот о чём речь здесь идет. А сегодня опять столкнулся с неверными данными. Опять у ALPARI на инструменте NQ100 выдаёт стоимость пункта 0.1
У евро другой способ расчета: Forex (стоимость тика указывается для 1-го лота). А мы говорим про способ расчета CFD (стоимость тика указывается для единицы контракта).
Согласен. Но тогда нужна функция возвращающая стоимость ПУНКТА.
Но кстати на Золоте ТИК и ПУНКТ равны.
Здесь неправ я был.
Стоимость ПУНКТА сможем рассчитать мы по этой формуле. Не нужна такая функция.
Но нужно получать верные значенияот брокера, чтобы рассчитать стоимость пункта верно. Вот о чём речь здесь идет. А сегодня опять столкнулся с неверными данными. Опять у ALPARI на инструменте NQ100 выдаёт стоимость пункта 0.1
При том что она составляет 1.0
Это Alpari MT4 DemoЗдесь неправ я был.
Стоимость ПУНКТА сможем рассчитать мы по этой формуле. Не нужна такая функция.
Но нужно получать верные значенияот брокера, чтобы рассчитать стоимость пункта верно. Вот о чём речь здесь идет. А сегодня опять столкнулся с неверными данными. Опять у ALPARI на инструменте NQ100 выдаёт стоимость пункта 0.1
При том что она составляет 1.0
Это Alpari MT4 DemoВ таких случаях приходится учитывать:
Он там как раз равен 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);
}
С валютными парами вообще не проблема, Ренат.
Задача на крипте определить или на Индексах к примеру.
С валютными парами вообще не проблема, Ренат.
Задача на крипте определить или на Индексах к примеру.
оч странно Вы себя ведете .....
и тут
....
Судя по этим двум постам, проблема как раз былаоч странно Вы себя ведете .....
и тут
....
Судя по этим двум постам, проблема как раз была