Как узнать курс инструмента к валюте игрового счета? - страница 2

 

1. При покупке маржевые требования чуть больше (1 спред), чем для продажи.

2. Если какой-то инструмент неоткрыть в Market Watch он вообще недоступен для чего-либо.

 

если я правильно понял вопрос, то ответ вот :

double LotMM(int OrderTip,double LotPercent){
double NewLot,FreeMargin,MaxLot,FreeMarginCheck;
FreeMargin      = AccountFreeMargin();                          //(Свободно)значение свободных средств, разрешенных для открытия позиций на текущем счете.  
FreeMarginCheck = AccountFreeMarginCheck(Symbol(),OrderTip,0.1);//размер свободных средств, которые останутся после открытия указанной позиции по текущей цене на текущем счете
if(MargigK<1){MargigK=FreeMargin-(FreeMarginCheck);return(0);}
 
MaxLot          = NormalizeDouble(FreeMargin/MargigK*0.1,2);//максимально возможный размер лота
NewLot          = NormalizeDouble(LotPercent*MaxLot/100,2); //Процент от максимально возможного
return(NewLot);
}
 
Bookkeeper:
Bookkeeper писал (а):
А какой курс хотите узнать Ask или Bid ?:).
Немного изменю вопрос:
А какой курс хотите узнать " ... =Ask;" или " ... =Bid;" ? :о).
А на самом деле все оказалось намного сложнее и у меня такое впечатление, что об этом пока мало кто думал.
Такой вопрос мог возникнуть только у чайника (чисто мое мнение) - глаз не замылен. Во всех прогах при расчете позы курс не учитывается, только лоты. Я впервые наткнулся на эту проблему при попытке рассчитать "вес" поз при открытии нескольких автоматом по разным парам или при открытии одной позы на все свободные деньги на счете (тут же еще и округлять надо с точностью до минимально допустимого лота в данном ДЦ). Вот и стал пытать всех прогеров подряд на всех ветках, люблю (провокации) и вдруг понял, что меня многие даже не понимают - о чем спитч, не чайники уже. Частично это было решено с огромной помощью Рената в скриптах _OpenSell,.. .... посмотрите в КодеБазе. Но не до конца. Еще гляньте здесь 'Анализ японских свечей' продолжение разговора. Но проблема есть.
Да, когда я читал статью "Азбука торговли валютами" (а я как раз чайник), то вот у меня и возникли эти вопросы. Я попытался на них ответить - посмотрите ниже:
Пусть, например, имеем инструмент
  ij,
где:
i - базовая валюта
j - валюта котировки
Понятно, что  i = ASKij(t) * j,  i = BIDij(t) *j
 
Предположим, мы покупаем единицу базовой валюты в момент времени t1:
i = ASKij(t1) * j                   (1)
 
А теперь          мы продаем  единицу базовой валюты   в момент времени t2:
 
i = BIDij(t2) * j                    (2)
 
Таким образом мы имеем навар/убыток:
 P/L = BIDij(t2)* j - ASKij(t1) * j   (3)
 
(3) - В валюте котировки
 
Переведем (3) в валюту депозита при условии, что имеем инструмент  - dj,
 
где d - валюта депозита.
 
Для этого сначала переведем (1),покупку:   i = ASKij(t1) * j  в валюту 
 
депозита. Валюту d мы имеем, значит  мы ее можем обменять по курсу в 
 
момент времени t1: d = BIDdj(t1) * j,  отсюда - j = d/BIDdj(t1)
 
После подстановки в (1) имеем выражение операции покупки единицы 
 
базовой валюты: i = ASKij(t1) * d/BIDdj(t1)     (1-1)
 
Теперь переведем (2) продажу: i  = BIDij(t2) * j  в валюту депозита.
 
Валюту j мы имеем, значит мы можем ее обменять по курсу в момент времени t2:
 
d = ASKdj(t2) * j, отсюда - j = d/ASKdj(t2)
 
После подстановки в (2) имеем выражение операции продажи единицы базовой
 
валюты: i = BIDij(t2) * d/ASKdj(t2)     (2-2)
 
а теперь прибыли/убытки:
 
P/L = [BIDij(t2) * ASKdj(t2) - ASKij(t1)*BIDdj(t1)] * d        
 
это уже все в валюте депозита.
 
Если мы имеем инструмент jd, а не dj, то все изменится.

С уважением - С.Д.
 

По моим наблюдениям залог по кросс-курсам расчитывается как среднее между Bid и Ask. Например, чтобы купить стандартный лот EURGBP нам нужно приобрести 100000 EUR за USD (для EURUSD текущие Bid=1. 3864 и Ask=1.3866), и тут с нашего счета берут залог не по Ask, а по 1.3865. Получается залог 138650 USD, а если плечо 1/100 - 1386,5 USD. Таким образом залог для кросс-курсов не зависит от типа опреции, будь она Buy или Sell

 
Xupypr:

По моим наблюдениям залог по кросс-курсам расчитывается как среднее между Bid и Ask. Например, чтобы купить стандартный лот EURGBP нам нужно приобрести 100000 EUR за USD (для EURUSD текущие Bid=1. 3864 и Ask=1.3866), и тут с нашего счета берут залог не по Ask, а по 1.3865. Получается залог 138650 USD, а если плечо 1/100 - 138,65 USD. Таким образом залог для кросс-курсов не зависит от типа опреции, будь она Buy или Sell

Странно, а я так это всегда понимал:
1. покупаем 1 фунт за доллары по курсу аск , скажем по цене 2. 3000 дол
2. покупаем 1 евро за фунты по цене аск , скажем по цене 1.2000 фунт
3. получаем тогда за доллары 1 евро будет стоить 1.2000 * 2.3000 долларов
4. 100 000 евро будет стоить в долларах 100 000 * 1.2000 * 2.3000 долларов
6. если плечо 100, то при покупке контракта с нас возьмут залог в долларах равный (100 000 *1.2000*2.3000)/100

С уважением - С.Д. - прошу прощения, что так порусски пишу - заело переключение на латиницу, а перегружаться нельзя.....
 
Sart:
заело переключение на латиницу, а перегружаться нельзя.. ...
таким заеданием обычно вирус занимается, который ctfmon подменяет.
 
Irtron:
Sart:
заело переключение на латиницу, а перегружаться нельзя.. ...
таким заеданием обычно вирус занимается, который ctfmon подменяет.
Ну и что делать ? Вроде Кашпирский стоит, лицензионный ? А может это связано с тем, что у меня висят две оптимизации уже трое суток ?

С уважением- С.Д.
 
Sart:
Странно, а я так это всегда понимал:
1. покупаем 1 фунт за доллары по курсу аск , скажем по цене 2. 3000 дол
2. покупаем 1 евро за фунты по цене аск , скажем по цене 1.2000 фунт
3. получаем тогда за доллары 1 евро будет стоить 1.2000 * 2.3000 долларов
...
Да, верно, но по сути умножение EURGBP на GBPUSD даёт нам EURUSD. Кстати, расчётная величина не всегда совпадает с реальной. Для расчёта маржи ДЦ берет данные именно с EURUSD, для нашего случая в примере. Я это так вижу. Можете сами проверить, если интересно.
 
Xupypr:
Sart:
Можете сами проверить, если интересно.
Мне вот другое пришло в голову. Если у нас открыты позиции по инструментам без участия валюты депозита, то получается, что терминал

скачет по инструментам и постоянно пересчитывает в валюту депозита наши прибыли/убытки и свободную маржу ...а ведь курсы всех

инструментов все время меняются...

С уважением - С.Д.
 
Конечно пересчитывает, а как же иначе. Ведь чтобы определить прибыль в долларах по позиции EURGBP необходимы цены с EURUSD. Поэтому терминал принимает необходимые котировки пар с валютой депозита, даже если такая пара не открыта в обзоре рынка. Видимо так. Свободную маржу то чего пересчитывать? Средства-Залог=Свободная Маржа. Залог постоянная величина. Главное - это средства или эквити по иностранному:)