Реter Konow #: Короче, это варианты производных фин.инструментов. Таких можно придумать бесконечное разнообразие. Это не реальный рынок с реальным клирингом. Всё производное, фиктивное и липовое.
Да, но можно сделать нормально, если контора большая, сводя участников внутри своей кухни.
Реter Konow #: Получается, "сделки" трейдеров ДЦ идут в обход рынка?
Косвенно, сделки клиентов форекс-дилеров влияют на потребность хэджировать свои риски форекс-дилером, в результате чего он осуществляет сделки с другими контрагентами. Но, может это делать не всегда или не делать вовсе.
Есть разного вида пулы, в которые может входить форекс-диелер и там искать себе выгодный вариант хэджирования среди предложений других форекс-дилеров и иных контрагентов. Таких пулов может быть много, для участия в них нужен договор и некий взнос. Вероятно он берёт ещё вознаграждение за свои услуги. Не читал их договора.
Вероятно, есть схемы, где происходит выход в этот пул напрямую без форекс-дилера, или через брокера - я не знаю, в настоящий момент, законодательство какой страны это позволяет и под каким соусом.
Форекс-дилер может заявлять, что заявка клиента выходит на исполнение во вне (в пул), но пока я считаю, что юридически это не так - просто у него может быть более прозрачное встречное переоткрытие заявки, со сниженным спредом/комиссией, и для клиента это похоже на брокерские услуги.
Поэтому я и писал ранее, что есть местный базар - как раз такой пул с перечнем участников. И участник может ходить на разные базары, ища более выгодные цены для хэджирования.
Реter Konow #: ДЦ решает вопрос с клирингом полностью избавляясь от этой проблемы за счёт юридической эквилибристики и выдумывания специального договора?
Если нет поставки актива и торговли договорами (переуступки прав), то клиринг не нужен - стороны известны сразу в момент заключения договора.
А вот как происходит взаимозачёт между участниками пула, я не знаю - это уже договор надо смотреть между оператором пула и форекс-дилером/иным участником конкретного пула. Не думаю, что клиентам форекс-дилера нужна эта информация.
Реter Konow #: То есть, ДЦ делает СЕБЯ ПРОИЗВОДНЫМ ФИНАНСОВЫМ ИНСТРУМЕНТОМ?!
Ну, тут уже я не могу понять, как такая идея могла прийти. Форекс-дилер создаёт производные финансовые инструменты - как линейку продуктов, ну как разновидность вкладов или кредитов в банке.
Ему по сути нужен только базисный актив. При этом я не видел, что бы форекс-дилер писал в договоре, что базисным активом является, допустим, цена реальной акции, а не та цена, которую он транслирует в терминал...
Косвенно, сделки клиентов форекс-дилеров влияют на потребность хэджировать свои риски форекс-дилером, в результате чего он осуществляет сделки с другими контрагентами. Но, может это делать не всегда или не делать вовсе.
Есть разного вида пулы, в которые может входить форекс-диелер и там искать себе выгодный вариант хэджирования среди предложений других форекс-дилеров и иных контрагентов. Таких пулов может быть много, для участия в них нужен договор и некий взнос. Вероятно он берёт ещё вознаграждение за свои услуги. Не читал их договора.
Вероятно, есть схемы, где происходит выход в этот пул напрямую без форекс-дилера, или через брокера - я не знаю, в настоящий момент, законодательство какой страны это позволяет и под каким соусом.
Форекс-дилер может заявлять, что заявка клиента выходит на исполнение во вне (в пул), но пока я считаю, что юридически это не так - просто у него может быть более прозрачное встречное переоткрытие заявки, со сниженным спредом/комиссией, и для клиента это похоже на брокерские услуги.
Поэтому я и писал ранее, что есть местный базар - как раз такой пул с перечнем участников. И участник может ходить на разные базары, ища более выгодные цены для хэджирования.
Если нет поставки актива и торговли договорами (переуступки прав), то клиринг не нужен - стороны известны сразу в момент заключения договора.
А вот как происходит взаимозачёт между участниками пула, я не знаю - это уже договор надо смотреть между оператором пула и форекс-дилером/иным участником конкретного пула. Не думаю, что клиентам форекс-дилера нужна эта информация.
Ну, тут уже я не могу понять, как такая идея могла прийти. Форекс-дилер создаёт производные финансовые инструменты - как линейку продуктов, ну как разновидность вкладов или кредитов в банке.
Ему по сути нужен только базисный актив. При этом я не видел, что бы форекс-дилер писал в договоре, что базисным активом является, допустим, цена реальной акции, а не та цена, которую он транслирует в терминал...
Короче, я понял. Форекс-дилеры придумали "междусобойчик" в обход реального форекса. Создали его и не парятся. Юридическую базу подготовили, рекламу дали, клиентов собрали и... стрегут бабло... Ну ладно, флаг им в руки... Только в следующий раз вы мне так и обьясните, чтобы я не заблуждался.)
Реter Konow #: Короче, я понял. Форекс-дилеры придумали "междусобойчик" в обход реального форекса. Создали его и не парятся. Юридическую базу подготовили, рекламу дали, клиентов собрали и... стрегут бабло...
В целом - да.
Рад, что не зря потратил своё время.
Реter Konow #: Только в следующий раз вы мне так и обьясните, чтобы я не заблуждался.)
Не надо обвинять меня в незнании систем учета. Все многообразие решений передо мной прошло.
Технические решения являются компромиссом между разнонаправленными запросами. Это новички могут не считаться с несходимостями и играться в "взять лучшее отсюда + взять лучшее отсюда и не забыть все обернуть в свою пользу наперекор бизнесу брокеров" - им это простительно.
"Совершенно логичные старые схемы рынка" видятся тем, кто их не использовал на практике. После использования быстро прозрение наступает, когда твои сделки пересчитают по "согласованному курсу" + нередко с дополнительными кастомными правилами. Кроме того, мультивалютный учет вообще не предназначен для массового рынка. "Настоящий рынок" сильно разочаровывает трейдеров после того, как они привыкли к сервисам МетаТрейдера.
Не зря же Вы именно тут, а не на телефоне со старым брокером, который переправленные отчеты шлет раз в месяц по почте.
Про дополнительные кастомные правила можно согласится, форекс-дилеры в РФ их используют в рамочном договоре, хотя в базовом стандарте их же СРО их нет...
Я собственно чего искал - запрашиваю валюту депозита, получаю "RUB". А мне нужен найти некий кросс-курс, по которому прибыль пересчитывается, как это правильно сделать автоматически? По идеи должна быть возможность получить цепочку символов для конвертации в валюту депозита, но как то оно не реализовано. Допустим, у меня кросс типа "USDRUB.loxi".
Такой вопрос - финансовый результат должен рассчитываться без округления до финансового результата в валюте депозита, или в начале надо определить финансовый результат в валюте от сделки, потом произвести округления до центов (аналога), потом, если надо посчитать по кросс-курсу для конвертации в доллары, опять округлить, потом посчитать по кросс-курсу в рубли (валюту депозита) и опять округлить?
Я всё же думаю, с промежуточным округлением надо считать, а как думаете вы?
Такой вопрос - финансовый результат должен рассчитываться без округления до финансового результата в валюте депозита, или в начале надо определить финансовый результат в валюте от сделки, потом произвести округления до центов (аналога), потом, если надо посчитать по кросс-курсу для конвертации в доллары, опять округлить, потом посчитать по кросс-курсу в рубли (валюту депозита) и опять округлить?
Я всё же думаю, с промежуточным округлением надо считать, а как думаете вы?
тайна сия велика есть :-) как конкретно устроено в сервере и бухгалтерии, неведомо
по логике - должно соотв. реально происходящему, прибыль/убыток сделки в еденицах валюты котировки должен конвертироваться в валюту депозита по правилам всего торгового маршрута. Со всеми округлениями сумм и объёмов на каждом отдельном шаге. Если по дороге GBP->USD->RUB то с учётом спецификаций GBPUSD и USDRUB. И резервов, подушек, спредов и задержек. Считай что это их внутренние отдельные сделки с поставщиком ликвида. (которого кстати почему-то нет :-) )
заранее посчитать коэфф. и просто умножить, это неправильно. Только для предварительных примерных рассчётов.
Maxim Kuznetsov #: Со всеми округлениями сумм и объёмов на каждом отдельном шаге.
Проверил два варианта - с округлением и без, полученный фин результат сравнивал с оригинальным фин результатом.
В итоге, вариант без округления даёт 79 расхождений, а вариант с округлением до центов промежуточной валюты даёт 2812 расхождений.
Возможно, округление происходит как то иначе...
Код примерно такой:
double arr_FinRez_Delta_Price[];//Изменение цены в пунктахdouble arr_FinRez_Point_Price[];//Цена одного пункта в валюте прибыли символаdouble arr_FinRez_Kurs_RUB[];//Расчётный курс USD/RUBdouble arr_FinRez_in_USD[];//Финансовый результат в долларах СШАdouble arr_FinRez_in_RUB_v00[];//Финансовый результат в рублях РФ - перерасчёт по кросс-курсуdouble arr_FinRez_in_RUB_v01[];//Финансовый результат в рублях РФ - перерасчёт по курса базисного актива и кросс-курсуdouble arr_FinRez_in_RUB_Delta_v00[];//Дельта в финансовом результате между отчётом и расчётным кросс-курсомdouble arr_FinRez_in_RUB_Delta_v01[];//Дельта в финансовом результате между отчётом и расчётным кросс-курсом и фактическим курсом базисного актива в момент исполнения заявкиArrayResize(arr_FinRez_Delta_Price,total_deals);
ArrayResize(arr_FinRez_Point_Price,total_deals);
ArrayResize(arr_FinRez_Kurs_RUB,total_deals);
ArrayResize(arr_FinRez_in_USD,total_deals);
ArrayResize(arr_FinRez_in_RUB_v00,total_deals);
ArrayResize(arr_FinRez_in_RUB_v01,total_deals);
ArrayResize(arr_FinRez_in_RUB_Delta_v00,total_deals);
ArrayResize(arr_FinRez_in_RUB_Delta_v01,total_deals);
ArrayInitialize(arr_FinRez_Delta_Price,0);
ArrayInitialize(arr_FinRez_Point_Price,0);
ArrayInitialize(arr_FinRez_Kurs_RUB,0);
ArrayInitialize(arr_FinRez_in_USD,0);
ArrayInitialize(arr_FinRez_in_RUB_v00,0);
ArrayInitialize(arr_FinRez_in_RUB_v01,0);
ArrayInitialize(arr_FinRez_in_RUB_Delta_v00,0);
ArrayInitialize(arr_FinRez_in_RUB_Delta_v01,0);
string Get_Sym_Base="";//Базовая валюта инструмента - первая в пареstring Get_Sym_PV="";//Валюта прибылиdouble Get_Sym_SizeKontrakt=0.0;//Размер торгового контрактаlong Index_Close=0;
for(uint i=0; i<total_deals; i++)
{
if(arr_position_ID[i]==0)continue;
if((ENUM_DEAL_ENTRY(arr_deal_entry[i])==DEAL_ENTRY_OUT))continue;
Index_Close=arr_Index_Close[i];
if((ENUM_DEAL_TYPE(arr_deal_type[i])==DEAL_TYPE_BUY))
{
arr_FinRez_Delta_Price[Index_Close]=arr_price[Index_Close]-arr_price[i];
}
if((ENUM_DEAL_TYPE(arr_deal_type[i])==DEAL_TYPE_SELL))
{
arr_FinRez_Delta_Price[Index_Close]=arr_price[i]-arr_price[Index_Close];
}
Get_Sym_Base=SymbolInfoString(arr_symbol[i],SYMBOL_CURRENCY_BASE);//Базовая валюта инструмента
Get_Sym_PV=SymbolInfoString(arr_symbol[i],SYMBOL_CURRENCY_PROFIT);//Валюта прибыли
Get_Sym_SizeKontrakt=SymbolInfoDouble(arr_symbol[i],SYMBOL_TRADE_CONTRACT_SIZE);//Размер торгового контрактаif(Get_Sym_Base!="USD" && Get_Sym_PV!="USD")continue;//Нет USD в названии валюты - требуется более сложный расчёт - отложим пока/*
if(Get_Sym_PV!="USD")
{
arr_FinRez_Point_Price[Index_Close]=1.0/arr_price[Index_Close];
arr_FinRez_in_USD[Index_Close]=(arr_FinRez_Point_Price[Index_Close]*arr_FinRez_Delta_Price[Index_Close])*(Get_Sym_SizeKontrakt*arr_volume[i]);
arr_FinRez_Kurs_RUB[Index_Close]=arr_FinRez[Index_Close]/arr_FinRez_in_USD[Index_Close];
arr_FinRez_in_RUB_v00[Index_Close]=NormalizeDouble(arr_FinRez_in_USD[Index_Close]*arr_Price_Tic_Sym_Depo[Index_Close],2);
arr_FinRez_in_RUB_Delta_v00[Index_Close]=arr_FinRez[Index_Close]-arr_FinRez_in_RUB_v00[Index_Close];
}
else
{
arr_FinRez_Point_Price[Index_Close]=1;
arr_FinRez_in_USD[Index_Close]=(arr_FinRez_Point_Price[Index_Close]*arr_FinRez_Delta_Price[Index_Close])*(Get_Sym_SizeKontrakt*arr_volume[i]);
arr_FinRez_Kurs_RUB[Index_Close]=arr_FinRez[Index_Close]/arr_FinRez_in_USD[Index_Close];
arr_FinRez_in_RUB_v00[Index_Close]=NormalizeDouble(arr_FinRez_in_USD[Index_Close]*arr_Price_Tic_Sym_Depo[Index_Close],2);
arr_FinRez_in_RUB_Delta_v00[Index_Close]=arr_FinRez[Index_Close]-arr_FinRez_in_RUB_v00[Index_Close];
}
*/if(Get_Sym_PV!="USD")
{
arr_FinRez_Point_Price[Index_Close]=1.0/arr_price[Index_Close];
arr_FinRez_in_USD[Index_Close]=NormalizeDouble((arr_FinRez_Point_Price[Index_Close]*arr_FinRez_Delta_Price[Index_Close])*(Get_Sym_SizeKontrakt*arr_volume[i]),2);
arr_FinRez_Kurs_RUB[Index_Close]=arr_FinRez[Index_Close]/arr_FinRez_in_USD[Index_Close];
arr_FinRez_in_RUB_v00[Index_Close]=NormalizeDouble(arr_FinRez_in_USD[Index_Close]*arr_Price_Tic_Sym_Depo[Index_Close],2);
arr_FinRez_in_RUB_Delta_v00[Index_Close]=arr_FinRez[Index_Close]-arr_FinRez_in_RUB_v00[Index_Close];
}
else
{
arr_FinRez_Point_Price[Index_Close]=1;
arr_FinRez_in_USD[Index_Close]=NormalizeDouble((arr_FinRez_Point_Price[Index_Close]*arr_FinRez_Delta_Price[Index_Close])*(Get_Sym_SizeKontrakt*arr_volume[i]),2);
arr_FinRez_Kurs_RUB[Index_Close]=arr_FinRez[Index_Close]/arr_FinRez_in_USD[Index_Close];
arr_FinRez_in_RUB_v00[Index_Close]=NormalizeDouble(arr_FinRez_in_USD[Index_Close]*arr_Price_Tic_Sym_Depo[Index_Close],2);
arr_FinRez_in_RUB_Delta_v00[Index_Close]=arr_FinRez[Index_Close]-arr_FinRez_in_RUB_v00[Index_Close];
}
}
Закомментированый кусок - без нормализации.
Там есть массив arr_Price_Tic_Sym_Depo[] - в нём курс валюты депозита - последнее значение на момент заключения сделки (отдельного договора) - пока буду считать, что именно такой курс должен браться.
Всё же, я так же думаю, что фин результат должен быть определён в промежуточной валюте (валюте расчетов), а уже потом быть пересчитан в рубли.
Возможно, надо округлять и курс покупательской способности за 1 доллар США, т.е. когда идёт деление 1/Курс валюты, но до какого знака округлять - так же вопрос.
Может мне кто помочь грамотным языком описать передачу пакетов по протоколам TCP\IP от компьютера пользователя к серверу форекс-дилера?
Важно акцентировать внимание на:
фрагментацию данных при отправке "файла", потом и на каждом промежуточным узлом при несовпадении MTU
неопределённость, в момент отправки пакета, маршрутизации пакета.
наличие разных маршрутов для одного пакета.
наличие очереди при обработки промежуточным устройством пакетов/фреймов.
вероятность потери пакета и запрос потерянного пакета/фрейма.
разное время получения двух одинаковых файлов, в том числе что отправленные файлы с интервалом в одну секунду, могут приняты быть с интервалом менее одной секунды конечной машиной.
Речь идёт о заявке, и вероятных препятствиях на пути её движения к серверу форекс-дилера.
Так же интересна информация о размере "файла" заявки, что бы понять - умещается ли она в один пакет\фрейм, а так же по какому протоколу она передаётся.
Короче, это варианты производных фин.инструментов. Таких можно придумать бесконечное разнообразие. Это не реальный рынок с реальным клирингом. Всё производное, фиктивное и липовое.
Да, но можно сделать нормально, если контора большая, сводя участников внутри своей кухни.
Получается, "сделки" трейдеров ДЦ идут в обход рынка?
Косвенно, сделки клиентов форекс-дилеров влияют на потребность хэджировать свои риски форекс-дилером, в результате чего он осуществляет сделки с другими контрагентами. Но, может это делать не всегда или не делать вовсе.
Есть разного вида пулы, в которые может входить форекс-диелер и там искать себе выгодный вариант хэджирования среди предложений других форекс-дилеров и иных контрагентов. Таких пулов может быть много, для участия в них нужен договор и некий взнос. Вероятно он берёт ещё вознаграждение за свои услуги. Не читал их договора.
Вероятно, есть схемы, где происходит выход в этот пул напрямую без форекс-дилера, или через брокера - я не знаю, в настоящий момент, законодательство какой страны это позволяет и под каким соусом.
Форекс-дилер может заявлять, что заявка клиента выходит на исполнение во вне (в пул), но пока я считаю, что юридически это не так - просто у него может быть более прозрачное встречное переоткрытие заявки, со сниженным спредом/комиссией, и для клиента это похоже на брокерские услуги.
Поэтому я и писал ранее, что есть местный базар - как раз такой пул с перечнем участников. И участник может ходить на разные базары, ища более выгодные цены для хэджирования.
ДЦ решает вопрос с клирингом полностью избавляясь от этой проблемы за счёт юридической эквилибристики и выдумывания специального договора?
Если нет поставки актива и торговли договорами (переуступки прав), то клиринг не нужен - стороны известны сразу в момент заключения договора.
А вот как происходит взаимозачёт между участниками пула, я не знаю - это уже договор надо смотреть между оператором пула и форекс-дилером/иным участником конкретного пула. Не думаю, что клиентам форекс-дилера нужна эта информация.
То есть, ДЦ делает СЕБЯ ПРОИЗВОДНЫМ ФИНАНСОВЫМ ИНСТРУМЕНТОМ?!
Ну, тут уже я не могу понять, как такая идея могла прийти. Форекс-дилер создаёт производные финансовые инструменты - как линейку продуктов, ну как разновидность вкладов или кредитов в банке.
Ему по сути нужен только базисный актив. При этом я не видел, что бы форекс-дилер писал в договоре, что базисным активом является, допустим, цена реальной акции, а не та цена, которую он транслирует в терминал...
Косвенно, сделки клиентов форекс-дилеров влияют на потребность хэджировать свои риски форекс-дилером, в результате чего он осуществляет сделки с другими контрагентами. Но, может это делать не всегда или не делать вовсе.
Есть разного вида пулы, в которые может входить форекс-диелер и там искать себе выгодный вариант хэджирования среди предложений других форекс-дилеров и иных контрагентов. Таких пулов может быть много, для участия в них нужен договор и некий взнос. Вероятно он берёт ещё вознаграждение за свои услуги. Не читал их договора.
Вероятно, есть схемы, где происходит выход в этот пул напрямую без форекс-дилера, или через брокера - я не знаю, в настоящий момент, законодательство какой страны это позволяет и под каким соусом.
Форекс-дилер может заявлять, что заявка клиента выходит на исполнение во вне (в пул), но пока я считаю, что юридически это не так - просто у него может быть более прозрачное встречное переоткрытие заявки, со сниженным спредом/комиссией, и для клиента это похоже на брокерские услуги.
Поэтому я и писал ранее, что есть местный базар - как раз такой пул с перечнем участников. И участник может ходить на разные базары, ища более выгодные цены для хэджирования.
Если нет поставки актива и торговли договорами (переуступки прав), то клиринг не нужен - стороны известны сразу в момент заключения договора.
А вот как происходит взаимозачёт между участниками пула, я не знаю - это уже договор надо смотреть между оператором пула и форекс-дилером/иным участником конкретного пула. Не думаю, что клиентам форекс-дилера нужна эта информация.
Ну, тут уже я не могу понять, как такая идея могла прийти. Форекс-дилер создаёт производные финансовые инструменты - как линейку продуктов, ну как разновидность вкладов или кредитов в банке.
Ему по сути нужен только базисный актив. При этом я не видел, что бы форекс-дилер писал в договоре, что базисным активом является, допустим, цена реальной акции, а не та цена, которую он транслирует в терминал...
Короче, я понял. Форекс-дилеры придумали "междусобойчик" в обход реального форекса. Создали его и не парятся. Юридическую базу подготовили, рекламу дали, клиентов собрали и... стрегут бабло...
В целом - да.
Рад, что не зря потратил своё время.
Только в следующий раз вы мне так и обьясните, чтобы я не заблуждался.)
Так не поверили бы ;)
мыши кололись, плакали, но продолжали жрать кактус
Искал одно, а нашёл очень интересные сообщения - хорошо, что MQ всё понимают и глубоко познали все нюансы.
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Как MetaTrader 5 считает прибыль?
Renat Fatkhullin, 2012.03.19 12:26
...
Идите и перечитывайте мои ответы, а заодно зарубите себе на носу "спред платится оператору всегда".
Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
Как MetaTrader 5 считает прибыль?
Renat Fatkhullin, 2012.03.19 16:42
Не надо обвинять меня в незнании систем учета. Все многообразие решений передо мной прошло.
Технические решения являются компромиссом между разнонаправленными запросами. Это новички могут не считаться с несходимостями и играться в "взять лучшее отсюда + взять лучшее отсюда и не забыть все обернуть в свою пользу наперекор бизнесу брокеров" - им это простительно.
"Совершенно логичные старые схемы рынка" видятся тем, кто их не использовал на практике. После использования быстро прозрение наступает, когда твои сделки пересчитают по "согласованному курсу" + нередко с дополнительными кастомными правилами. Кроме того, мультивалютный учет вообще не предназначен для массового рынка. "Настоящий рынок" сильно разочаровывает трейдеров после того, как они привыкли к сервисам МетаТрейдера.
Не зря же Вы именно тут, а не на телефоне со старым брокером, который переправленные отчеты шлет раз в месяц по почте.
Про дополнительные кастомные правила можно согласится, форекс-дилеры в РФ их используют в рамочном договоре, хотя в базовом стандарте их же СРО их нет...
Я собственно чего искал - запрашиваю валюту депозита, получаю "RUB". А мне нужен найти некий кросс-курс, по которому прибыль пересчитывается, как это правильно сделать автоматически? По идеи должна быть возможность получить цепочку символов для конвертации в валюту депозита, но как то оно не реализовано. Допустим, у меня кросс типа "USDRUB.loxi".
Такой вопрос - финансовый результат должен рассчитываться без округления до финансового результата в валюте депозита, или в начале надо определить финансовый результат в валюте от сделки, потом произвести округления до центов (аналога), потом, если надо посчитать по кросс-курсу для конвертации в доллары, опять округлить, потом посчитать по кросс-курсу в рубли (валюту депозита) и опять округлить?
Я всё же думаю, с промежуточным округлением надо считать, а как думаете вы?
Такой вопрос - финансовый результат должен рассчитываться без округления до финансового результата в валюте депозита, или в начале надо определить финансовый результат в валюте от сделки, потом произвести округления до центов (аналога), потом, если надо посчитать по кросс-курсу для конвертации в доллары, опять округлить, потом посчитать по кросс-курсу в рубли (валюту депозита) и опять округлить?
Я всё же думаю, с промежуточным округлением надо считать, а как думаете вы?
тайна сия велика есть :-) как конкретно устроено в сервере и бухгалтерии, неведомо
по логике - должно соотв. реально происходящему, прибыль/убыток сделки в еденицах валюты котировки должен конвертироваться в валюту депозита по правилам всего торгового маршрута. Со всеми округлениями сумм и объёмов на каждом отдельном шаге. Если по дороге GBP->USD->RUB то с учётом спецификаций GBPUSD и USDRUB. И резервов, подушек, спредов и задержек. Считай что это их внутренние отдельные сделки с поставщиком ликвида. (которого кстати почему-то нет :-) )
заранее посчитать коэфф. и просто умножить, это неправильно. Только для предварительных примерных рассчётов.
Со всеми округлениями сумм и объёмов на каждом отдельном шаге.
Проверил два варианта - с округлением и без, полученный фин результат сравнивал с оригинальным фин результатом.
В итоге, вариант без округления даёт 79 расхождений, а вариант с округлением до центов промежуточной валюты даёт 2812 расхождений.
Возможно, округление происходит как то иначе...
Код примерно такой:
Закомментированый кусок - без нормализации.
Там есть массив arr_Price_Tic_Sym_Depo[] - в нём курс валюты депозита - последнее значение на момент заключения сделки (отдельного договора) - пока буду считать, что именно такой курс должен браться.
Всё же, я так же думаю, что фин результат должен быть определён в промежуточной валюте (валюте расчетов), а уже потом быть пересчитан в рубли.
Возможно, надо округлять и курс покупательской способности за 1 доллар США, т.е. когда идёт деление 1/Курс валюты, но до какого знака округлять - так же вопрос.
Может мне кто помочь грамотным языком описать передачу пакетов по протоколам TCP\IP от компьютера пользователя к серверу форекс-дилера?
Важно акцентировать внимание на:
Речь идёт о заявке, и вероятных препятствиях на пути её движения к серверу форекс-дилера.
Так же интересна информация о размере "файла" заявки, что бы понять - умещается ли она в один пакет\фрейм, а так же по какому протоколу она передаётся.