Ошибки, баги, вопросы - страница 3550

 
Aleksey Vyazmikin #:

Как же удалось синхронизировать на двух других ПК время, и почему это не получается тем же методом сделать на третьем?

К сожалению, неинтересно отвечать на подобные вопросы. У меня был конкретный вопрос.

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

fxsaber, 2024.07.06 14:24

как синхронизировать удаленную машину со временем торгового сервера?

 
fxsaber #:

К сожалению, неинтересно отвечать на подобные вопросы. У меня был конкретный вопрос.

Ваш вопрос исключительно к разработчикам, или как минимум обладателям серверной части терминала.

Я же пишу исходя из того, что обсуждение проблемы позволяет найти иногда неожиданное решение.

 
Aleksey Vyazmikin #:

Ваш вопрос исключительно к разработчикам, или как минимум обладателям серверной части терминала.

Именно им.

 

Уважаемые разработчики, проверьте пож-ста документацию для бета-распределения. Там возврат должен быть булевым, в доках double.


Потом что касается нецентрального бета-распределения. И в доках и в сигнатуре идёт возврат как double. Наверное всё же должен быть bool.


Документация по MQL5: Стандартная библиотека / Математика / Статистика / Бета-распределение / MathMomentsBeta
Документация по MQL5: Стандартная библиотека / Математика / Статистика / Бета-распределение / MathMomentsBeta
  • www.mql5.com
Рассчитывает теоретические численные значения первых 4 моментов бета-распределения. Параметры a [in]   Первый параметр бета-распределения...
 
Уважаемые разработчики, проверьте пож-ста алгоритм для расчёта значения обратной функции нецентрального распределения хи-квадрат с параметрами nu и sigma для вероятности probability.
Что-то где-то не срастается. Судя по коду ошибки, имеет место несходимость.

Тестовый скрипт в MQL5:

//---
#include <Math\Stat\NoncentralChiSquare.mqh>
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   double val, p, nu, sigma;
   p = 0.25;
   nu = 3;
   sigma = 2.;
   int error_code;
   // 1) 
   val = ::MathQuantileNoncentralChiSquare(p, nu, sigma, error_code);
   ::PrintFormat("1) The value of inverse noncentral chi-squared "
                 "distribution function = %0.2f, error = %d", val, error_code);
   // 2)
   bool tail, log_mode;
   tail = true;
   log_mode = false;
   val = ::MathQuantileNoncentralChiSquare(p, nu, sigma, tail, log_mode, error_code);
   ::PrintFormat("2) The value of inverse noncentral chi-squared "
                 "distribution function = %0.2f, error = %d", val, error_code);
  }
//+------------------------------------------------------------------+


В журнале такой результат:

test_non_central_chi_square (USDCAD,M15)        1) The value of inverse noncentral chi-squared distribution function = nan, error = 4
test_non_central_chi_square (USDCAD,M15)        2) The value of inverse noncentral chi-squared distribution function = nan, error = 4



Аналогичная функция в R:

> qchisq(p=0.25, df = 3, ncp=2.0)
[1] 2.211175
> qchisq(p=0.25, df = 3, ncp=2.0, lower.tail = TRUE, log.p = FALSE)
[1] 2.211175


Она же в Матлабе:

>> ncx2inv(0.25,3,2)
ans =
   2.211175340273630
Документация по MQL5: Стандартная библиотека / Математика / Статистика / Нецентральное распределение хи-квадрат / MathQuantileNoncentralChiSquare
Документация по MQL5: Стандартная библиотека / Математика / Статистика / Нецентральное распределение хи-квадрат / MathQuantileNoncentralChiSquare
  • www.mql5.com
Рассчитывает значение обратной функции нецентрального распределения хи-квадрат с параметрами nu и sigma для вероятности probability . В случае...
 
fxsaber #:

Серверная часть MT5 автоматически сама синхронизируется по времени или это зависит исключительно от настроек ОС?

Если первое, то как синхронизировать удаленную машину со временем торгового сервера?


Мне рекомендовали следующие программы для автоматической синхронизации.


По первой ссылке программа используется астрономами (может обновлять через GPS и аналоги).

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

В режиме реального времени никак, только дискретно подводя часы. Серверное время это тоже время на локальном компе (могучем сервере конечно), к сожалению.

 

Не поймёшь, то разрешают делить на ноль, то нет, ну нет - хорошо, а где искать ошибку то в коде?

NJ      2       05:47:21.655    Quant_All_v_04_01_OpenCL_V_Drop_v_02_03_test_ZZQ (GBPUSD,MN1)   Zero divide, check divider for zero to avoid this error in 'E:\FX\MT5_CB\MQL5\Scripts\Quant\Quant_All_v_04_01_OpenCL_V_Drop_v_02_03_test_ZZQ.ex5'

Вроде как раньше была информация о строке с ошибкой...

 
Alexey Viktorov #:

Как вы можете заметить, Слава не прав.


Да. Custom chart event может послужить ухищрением. Но тут не совсем просто, если нужно получить данные этого же индикатора со старшего таймфрейма.

Если же речь идёт только о таймсериях, тогда да, никаких проблем

 
Slava #:

Да. Custom chart event может послужить ухищрением. Но тут не совсем просто, если нужно получить данные этого же индикатора со старшего таймфрейма.

Если же речь идёт только о таймсериях, тогда да, никаких проблем

Слава, не реагируйте на это так ревностно. Вашу репутацию ничем не запятнать. А быть неправым свойственно любому человеку. Продолжать что-то доказывать я не собираюсь. Просто чисто теоретически: Если индикатор прикреплённый ресурсом отработал, то по заполнении буфера, после выхода из OnCalculate() этот буфер доступен уже с новыми данными. А когда эти данные хотим получить, на втором тике или по пользовательскому событию, или даже по миллисекундному таймеру это дело программиста.


 
Alexey Viktorov #:

Слава, не реагируйте на это так ревностно. Вашу репутацию ничем не запятнать. А быть неправым свойственно любому человеку. Продолжать что-то доказывать я не собираюсь. Просто чисто теоретически: Если индикатор прикреплённый ресурсом отработал, то по заполнении буфера, после выхода из OnCalculate() этот буфер доступен уже с новыми данными. А когда эти данные хотим получить, на втором тике или по пользовательскому событию, или даже по миллисекундному таймеру это дело программиста.


Я просто признал тот факт, что не дописал полностью тот пост. Про chart event я тогда не подумал. Я думал про таймер, но с таймером всё гораздо сложнее