Проблемы с Time() - страница 6

 
CFx:

Можете ли вы написать стабильно прибыльную торговую логику для ВСЕХ типов рынков, потому что вы приложили усилия для обучения?

Нет, я все еще учусь. Но я знаю, как не быть ослом... Я вижу, вы все еще учитесь этому навыку.

Я только что написал тестовый код, чтобы попытаться помочь вам, и прогнал его через тестер стратегий... Зачем я это сделал? С таким отношением, как у вас, я действительно не знаю, зачем я беспокоился....

Но в любом случае, я скажу вам, что я нашел, я все еще могу сделать это, поскольку я освоил навык "не быть задницей".

Day(), DayOfWeek(), TimeDay() и TimeDayOfWeek() работают правильно в Straegy Tester (сборка 427) ... Вы действительно хотели использовать Day() в вашем коде, или ваш кодостроитель должен был использовать DayOfWeek() ? Первый, Day() дает значение 0 - 31, второй DayOfWeek() дает значение 0 - 6 Воскресенье равно 0

Comment("Day() of the month: ",Day(), " Day of week(): ", DayOfWeek(), "\n", "TimeDay Current: ", TimeDay(TimeCurrent() ), " TimeDay of week Current: ", TimeDayOfWeek(TimeCurrent()) );
 
CFx:

Таким образом, я должен получить что-то другое, чем "смоделированное" время сервера.

Нет. Вы получаете моделированное время сервера, потому что вы должны запускать тестер стратегий, будучи отключенным от сервера вашего брокера... поэтому нет фактического времени сервера... поэтому то, что вы получаете, является моделированным. Если бы вы все еще были подключены к брокеру и хотели получить фактическое время сервера, то вы получили бы время с сервера брокера в то время, когда вы запускали советника в тестере стратегий, и это, вероятно, не принесло бы вам большой пользы.

Поэтому будьте довольны тем, что время сервера, которое вы получаете, смоделировано.

 
RaptorUK:

Нет, я все еще учусь. Но я знаю, как не быть задницей... Я вижу, вы все еще учитесь этому мастерству.

Я только что написал тестовый код, чтобы попытаться помочь вам, и прогнал его через тестер стратегий... Зачем я это сделал? С таким отношением, как у вас, я действительно не знаю, зачем я беспокоился...

Но в любом случае, я скажу вам, что я нашел, я все еще могу сделать это, поскольку я освоил навык "не быть задницей".

Day(), DayOfWeek(), TimeDay() и TimeDayOfWeek() работают правильно в Straegy Tester (сборка 427) ... Вы действительно хотели использовать Day() в вашем коде, или же ваш кодостроитель должен был использовать DayOfWeek() ? Первый, Day() дает значение 0 - 31, второй DayOfWeek() дает значение 0 - 6 Воскресенье - 0.


Ну, я бы сказал, что, судя по тому, как вы мне ответили, вы потерпели неудачу в том, чтобы не быть ослом. Однако, есть явное различие (и недостаток) в том, чтобы быть умным ослом. Быть просто ослом - это в лучшем случае доброкачественно. Но быть умным ослом - это эквивалент того, чтобы стоять перед Брюсом Ли и называть его по имени в лицо. Или, стоя перед миллионером, сделавшим себя сам, сказать ему, что он на мели. Или, стоя перед ветераном боевых действий, сказать ему, что он бессилен. Или, стоя перед профессором прикладной математики, сказать ему, что он ничего не знает о логических построениях. Это и есть "Умная задница".

Во-вторых, я могу помочь превратить любого человека в успешного трейдера - я делал это уже пять (5) раз. Эти люди пожелали остаться неизвестными, прежде чем вы спросите. Я здесь не потому, что мне нужны навыки торговой логики. Я пришел сюда, чтобы получить помощь с некоторыми MQL, потому что я не разработчик MQL, и у меня нет времени, чтобы выучить язык программирования до такой степени, чтобы расширить свои навыки творческого решения проблем с помощью этого языка. Я трачу свое время на совершенствование искусства создания торговой логики и наблюдения за тем, как моя ежедневная позиция разворачивается на рынке. Создание новых торговых концепций - моя сильная сторона. Работа на MQL не принесла мне прибыли. Однако, возможно, это сработало для вас.

В-третьих, я не тестирую в Build 427. Еще одно предположение, которое может сделать только асс. Я должен тестировать в Build 409, и на это есть веская причина (я не буду вдаваться в нее здесь). Я уже говорил - я перепробовал ВСЕ функции Time() в MQL, связанные с потребностями советника, и ни одна из них не сработала: Day(), TimeHour, TimeMinute, DayOfWeek и т.д.

Я понимаю разницу между Day() и DayOfWeek(), поскольку всегда ЧИТАЮ документацию MQL, прежде чем написать сообщение с просьбой о помощи. Я не просто прихожу на форум и прошу помощи. Я обычно исчерпываю все источники, которые могу найти в Интернете, и пробую все конфигурации, которые могу представить, включая НЕПРАВИЛЬНЫЕ конфигурации, такие как TimeHour и TimeHour последовательно, просто чтобы посмотреть, получу ли я какую-то прослеживаемую разницу в поведении советника.

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

 
RaptorUK:

Нет. Вы получаете смоделированное время сервера, потому что вы должны запускать тестер стратегий, будучи отключенным от сервера брокера... поэтому нет фактического времени сервера... поэтому то, что вы получаете, является смоделированным. Если бы вы все еще были подключены к брокеру и хотели получить фактическое время сервера, то вы бы получили время с сервера брокера в то время, когда вы запускали советника в тестере стратегий, и это, вероятно, не принесло бы вам большой пользы.

Поэтому будьте довольны тем, что время сервера, которое вы получаете, смоделировано.


На самом деле это неверно.

Скрипт, который я использую, предоставляет движку тестера фактическое историческое время сервера. Процесс требует, чтобы я конвертировал .csv файлы в .hst файлы, а затем .hst в .fxt файлы. Движок тестера получает не только рыночные тики (Bid/Ask), но и связанные с каждым тиком дату/время. Данные/время подаются в тестер вместе с тиками Bid/Ask. Я не разрабатывал сценарий тестирования, но он производит 99% моделирования и, что самое важное, построение свечей для каждого временного интервала соответствует историческому рынку. Другими словами, поскольку Дата/Время передается вместе с тиками в Тестер, каждый сгенерированный .hst файл поставляется с фактическим отпечатком объема рынка, произведенным рынком в Данные/Время, связанные с каждым баром.

Я должен получать фактическое историческое время сервера, подключенного или отключенного от бэкенда брокера. Именно это делает скрипт, и именно так я могу проводить бэктестирование на нескольких таймфреймах.

 
CFx:

На самом деле это неверно.

Сценарий, который я использую, предоставляет движку тестера фактическое историческое время сервера. Процесс требует, чтобы я конвертировал файлы .csv в файлы .hst, а затем файлы .hst в файлы .fxt. Движок тестера получает не только рыночные тики (Bid/Ask), но и связанные с каждым тиком дату/время. Данные/время подаются в тестер вместе с тиками Bid/Ask. Я не разрабатывал сценарий тестирования, но он производит 99% моделирования и, что самое важное, построение свечей для каждого временного интервала соответствует историческому рынку. Другими словами, поскольку Дата/Время передается вместе с тиками тестеру, каждый сгенерированный .hst файл поставляется с фактическим отпечатком объема рынка, как это было произведено рынком в Данные/Время, связанные с каждым баром.

Я должен получать фактическое историческое время сервера, подключенного или отключенного от бэкэнд брокера. Именно это делает скрипт, и именно так я могу проводить бэктестирование на нескольких таймфреймах.

Извините, что вы упускаете некоторые факты.

Я тоже использовал тиковые данные dukascopy, обработанные скриптами eareview, и да, я понимаю, как они работают. Когда вы тестируете с помощью тестера стратегий 31 мая 2012 года, а данные вы используете 2008 года, время сервера, указанное вам, относится к 2008 году, это смоделированное время сервера, а не фактическое время сервера. ... фактическое время сервера относится к 2012 году, а не к 2008.

Кстати, цифра 99% качества моделирования не имеет смысла ... это просто цифра, которая записывается в файл fxt. Почитайте материал на eareview и вы сами это поймете. Вам не нужны тиковые данные для многотаймфреймового тестирования... вы не можете смотреть на любой таймфрейм ниже M1.... Я согласен с тем, что тиковые данные должны использоваться в качестве окончательного кислотного теста советника. Возможно, мы сможем договориться об этом.

 
CFx:

В-третьих, я не тестирую в Build 427. Еще одно предположение, которое может сделать только асс.

Это не предположение, которое я сделал... Я просто дал вам знать, в какой сборке я тестировал... Я думал, что это имеет значение.
 
CFx:

Я понял различие между Day() и DayOfWeek(),

Вы понимаете? Ваш код в вашем OP показывает, что вы пытаетесь закрыть сделку, если день 1 или 2 и т.д. ... ну 1 апреля 2012 года было воскресенье, ваш код не собирается закрывать сделку в воскресенье ... теперь, если вы имели в виду DayOfWeek() вместо Day(), это могло бы иметь смысл ...

Day() == 1 || Day() == 2 || Day() == 3 || Day() == 4 && TimeHour(TimeCurrent()) >=23 && TimeMinute(TimeCurrent()) >=57 || Day() == 5 && TimeHour(TimeCurrent()) >=21 && TimeMinute(TimeCurrent()) >=57

Note: The problem is that all trades remain open Monday through Thursday, through 23:57. Also, all trades remain open on Friday, through 21:57.

Где ваша проверка месяца? Вы не можете определить, является ли Day() == 4 пятницей, если вы не определили месяц... а как насчет остальных 3 недель месяца? Вы серьезно думаете, что я поверю, что вы торгуете только в первые 5 дней месяца? даже если это суббота или воскресенье?

 
CFx:

Это НЕ работает. Тот тип менталитета, который автоматически предположил бы, что это работает, вероятно, тот же самый менталитет, который думает, что знает, как торговать, когда это не так.


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

Я ничего не предполагал, я сказал, что это работает, потому что я ЗНАЮ, что это работает.

Тестер стратегий:

 
Может ли кто-нибудь объяснить мне, что такое возвращаемые значения функции? И как это работает в деталях, пожалуйста....
 
Jonathan:
Может ли кто-нибудь объяснить мне, что такое возвращаемые значения функции? И как это работает в деталях, пожалуйста....
Я создал тему специально для вас: Что такое возвращаемые значения функции? Как их использовать?
Причина обращения: