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

 
Vasiliy Pushkaryov #:

Давайте ближе к сути. Контроль нового бара в обоих индикаторах дал вам возможность получить на 1-м тике по CopyBuffer() данные со старшего ТФ с ресурсного индикатора?

Эксперименты показали, что нет разницы на каком ТФ будет работать индикатор, главное чтобы контроль нового бара был одинаковым на обоих индикаторах.

Вот запустил на М15 при контроле нового бара М2

2024.06.21 17:22:01.467 Test_MTF.ex5::test-R (EURUSD,M15)        ***** Test-R 2024.06.21 17:22:00
2024.06.21 17:22:01.467 Test_MTF (EURUSD,M15)    ***** 2024.06.21 17:22:00
2024.06.21 17:24:00.973 Test_MTF.ex5::test-R (EURUSD,M15)        ***** Test-R 2024.06.21 17:24:00
2024.06.21 17:24:00.973 Test_MTF (EURUSD,M15)    ***** 2024.06.21 17:24:00

Вот на минутке с контролем М5 

2024.06.21 17:30:00.527 Test_MTF.ex5::test-R (EURUSD,M1)         ***** Test-R 2024.06.21 17:30:00
2024.06.21 17:30:00.527 Test_MTF (EURUSD,M1)     ***** 2024.06.21 17:30:00
2024.06.21 17:35:00.643 Test_MTF.ex5::test-R (EURUSD,M1)         ***** Test-R 2024.06.21 17:35:00
2024.06.21 17:35:00.643 Test_MTF (EURUSD,M1)     ***** 2024.06.21 17:35:00

Печать идёт, нечётная строка это из ресурсного индикатора, а чётная строка из рабочего, значение получает 

    CopyBuffer(handleInd, 0, 0, 1, test_Buffer);
    Print(zz, (datetime)test_Buffer[0]);
 
Alexey Viktorov #:

Эксперименты показали, что нет разницы на каком ТФ будет работать индикатор, главное чтобы контроль нового бара был одинаковым на обоих индикаторах.

Вот запустил на М15 при контроле нового бара М2

Сейчас переключу на минутку и контроль 5 минут

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

 
Aleksey Vyazmikin #:

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

Кто сказал что без тика?

Код в черновом варианте, это раз… Есть ошибка выхода за пределы массива, это два… Править всё это я не буду, мне достаточно и так… И если вам всё написать, то и думать никто не будет.

Как контролируется новый бар НЕ текущего периода знают все за исключением самых одарённых.

 
Alexey Viktorov #:

Кто сказал что без тика?

Я ж пишу - не понимаю, так как проблему вижу в запаздывании тика на верхнем ТФ относительно текущего ТФ, на котором размещён индикатор.

Просто пока не понимаю суть обхода этой проблемы.

 
Aleksey Vyazmikin #:

Я ж пишу - не понимаю, так как проблему вижу в запаздывании тика на верхнем ТФ относительно текущего ТФ, на котором размещён индикатор.

Просто пока не понимаю суть обхода этой проблемы.

А нет проблемы. Если есть тик по инструменту, то он есть независимо от периода. Тик по инструменту и всё. А наступил-ли новый бар на интересующем нас периоде это совсем другое. Вот смотрите на снимках предыдущего сообщения. В индикаторе копируются ДВА последних тика и в комментарий отображается время этих двух тиков. Смотрите внимательно…

 
Aleksey Vyazmikin #:

Не знаю, как понимать Ваше утверждение.

Я написал выше, как было бы правильно и полезно для подписчика.

Понимайте непосредственно так, как оно написано.

Нет, Вы пишите как было бы полезно для поставщика.
 
Sergey Gridnev #:
Понимайте непосредственно так, как оно написано.

Нет, Вы пишите как было бы полезно для поставщика.

Обоснуйте.

 
Aleksey Vyazmikin #:

Обоснуйте.

В момент, когда подписчик подпишется на сигнал, могут быть открыты позиции и эквити может находиться на максимуме. Поэтому и просадки надо считать по эквити.
 
Vasiliy Pushkaryov #:

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

Вы столько времени потратили на обсуждение со мной этой темы, сколько может занять время в тестовых индикаторах на 5-10 строк логики, чтобы привести их в порядок? Или выложить так. Обещаю, стилистику кода и выход за пределы массива не обсуждать и не комментировать.

Василий, сделайте без циклов, без переворота массивов, запись и получение только одного значения. Хотите ещё одну картинку?

Индикатор на М5 с проверкой нового бара М30.

2024.06.21 19:30:01.407 Test_MTF.ex5::test-R (EURUSD,M5)         ***** Test-R 2024.06.21 19:30:00
2024.06.21 19:30:01.407 Test_MTF (EURUSD,M5)     ***** 2024.06.21 19:30:00
2024.06.21 20:00:01.960 Test_MTF.ex5::test-R (EURUSD,M5)         ***** Test-R 2024.06.21 20:00:00
2024.06.21 20:00:01.960 Test_MTF (EURUSD,M5)     ***** 2024.06.21 20:00:00
2024.06.21 20:30:00.970 Test_MTF.ex5::test-R (EURUSD,M5)         ***** Test-R 2024.06.21 20:30:00
2024.06.21 20:30:00.970 Test_MTF (EURUSD,M5)     ***** 2024.06.21 20:30:00
2024.06.21 21:00:01.379 Test_MTF.ex5::test-R (EURUSD,M5)         ***** Test-R 2024.06.21 21:00:00
2024.06.21 21:00:01.379 Test_MTF (EURUSD,M5)     ***** 2024.06.21 21:00:00
2024.06.21 21:30:01.035 Test_MTF.ex5::test-R (EURUSD,M5)         ***** Test-R 2024.06.21 21:30:00
2024.06.21 21:30:01.035 Test_MTF (EURUSD,M5)     ***** 2024.06.21 21:30:00
2024.06.21 22:00:01.544 Test_MTF.ex5::test-R (EURUSD,M5)         ***** Test-R 2024.06.21 22:00:00
2024.06.21 22:00:01.544 Test_MTF (EURUSD,M5)     ***** 2024.06.21 22:00:00

Я смотрю вы нисколько не меняете свой код. Нисколько не хотите вникнуть в логику. Не хотите, не надо.

Кстати обнаружилась проблема в том, что нежданно негаданно выскакивает ошибка 4401 на строке

datetime currTime = iTime(_Symbol, inpTF, 0);
 
Alexey Viktorov #:

Эксперименты показали, что нет разницы на каком ТФ будет работать индикатор, главное чтобы контроль нового бара был одинаковым на обоих индикаторах.

Вот запустил на М15 при контроле нового бара М2

Вот на минутке с контролем М5 

Печать идёт, нечётная строка это из ресурсного индикатора, а чётная строка из рабочего, значение получает 

Что значит с контролем М5? Вы на минутке сделали обработку нового бара с жесткой привязкой PERIOD_M5 или как?

2024.06.21 17:30:00.527 Test_MTF.ex5::test-R (EURUSD,M1)         ***** Test-R 2024.06.21 17:30:00
2024.06.21 17:30:00.527 Test_MTF (EURUSD,M1)     ***** 2024.06.21 17:30:00
2024.06.21 17:35:00.643 Test_MTF.ex5::test-R (EURUSD,M1)         ***** Test-R 2024.06.21 17:35:00
2024.06.21 17:35:00.643 Test_MTF (EURUSD,M1)     ***** 2024.06.21 17:35:00

Почему у вас в этом логе во всех строках везде EURUSD_M1?

Что у вас в iCustom()? 

Почему у меня вызов ресурсного индикатора со старшего ТФ показывает в логах старший ТФ, а у вас нет?

Мало-мальский код давно бы закончил нашу дискуссию.

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

Вы столько времени потратили на обсуждение со мной этой темы, сколько может занять время в тестовых индикаторах на 5-10 строк логики, чтобы привести их в порядок? Или выложить так. Обещаю, стилистику кода и выход за пределы массива не обсуждать и не комментировать.