Самообучение языку MQL5 с полного нуля - страница 49

 
MrBrooklin:

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

С уважением, Владимир.

Никакого скрипта для трейлинга использовать нельзя. Это подрывает саму идею того что я пытаюсь до Вас донести. 
Буду за компом напишу позже.
Генеральная линия у нас одна: мы используем только функции. Как - напишу позже.
 
Vasiliy Sokolov:
Никакого скрипта для трейлинга использовать нельзя. Это подрывает саму идею того что я пытаюсь до Вас донести. 
Буду за компом напишу позже.
Генеральная линия у нас одна: мы используем только функции. Как - напишу позже.

Понял, Василий! Тогда ставлю всё на паузу.

С уважением, Владимир.

 
Vasiliy Sokolov:
Никакого скрипта для трейлинга использовать нельзя. Это подрывает саму идею того что я пытаюсь до Вас донести. 
Буду за компом напишу позже.
Генеральная линия у нас одна: мы используем только функции. Как - напишу позже.
Так и в скрипте используем функции, Василий. Да, менее удобно, чем в советнике, зато Владимир выполнит задуманный план самообучения. Нежелательно от него отклоняться, ведь можно совсем запутаться в целях и материале. Поэтому, я поддержал его желание сделать трейлинг в скрипте, хоть это и не очень правильно.
 
MrBrooklin:

Понял, Василий! Тогда ставлю всё на паузу.

С уважением, Владимир.

Принципиальной разницы где писать функции трейлинга нет, главное - написать и научиться.
 
Реter Konow:
Принципиальной разницы где писать функции трейлинга нет, главное - написать и научиться.

В скрипте нельзя вызвать ОнТик) 

 
MrBrooklin:

Понял, Василий! Тогда ставлю всё на паузу.

С уважением, Владимир.

Давайте подходить к трейлигу постепенно. Сейчас предлагаю Вам написать алгоритм трейлинга на бумаге: т.е составить подробное ТЗ по пунктам без кода того как он должен по Вашему работать. С этим и будем работать в дальнейшем.
 
Valeriy Yastremskiy:

В скрипте нельзя вызвать ОнТик) 

А он и не собирался. Он бы заблокировал поток скрипта и в вечном цикле дергал бы торговое окружение. Ну т.е. сразу все по-жести. 
 
Vladimir Simakov:

Есть такое наблюдение, что раз начав костылить, тяжело потом остановиться, как следствие, код проекта превращается в то непотребство, которое называют г..кодом.

Поясняю:

  1. Есть проект с промежуточным рабочим решением и количеством внедренных фич count=0.
  2. Есть задача - запилить фичу ++count.
  3. Для прикрутки фичи надо:
    • по дереву объектов методы прописать да связать все это дело логикой в обработчиках событий (ориентировочное время 3 ч.*count; count=0)
    • написать костыль в виде глобальной переменной и дергать ее в нескольких методах, там, где нам нужно (ориентировочное время 15 мин*count.)
  4. Баг автонумерации (это bug report для метаквотов).
  5. Естественно, выбран вариант с костылем (реально, тяжело себя заставить в этом случае работать)
  6. if (we did it) goto 2
  7. else все упало на хрен, кричим хелп ми и читаем веселые комментарии о том, что так делать нельзя.

Надеюсь обратили внимание, что счетчик внедренных фич, увеличивает время внедрения следующей фичи, но при внедрении правильном, он, после него, обнуляется?

Все конечно очень утрированно, но именно так и происходит в реале.

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

Регламентация и еще раз регламентация. А за нарушения отлучение))) и в монолитной процедурке тоже все можно реализовать))))

Хотя лан, согласен, всех бывших еще можно, но новых работников в регламент сунуть это лишние затраты)

И если уж честно, конечно после наличия более 3-5 источников разных данных и более 3 разных алгоритмов обработки глобальные переменные без четкого регламента их объявления это зло.

Сам на этапе отработки все расчетные переменные в глобалке. После отработки можно обернуть во что угодно)

 
Valeriy Yastremskiy:

Регламентация и еще раз регламентация. А за нарушения отлучение))) и в монолитной процедурке тоже все можно реализовать))))

Хотя лан, согласен, всех бывших еще можно, но новых работников в регламент сунуть это лишние затраты)

Вот поэтому, вновь прибывших бойцов легче/проще/дешевле обучить команде "глобалки это зло" -слез, самострелов, гнева старших товарищей сразу поубавиться на порядок. А сложные фичи через глобалки новичкам все равно не нужны. 
 
Vasiliy Sokolov:
А он и не собирался. Он бы заблокировал поток скрипта и в вечном цикле дергал бы торговое окружение. Ну т.е. сразу все по-жести. 

Примерно так себе и представлял, но только с применением в скрипте функции Sleep и возможностью задавать период засыпания от 1 до 10 секунд.

С уважением, Владимир.