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

 
MrBrooklin:

Если бы в Справочнике для языка программирования MQL5 сразу написали так:

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

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

Там всё хорошо написано. Если скобок нету, значит оператор for относится только к следующему выражению.
И не говорите что тупой, попробуйте ещё найти такого, кто в вашем возрасте будет изучать с нуля программирование.
 
Aliaksandr Hryshyn:
Там всё хорошо написано. Если скобок нету, значит оператор for относится только к следующему выражению.
И не говорите что тупой, попробуйте ещё найти такого, кто в вашем возрасте будет изучать с нуля программирование.

Владимир не говорил что тупой, ему тяжело даётся потому, что ограниченный во времени экспресс метод изучения это не просто.

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

А учиться никогда не поздно было бы желание, есть примеры защиты десертации или изучения иностранных языков в 65 например...

 
MrBrooklin:

Игорь, желание изучать язык MQL5 не пропадает, а наооборот, только усиливается. Меня просто разрывает, почему такой тупой и не могу понять простые вещи с этим оператором цикла

не тупой, а нетерпеливый, причем Вы пытаетесь учить "англицкий язык" имея только словарь - Вы пытаетесь иностранные слова сложить в поянтные Вам комбинации, не учитывая, что языковые конструкции могут отличаться

т.е. синтаксис и основы программирования на Си  придется изучить, ну не получится написать что то путное .... кроме вот этого "загадочного" оператора for, будет еще непонимание... ну например области видимости переменных? - понимаете что это? - это не сложно, но должно быть понимание что видит машина когда читает Вашу программу


не знаю какой учебник посоветовать Вам, по Шарпу иногда подглядывал тут https://metanit.com/sharp/tutorial/1.1.php

там же есть и Си и С++ https://metanit.com/cpp/

если будете пользоваться, то разделы про указатели и про классы и про ООП пропустите, да и не нужно учить, нужно просто упорядочить (систематизировать) полученные знания

 
MrBrooklin:

Игорь, желание изучать язык MQL5 не пропадает, а наооборот, только усиливается. Меня просто разрывает, почему такой тупой и не могу понять простые вещи с этим оператором цикла. Главное без оператора цикла код работает идеально, а с циклом полный ступор. Всё-равно докапаюсь до истины. Правда, времени стало гораздо меньше для самообучения, т.к. закончился карантин и на работе появляются редкие моменты, чтобы заниматься изучением языка. В основном разбираюсь с языком вечером и до поздней ночи.

Чтобы наконец-то перейти непосредственно к написанию кода Трейлинг Стопа, мне нужно до конца разобраться и решить 2-е задачи:

  1. Написать код с примением оператора цикла for для перебора всех открытых позиций на всех символах и если таковых нет, то открыть позицию Buy в промежутке времени с 09:00:00 по 09:01:00, а в 23:50:00 закрыть её принудительно, если в течении торгового дня не сработает стоп-лосс. Без оператора цикла for, как уже раньше писал, всё работает идеально. Теперь хочу добиться такого же результата, но уже с применением цикла.
  2. Написать 2-е функции, определяющие направление открытия позиции по первому тику, который появится в промежутке времени с 09:00:00 по 09:01:00. Если первый тик вверх, то должна открыться позиция Buy, если первый тик вниз, то соответственно позиция Sell. Это никакая не стратегия, а просто моя "хотелка", чтобы не использовать условие random.
С уважением, Владимир.
Уже на тз  похоже. Это цель. Теперь алгоритм решение нужно сформулировать по шагам
Если что не понятно спрашивайте. Иногда простые вещи отнимают больше времени чем сложные.
 
VVT:

Владимир не говорил что тупой, ему тяжело даётся потому, что ограниченный во времени экспресс метод изучения это не просто.

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

А учиться никогда не поздно было бы желание, есть примеры защиты десертации или изучения иностранных языков в 65 например...

Надо всё называть своими именами - в настоящий момент в программировании тупой, как пробка! Не понимаю элементарных вещей. Хотя вот в электронике знания, полученные в молодости, до сих пор помогают отремонтировать, например, дистанционную радиокнопку от квартирного звонка. В прошлые выходные с помощью мультиметра и дедовской лупы нашел неисправный SMD конденсатор, микроскопических размеров. Показывал пробой, короткое замыкание или "козу", как раньше называли от сокращения к.з., т.е. короткое замыкание. Вот фото "пробитого" SMD конденсатора с 4-х кратным увеличением на смартфоне и последующей обработкой в Paint, т.к. слишком микроскопичный элемент.


Решил немного отступить от темы и хоть чем-нибудь похвалиться!

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

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

 
Igor Makanu:

не тупой, а нетерпеливый, причем Вы пытаетесь учить "англицкий язык" имея только словарь - Вы пытаетесь иностранные слова сложить в поянтные Вам комбинации, не учитывая, что языковые конструкции могут отличаться

т.е. синтаксис и основы программирования на Си  придется изучить, ну не получится написать что то путное .... кроме вот этого "загадочного" оператора for, будет еще непонимание... ну например области видимости переменных? - понимаете что это? - это не сложно, но должно быть понимание что видит машина когда читает Вашу программу


не знаю какой учебник посоветовать Вам, по Шарпу иногда подглядывал тут https://metanit.com/sharp/tutorial/1.1.php

там же есть и Си и С++ https://metanit.com/cpp/

если будете пользоваться, то разделы про указатели и про классы и про ООП пропустите, да и не нужно учить, нужно просто упорядочить (систематизировать) полученные знания

Спасибо, Игорь, за Вашу постоянную поддержку и советы. Гуглил и Си, и Си++, но чувствую, что снова немного нужно отдохнуть, переварить и закрепить, то что мне уже понятно. А затем, опять за книжки.

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

 
Valeriy Yastremskiy:
Уже на тз  похоже. Это цель. Теперь алгоритм решение нужно сформулировать по шагам
Если что не понятно спрашивайте. Иногда простые вещи отнимают больше времени чем сложные.

Валерий, ТЗ (техническое задание) у меня давно прописано в советнике, просто в теме не выкладывал на всеобщее обозрение.

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

/* Краткое описание советника Trailing_Stop. Код советника разрабатывается в соответствии с
   планом самообучения языку программирования MQL5. В советнике применена неттинговая система
   учёта позиций. Эта система учета подразумевает, что в один момент времени на счете может быть
   только одна открытая позиция по одному и тому же символу (финансовому инструменту). Алгоритм
   работы советника прост: один раз в торговый день ровно в 9 ч. 00 мин. по московскому времени
   будет открываться одна позиция в ту сторону, куда будет направлен первый тик. Например, если
   первый тик будет направлен вверх, то значит откроется позиция BUY, если первый тик будет вниз,
   то значит откроется позиция SELL. У открытой позиции сразу будет устанавливаться ордер Stop Loss
   фиксированного размера для минимизации потерь в том случае, если цена финансового инструмента
   станет двигаться в убыточном направлении. Если цена инструмента достигнет этого уровня, то
   позиция полностью закроется автоматически. Если цена финансового инструмента будет двигаться
   в прибыльном направлении, то тогда автоматически включится в работу Trailing_Stop (Трейлинг Стоп).
   Схема работы Трейлинг Стоп:
   1. С приходом новых котировок советник проверяет, прибыльна ли открытая позиция.
   2. Как только прибыль (в пунктах) станет равной либо большей той величины, которая указана во
      входном параметре советника "Уровень перестановки Stop Loss в безубыток", автоматически
      поступит команда для перемещения ордера Stop Loss на тот уровень цены, по которому открылась
      существующая позиция, т.е. в безубыток.
   3. Если цена и дальше продолжит движение с увеличением прибыльности позиции, то при превышении
      величины, указаной во входном параметре советника "Уровень перестановки Stop Loss в безубыток"
      на величину, которая указана во входном параметре "Шаг трейлинг стопа", Stop Loss вслед за
      текущей ценой автоматически переместится с уровня безубытка на величину этого шага.
   4. Если прибыльность позиции уменьшится, то модификации ордера происходить не будет. Таким
      образом, будет автоматически фиксироваться прибыль торговой позиции.
   Если в течении торгового дня открытая позиция не закроется по Stop Loss или Trailing_Stop, то в
   23 ч. 50 мин. советник принудительно закроет эту позицию.

   ВАЖНО!!! Советник создан для демо-счёта исключительно в учебных целях!
            Не предназначен для торговли на реальном счёте и извлечения прибыли!*/
 
MrBrooklin:

Валерий, ТЗ (техническое задание) у меня давно прописано в советнике, просто в теме не выкладывал на всеобщее обозрение.

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

Схема работы это больше похоже на цель. Это даже не постановка задачи. Решение это алгоритм сперва общий. Это постановка задач. И далее алгоритмы решения этих задач.
 
Valeriy Yastremskiy:
Схема работы это больше похоже на цель. Это даже не постановка задачи. Решение это алгоритм сперва общий. Это постановка задач. И далее алгоритмы решения этих задач.

Понятно.

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

 
Valeriy Yastremskiy:

Оператор цикла и операторы в теле цикла. Не совсем классический русский язык.

Все конечно хорошо, но где итератор i в теле цикла? И для того что бы получить символ позиции и ее магик ее надо сперва выбрать. Описание позиции это структура (в мкл5 все структура и ордера и время и сделки) и она заполняется через выбор, селект по итератору который не тикет позиции, а номер позиции. и надо помнить, что в структуре описания позиции всегда последний выбор позиции.

MrBrooklin:

Всем доброго дня и хорошего настроения!

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

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

Здесь - позвольте с вами не согласиться, можно и нужно кодом, что вам мешает вникать в его суть... разбираться и прочее... также ИМХО, есть статьи, есть роботы в кодобазе - читайте, разбирайте код уже готовый - учитесь стилистике написания сразу. Зачем вам изобретать велосипед? Учитесь сразу по грамотным кодам.

Вот уже трал от В. Карпутова - именно в РОБОТАХ выложен, смотрите - правьте под свои нужды (условия и ваши фантазии).

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

Спсб, за ветвь! :-) (без шуток)

TrailingStop
TrailingStop
  • www.mql5.com
Это простой пример советника с реализацией трейлинг-стопа. В нем всего два параметра: TrailingStop — собственно отступ между ценой и уровнем StopLoss. TrailingStep — защита от чрезмерно частой модификации позиции.  Как работает TrailingStop (трейлинг, TrailingStop) — на примере позиции Buy: ...
Причина обращения: