как я могу получить 100 миллисекундный график????? - страница 4

 
Лично я уверен, что решение не иметь тикового графика было чисто дизайнерским решением, просто потому, что оно соответствует общему дизайну платформы. Не имеет смысла, с инженерной точки зрения, иметь график в масштабе времени, который платформа не способна обеспечить, когда дело доходит до фактического размещения ордеров. Я бы и сам поступил так же. Утверждение, что брокеры "захотят", чтобы MT4 не включала эту функцию, не имеет смысла, поскольку эта функция просто бесполезна... Им было бы все равно.
 
SDC:

другими словами, он не использует протокол tcp/ip для соединения с ценовым фидом. [...] Соединение price feed с брокером аналогично или фактически является соединением типа UDP.

Tcpview, похоже, показывает, что соединение от MT4 к брокеру является TCP, а не UDP.

Ais:

Просто полезная информация о точности системного времени в Windows, и в MetaTrader соответственно [...].

Я думаю, вы имеете в виду такие вещи, как GetTickCount(). Все версии Windows, начиная с 2000 года, также предоставляют высокочастотный системный таймер. См. http://msdn. microsoft.com/en-us/library/ms644904(VS.85).aspx и т.д. Типичная гранулярность GetTickCount() в 16 мс никак не влияет на возможность построения 100-минутного графика, особенно потому, что такой график почти наверняка будет построен на основе временной метки брокера, а не локального компьютерного времени. Если бы временная метка MT4 имела миллисекундную точность, а она ее не имеет.

Гордон:

Лично я уверен, что решение не иметь тикового графика было чисто дизайнерским решением [...].

Несомненно, это так. Отчасти из-за несколько необычного определения "тика" в платформе MT4, и того факта, что это приводит к очень различному количеству "тиков" в зависимости от того, к какому брокеру вы подключены.

 

1. Именно, я имею в виду "GetTickCount()", который используется в MetaTrader4.
2. Использование "QueryPerformanceCounter" и "QueryPerformanceFrequency" для высокоточных таймингов выглядит наивно, поскольку эти функции основаны на тактовой частоте процессора.
Мы хорошо знаем, что тактовая частота процессора не является стабильной и может переключаться системой в процессе работы.

 
Ais:

2. Использование "QueryPerformanceCounter & QueryPerformanceFrequency" для высокоточных таймингов выглядит наивным [...].

Это менее наивно, чем использование GetTickCount(), но это все равно не имеет значения, потому что все графики в MT4 строятся на основе временной метки брокера, а не локальных часов.
 
Ais:

[...] потому что эти функции основаны на тактовой частоте процессора.

Раймонд Чен утверждает, что это не так, и функция не должна быть чувствительна к изменениям тактовой частоты, если только в BIOS или HAL нет ошибок: http://blogs.msdn.com/b/oldnewthing/archive/2008/09/08/8931563.aspx?PageIndex=2. И Раймонд Чен обычно прав в вопросах низкоуровневой Windows.
 

3. Нам не нужно синхронизировать временные метки, чтобы получить искусственный график 100 мс.

4. MT4 имеет возможность иметь точность 1 мс, потому что мы можем перепрограммировать PIC.

 

http://blogs.msdn.com/b/oldnewthing/archive/2008/09/08/8931563.aspx?PageIndex=2:

"

Карстен Ортбандт

9 сентября 2008 1:03 AM

В большинстве случаев, когда упоминается QPC, упускается одна очень важная вещь.

Тот факт, что QPC крайне ненадежен. В зависимости от фактического оборудования и загрузки процессора, QPC будет случайным образом прыгать назад и/или вперед на несколько секунд (в моем опыте это обычно составляло ~4 секунды).

Вы _можете_ обойти это, отслеживая время по настенным часам и пытаясь обнаружить эти скачки.

"

 
Лично я доверюсь Раймонду Чену, который работает в Microsoft, а не кому-то другому, о ком я никогда не слышал, кто не работает в Microsoft, не знает и не разговаривал с людьми, которые написали соответствующие части операционной системы Windows. Ваше мнение может быть иным.
 

Процессоры производятся не компанией Microsoft.

 
Ais:

Процессоры производятся не Microsoft.

Нет? Ух ты! Я и не знал. Спасибо.

Причина обращения: