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

 
MrBrooklin:

Василий, есть ещё один момент, который мне нужно уточнить. В пункте 2 алгоритма советника написал: "В советнике создаем блок входных параметров с двумя параметрами: задать «уровень трейлинга» и задать «шаг трейлинга»". Что имелось ввиду под параметром задать "уровень трейлинга". Это такой "положительный" уровень текущей цены относительно цены открытия позиции, при котором бы трейлинг переносил Stop Loss на уровень цены открытия, то есть в безубыток.

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

Для бай если цена поднялась выше, от текущего уровня трейлинга, шага трейлинга плюс уровень трейлинга, то переносим его на новый уровень. У Ковалева алгоритм без шага трейлинга. Там на каждом тике цена сравнивается с уровнем трейлинга, и если выше, то уровень СЛ модифицируется. 

Уровень, это на сколько пунктов СЛ отстает от цены. Что бы не двигать (модифицировать) на каждом тике вводится параметр шага, и когда цена превышает это шаг, пододвигаем СЛ на новый уровень.

 
Valeriy Yastremskiy:

Для бай если цена поднялась выше, от текущего уровня трейлинга, шага трейлинга плюс уровень трейлинга, то переносим его на новый уровень. У Ковалева алгоритм без шага трейлинга. Там на каждом тике цена сравнивается с уровнем трейлинга, и если выше, то уровень СЛ модифицируется. 

Уровень, это на сколько пунктов СЛ отстает от цены. Что бы не двигать (модифицировать) на каждом тике вводится параметр шага, и когда цена превышает это шаг, пододвигаем СЛ на новый уровень.

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

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

 
MrBrooklin:

Василий, есть ещё один момент, который мне нужно уточнить. В пункте 2 алгоритма советника написал: "В советнике создаем блок входных параметров с двумя параметрами: задать "уровень трейлинга" и задать "шаг трейлинга". Что имелось ввиду под параметром задать "уровень трейлинга". Это такой "положительный" уровень текущей цены относительно цены открытия позиции, при котором бы трейлинг переносил Stop Loss на уровень цены открытия, то есть в безубыток.

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

Я так и понял. У Вас две функции перестановки трейлинга. Первая переставляет трейлинг в безубыток, руководствуясь параметром "Уровень трейлинга", Вторая функции подтягивает стоп-лосс дальше за ценой, руководствуясь параметром "шаг трейлинга". Имхо, первый параметр я бы назвал "Уровень перестановки стоп-лосса в безубыток" - потому что это не трейлинг как таковой а именно перестановка ордера в безубыток.

 
MrBrooklin:

Здравствуйте, Алексей! Буду весьма признателен за любую оказанную помощь.

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


Тут локальные проблемы с эл энергией... :-)

Выложу библиотеку трала ссылкой с телефона может сегодня, если расписать с компа подробнее, то завтра вечером по мск.
Там все элементарно, цикл по открытым, если символ нужный и магик тоже, то проверяем условие функции трала, если выполняется условие модификации позы, то модифицировать. Все.
Вот кстати функция Ким Игоря Владимировича простого трала, также можно поразбирать, там все подробно расписано и сделано в виде функции
https://www.mql5.com/ru/code/11693

Вот пожалуйста куча видов трала в виде библиотеки функций. Я для себя брал конкретные функции до сих пор их использую на боевом счете, вопросов нет это от Юрия Дзюбан
https://www.mql5.com/ru/code/7108

Юзайте  и разбирайтесь, там много интересного и разные варианты как видов трала, так и самого трала, например, трал только с профита и т.д.

 
Aleksey Masterov:

Такие ваши портянки тут никому не интересны. Размещать принято во вложнении, если таким образом это не значит что их вкурит больше желающих их вкуривать...

Мешает чтению темы и ответу по сабжу.

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

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

Файлы:
8ix5cw.PNG  140 kb
 
SanAlex:

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

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


Извините великодушно.
Я не специально.
Что касается мт4 и МТ5 форум то один. Подходы к тралу одни и теже... мало ли может кто и созреет  переложить в код в качестве обучения виды тралов с МТ4 на МТ5... :-)
Там на самом деле все элементарно. Выбирается интересующая функция и переводится. Да и в коде базе МТ5 куча функций и экспов по видам тралов.
 
MrBrooklin:

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

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

Валерий, как и обещал, выкладываю рисунок.

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


 
MrBrooklin:

Валерий, как и обещал, выкладываю рисунок.

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


Философский вопрос, если шаг трала кратно меньше уровня перевода в безубыток минус цена открытия позиции, то может имеет смысл двигать СЛ несколько раз?  

 
Valeriy Yastremskiy:

Философский вопрос, если шаг трала кратно меньше уровня перевода в безубыток минус цена открытия позиции, то может имеет смысл двигать СЛ несколько раз?  

Валерий, честно говоря, что-то никак не получается осознать, что Вы хотели мне объяснить, поэтому давайте, ещё раз попробуем разобраться. То, что нарисовано мною на рисунке относится только к тому, что называлось в алгоритме советника задать "уровень трейлинга". Когда Василий делал правки в алгоритме, то он поменял слово трейлинг на слово безубыток. В принципе, он сделал это правильно, т.к. нужно во входных параметрах задавать уровень ТЕКУЩЕЙ ЦЕНЫ при котором Stop Loss переводился бы в безубыток. Безубытком является тот уровень цены, по которой открылась позиция.

Пример:допустим, что открыласть позиция Buy по цене 1.10000. Если, во входных параметрах советника "уровень перестановки Stop Loss в безубыток" был задан размером 200 пунктов (по пятизнаку), то при достижении текущей ценой уровня 1.10200, Stop Loss перемещается (переносится) на уровень 1.10000.

К шагу траления всё это, пока, не имеет ни какого отношения. Затем, если текущая цена, нам на радость, поднялась выше уровня (помеченный на графике короткой красной чертой), при котором Stop Loss был переставлен в безубыток, на величину равную входному параметру  "шаг трейлинга", то в этот момент Stop Loss должен подняться вверх на величину равную входному параметру "шаг трейлинга".

Пример:допустим, что текущая цена продолжила движение в нужном нам направлении. Если во входных параметрах советника "шаг трейлинга" был задан размером 10 пунктов (по пятизнаку), то при достижении текущей ценой уровня 1.10210, Stop Loss перемещается (переносится) на уровень 1.10010.

И так будет происходить до тех пор, пока не сработает, либо Take Profit, либо Stop Loss.

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

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

 
MrBrooklin:

Валерий, честно говоря, что-то никак не получается осознать, что Вы хотели мне объяснить, поэтому давайте, ещё раз попробуем разобраться. То, что нарисовано мною на рисунке относится только к тому, что называлось в алгоритме советника задать "уровень трейлинга". Когда Василий делал правки в алгоритме, то он поменял слово трейлинг на слово безубыток. В принципе, он сделал это правильно, т.к. нужно во входных параметрах задавать уровень ТЕКУЩЕЙ ЦЕНЫ при котором Stop Loss переводится в безубыток, а именно, на тот уровень цены, по которой открылась позиция.

Пример: допустим открыласть позиция Buy по цене 1.10000. Если, во входных параметрах советника "уровень безубытка" была задана величина 200 пунктов (по пятизнаку), то при достижении текущей ценой уровня 1.10200, Stop Loss перемещается (переносится) на уровень 1.10000.

К шагу траления всё это, пока, не имеет ни какого отношения. Затем, если текущая цена, нам на радость, поднялась выше уровня (помеченный на графике короткой красной чертой), при котором Stop Loss был переведён в безубыток, на величину равную входному параметру  "шаг трейлинга", то в этот момент Stop Loss должен подняться вверх на величину равную входному параметру "шаг трейлинга". И так будет происходить до тех пор, пока не сработает, либо Take Profit, либо Stop Loss.

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

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

Рассуждаем далее, если шаг трала 50, и после переноса в безубыток мы будем подтягивать СЛ через 50 пунктов.

Вопрос, почему для переноса в Б/У цена должна пройти 200 пунктов, а потом тралится с шагом в 50? Может правильней ее сразу подтягивать с шагом 50. Ведь подтянув 2 раза СЛ станет в 100 пунктах и если цена развернется то убыток будет в 100 пунктов. В Вашем случае убыток будет 200 пунктов, ведь цена до уровня безубытка не дойдет.

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

Причина обращения: