Изменение входных параметров индикатора на ходу - страница 3

 
TheXpert:
Нету. Нахрена там ООП?
Так уж вышло, что ООП при написании индикаторов удобнее и красивее. Да еще и событийная модель в индикаторах элементарно прикручивается. Вкурите тему, мне нравится.
 
kbw74614:
Так уж вышло, что ООП при написании индикаторов удобнее и красивее
Вы ж вроде конвертер писать собрались, а не индикатор.
 
Meat:
Вы ж вроде конвертер писать собрались, а не индикатор.
Несколько активных тем параллельно. Конвертер наваяю. Должен. Технических проблем не вижу пока.
 
kbw74614:
Конвертер наваяю. Должен. Технических проблем не вижу пока.

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

Очевидно, если индикатор написан так, что его изнутри нельзя полноценно перезапустить последовательным вызовом OnDeinit, OnInit, OnCalculate - это криво-написанный индикатор. Надеюсь, таких меньшинство. 

 
kbw74614:

если индикатор написан так, что его изнутри нельзя полноценно перезапустить последовательным вызовом OnDeinit, OnInit, OnCalculate - это криво-написанный индикатор. Надеюсь, таких меньшинство. 

Выходит, что любой индикатор, использующий IndicatorCounted() является кривым, т.к. IndicatorCounted() не обнуляется почти - предполагаю, что ChartRedraw() обнулит.
 
kbw74614:

Схема работы конвертера такая:

  1. Запустили на чарте индикатор/-ы, который хотим сделать правильным.
  2. Запустили конвертер-скрипт.
  3. Конвертер через WinAPI находит исходник индикатора и считывает его.
  4. Конвертер добавляет в исходник нужные строчки, чтобы индикатор стал правильным.
  5. Записывает преобразованный исходник с немного изменненым именем.
  6. Компилирует его.
  7. Пользователь видит в терминале соответствующий правильный индикатор.
  8. Старый больше не использует - незачем. Правильный - гораздо удобнее.

Мне жутко влом писать все пункты, кроме четвертого. Уверен, что все остальные пункты уже реализованы неоднократно у многих.

Сам возьмусь лишь только за выделенный пункт:

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

Атомат делать не стал - осознал неоправданную для данной задачи сложность (время) парсинга и разбора регулярных выражений. Формализовал правила конвертации для ручной правки - для любого индикатора конвертация занимает минуту-другую и делается очень просто: программирование знать для конвертации не требуется.

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

Мне это также было полезно, как упражнение по ООП, т.к. новичек в этих делах. Если кто подскажет более красивые, правильные и гибкие ООП-решения - буду рад услышать. 

Файлы:
 

Заинтересовался корреляцией, нарыл в кодобазе и конвертнул (см. файлы) за минуту:

Файлы:
 
Файлы:
 
Автор темы в "отпуске"! Потому не так скоро посмотрит, тогда и ответит! Но когда?!
 
Это автор и есть )
Причина обращения: