Разработка советника Shot/Ashot

MQL5 Indicadores Asesores Expertos

Trabajo finalizado

Plazo de ejecución 18 días

Tarea técnica

Пояснение о работе Trailing StopLoss


Параметры

TrailingStopLoss- стоплосс, который указывается в пунктах. Включается при достижении TrailingStopLoss+TrailingPoints

TrailingPoints- шаг перестановки трейлинга в пунктах. На сколько пунктов переставлять линию Trailing.

TrailingTakeProfit- высота биржевого ордера в пунктах, который будет ловить прострелы вверх.

TrailingTakeProfitStep- на сколько пунктов поднимать TrailingTakeProfit через время TrailingTakeProfitWait.

TrailingTakeProfitWaitсекунд - через какое время, после роста переставлять TrailingTakeProfit выше.

После того, как запустится Trailing, на графике появляется линия, которая следует за ценой исходя из настроек. Рисуем синим цветом.

  • Вошли в сделку.
  • После роста на параметр TrailingStopLoss - пока ничего не происходит.
  • После роста на TrailingStopLoss+TrailingPoints выставляется стоплосс на уровне TrailingStopLoss.
  • После роста цена на TrailingPoints переставляется TrailingStopLoss на это количество пунктов.
  • В момент, когда произойдёт TrailingStopLoss+TrailingPoints выставляется TrailingTakeProfit на указанное количество пунктов от начальной цены.
  • После каждой перестановки уровня TrailingStopLoss отсчитывается время TrailingTakeProfitWait и цена переставляется на TrailingPoints.

Пример:

TrailingStopLoss= 50 пунктов

TrailingPoints= 30 пунктов

TrailingTakeProfit= 150 пунктов

TrailingTakeProfitStep= 20 пунктов

TrailingTakeProfitWait= 300 секунд

  1. Вошли в сделку. Выставляем тейкпрофит лимиткой на уровне 150 пунктов.
  2. Цена поднялась на 50 пунктов - ничего не происходит.
  3. Цена поднялась на 50+30 пунктов - выставляется стоплосс на уровне 50 пунктов.
  4. Цена поднялась на 50+30+30=110 пунктов. Считаем 300 секунд и поднимаем тейкпрофит на 150+20=170 пунктов. Если в течение 300 секунд цена дойдёт до 150 пунктов, то произойдёт продажа. Если за 300 секунд цена не поднялась на уровень 150 пунктов, то уровень тейкпрофита переставляется на уровень 150+20=170 пунктов.
  5. Если цена не дошла до уровня тейкпрофита и пошла вниз, то произойдёт продажа на уровне стоплосса.

Пояснение о TrailingBuyStop

TrailingBuyStop(TrailingSellStop для шортов). Пояснения ниже касаются лонгов. Для шортов ситуация обратная.

После срабатывания сигнала включается TrailingBuyStop выше точки срабатывания на указанное количество пунктов.

Если цена снижается на это количество пунктов, то TrailingBuyStop переставляется на это количество пунктов.

Если цена поднимается и касается этого уровня, то происходит покупка по маркету.

Рисуем линию TrailingBuyStop красным цветом на графике.


Параметры стратегии Shot

! Пояснения о том, как строится параметр Shot даны внизу.

TF1- смотрим ситуацию на TF1 и отслеживаем Shot, Ashot (1m,5m,15m,30m,1h)

Shot1- глубина построения линии под графиком в пунктах. Отображается на экране.

ColorS1 -выбор цвета линии Shot1.

Lot- фиксированный лот. Если 0, то смотрит на Risk.

Risk- % от депозита. Если 0, то смотрит Lot.

TypeOfBuy(раскрывающийся список)- Limit/MarketOncePerBar/MarketOncePerBarClosed.

  • MarketOncePerBar- покупает по рынку сразу же на открытой свече, когда происходит событие.
  • MarketOncePerBarClosed- покупать после закрытой свечи, как произойдет событие.
  • Limit- переставляет лимитки по индикаторам. Т.е. ловит нужный уровень и покупает лимиткой.

TrailingBuyStop- если 0, то не работает. Указывается в пунктах. Описано выше

TypeOfSell(раскрывающийся список)- Выбор TakeProfit, Trailing.

TakeProfit- фиксированная цена в пунктах. Тейк виртуальный. Не проставляем заранее у брокера. Если 0, то ручное закрытие сделок. 

StopLoss- фиксированный уровень в пунктах. СтопЛосс виртуальный. Не проставляем заранее у брокера. Если выбран Trailing, как вариант продажи, то работает, пока не сработает Trailing.

Breakeven- безубыток. Указывается в пунктах. Работает только с включенным TakeProfit.

TrailingStopLoss- пункты.

TrailingPoints- пункты.

TrailingTakeProfit- пункты.

TrailingTakeProfitStep= пункты.

TrailingTakeProfitWait= пункты.

BuyAfterStopLoss (Yes/No)- покупка в точке изначального стоплосса. Если закрывается сделка по стопу - покупаем опять.

BuyAfterStopLossLot -размер лота. Если 0, то не работает.

BuyAfterStopLossRisk - %от депозита.


Далее мы дублируем те же функии для других таймфреймов.

! ЕСЛИ СТОЯТ НУЛИ В ТФ, то не используем этот блок настроек. Всего делаем для 5 таймфреймов. Т.е. будут в итоге TF1, TF2, TF3, TF4, TF5 и соответственно Shot 1, 2, 3, 4, 5


TF2- смотрим ситуацию на TF1 и отслеживаем Shot, Ashot (1m, 5m, 15m, 30m, 1h)

Shot2- глубина построения линии под графиком в пунктах.

ColorS2 -цвет линии. Shot2

Lot- фиксированный лот. Если 0, то смотрит на Risk.

Risk- % от депозита. Если 0, то смотрит Lot.

TypeOfBuy(раскрывающийся список)- Limit/MarketOncePerBar/MarketOncePerBarClosed.

  • MarketOncePerBar- покупает по рынку сразу же на открытой свече, когда происходит событие.
  • MarketOncePerBarClosed- покупать после закрытой свечи, как произойдет событие.
  • Limit- переставляет лимитки по индикаторам. Т.е. ловит нужный уровень и покупает лимиткой.

TrailingBuyStop- если 0, то не работает. Указывается в пунктах. Описано выше.

TypeOfSell(раскрывающийся список)- Выбор TP или Trailing.

TakeProfit- фиксированная цена в пунктах. Тейк виртуальный. Не проставляем заранее у брокера.  Если 0, то ручное закрытие сделок. 

StopLoss- фиксированный уровень в пунктах. СтопЛосс виртуальный. Не проставляем заранее у брокера. Если выбран Trailing, как вариант продажи, то работает, пока не сработает Trailing.

Breakeven- безубыток. Указывается в пунктах. Работает только с включенным TakeProfit.

TrailingStopLoss- пункты.

TrailingPoints- пункты.

TrailingTakeProfit- пункты.

TrailingTakeProfitStep= пункты.

TrailingTakeProfitWait= пункты.

BuyAfterStopLoss (Yes/No)- покупка в точке изначального стоплосса. Если закрывается сделка по стопу - покупаем опять.

BuyAfterStopLossLot -размер лота. Если 0, то не работает.

BuyAfterStopLossRisk - %от депозита.


Параметры стратегии Ashot

! Описание параметра Ashot дано внизу.


TF1- смотрим ситуацию на TF1 и отслеживаем Ashot.

aShot1- глубина построения линии над графиком в пунктах.

ColorA1 -цвет линии Ashot1.

Lot- фиксированный лот. Если 0, то смотрит на Risk.

Risk- % от депозита. Если 0, то смотрит Lot.

TypeOfBuy(раскрывающийся список)- Limit/MarketOncePerBar/MarketOncePerBarClosed.

  • MarketOncePerBar- покупает по рынку сразу же на открытой свече, когда происходит событие.
  • MarketOncePerBarClosed- покупать после закрытой свечи, как произойдет событие.
  • Limit- переставляет лимитки по индикаторам. Т.е. ловит нужный уровень и покупает лимиткой.

TrailingSellStop- если 0, то не работает. Указывается в пунктах. Описано выше.

TypeOfSell(раскрывающийся список)- Выбор TP или Trailing.

TakeProfit- фиксированная цена в пунктах. Тейк виртуальный. Не проставляем заранее у брокера. Если 0, то ручное закрытие сделок. 

StopLoss- фиксированный уровень в пунктах. СтопЛосс виртуальный. Не проставляем заранее у брокера. Если выбран Trailing, как вариант продажи, то работает, пока не сработает Trailing.

Breakeven- безубыток. Указывается в пунктах. Работает только с включенным TakeProfit.

! Trailing для шортов работает по тому же принципу, что и для лонгов, но в обратную сторону.

TrailingStopLoss- пункты.

TrailingPoints- пункты.

TrailingTakeProfit- пункты.

TrailingTakeProfitStep= пункты.

TrailingTakeProfitWait= пункты.

BuyAfterStopLoss (Yes/No)- покупка в точке изначального стоплосса. Если закрывается сделка по стопу - покупаем опять.

BuyAfterStopLossLot -размер лота. Если 0, то не работает.

BuyAfterStopLossRisk - %от депозита.

Повторяем все функции для 5 таймфреймов, что и для Shot.


Общие настройки для всех стратегий

Spread- максимальная граница спреда. Выше границы спреда не покупает и не продаёт. Если купил при нормальном спреде, продает только тогда, когда опустится.

QuantityOfOrders- одновременное кол-во выставленных ордеров.

BuyOrNot(раскрывающийся список)- Yes/No. Yes - покупаем по стратегии. No - покупка не происходит. Просто срабатывает уведомление.

Indicator(раскрывающийся список)- Yes/No. Показывать или не показывать индикатор на графике. Помечать на графике потенциальные точки, где сработал бы бот.

Оповещение звуковое -Yes/No.

Push- Yes/No.

ВРЕМЯ РАБОТЫ БОТА

StartHour

StartMin

EndHour

EndMinute

FridayEndHour

MondayStartHour


Логика построения индикатора Shot/Ashot

Логика нахождения постановки сигнала + рисование линий. Писал на TradingView. Для параметров shot(ashot)2,3,4,5 строить аналогично. shot1 = input(0.1, title="Shot1",type=float) ashot1 = input(0.1, title="aShot1",type=float)

cross_shot1 = open>close ? close*(1-(shot1/100)) : open*(1-(shot1/100)) cross_ashot1 = open>close ? open*(1+(ashot1/100)) : close*(1+(ashot1/100))

condition1 = crossunder(low,cross_shot1[1]) condition11 = crossover(high,cross_ashot1[1])

plotshape(condition1, style=shape.xcross,location=location.belowbar, color=green, transp=0, size=size.tiny,title="BUY_shot1") plotshape(condition11, style=shape.xcross,location=location.abovebar, color=green, transp=0, size=size.tiny,title="BUY_ashot1")

alertcondition(condition1,title="BuyShot1",message="BuyShot1") alertcondition(condition11,title="BuyShot1",message="BuyShot1")

Логика покупки

1 вариант

  1. Срабатывание параметра Shot (1...5) или Ashot (1...5)

2 вариант

  1. Срабатывание параметра Shot (1...5)
  2. Если включен параметр TrailingBuyStop,то после нахождения нужной точки покупает.

3 вариант

  1. BuyAfterStopLoss

Логика продажи

В зависимости от выбора - TakeProfit фиксированный или TrailingStopLoss, или ручное управление сделкой, если TakeProfit = 0.



P.S. Если что-то непонятно, я поясню. Спрашивайте.


Han respondido

1
Desarrollador 1
Evaluación
(356)
Proyectos
632
26%
Arbitraje
89
73% / 13%
Caducado
12
2%
Libre
2
Desarrollador 2
Evaluación
(586)
Proyectos
1048
49%
Arbitraje
39
28% / 41%
Caducado
49
5%
Libre
3
Desarrollador 3
Evaluación
(563)
Proyectos
932
47%
Arbitraje
302
59% / 25%
Caducado
124
13%
Trabajando
4
Desarrollador 4
Evaluación
(256)
Proyectos
415
38%
Arbitraje
86
44% / 19%
Caducado
70
17%
Ocupado
5
Desarrollador 5
Evaluación
(58)
Proyectos
76
33%
Arbitraje
9
78% / 11%
Caducado
7
9%
Libre
6
Desarrollador 6
Evaluación
(66)
Proyectos
143
34%
Arbitraje
10
10% / 60%
Caducado
26
18%
Libre
7
Desarrollador 7
Evaluación
(142)
Proyectos
280
42%
Arbitraje
18
61% / 6%
Caducado
29
10%
Libre
Solicitudes similares
dify indicator MA_Cloud for mt4 and mt5, give source code with comments 1)Need to change alerts and arrows for cross price only true 2 MA without crossing (direction from small to big) 2)Fix the error when change to any timeframe for MA (disapeer) and for arrows (in history is very big on vertically out of see screenshot) 3)Add alerts for crossing of 2 MA (MA Small cross MA big) Arrows, Message, Sound - (True/False)
Изменить графический интерфейс утилиты, исправить расположение кнопок, изменить вид некоторых окон и добавить новые. Сохранить текущую адаптивность и работоспособность кнопок. Подробнее расскажу в ТЗ с наглядными скриншотами, что и где поменять. Правки нужно внести в МТ4 и МТ5 версии. Спасибо за ваши заявки, рассмотрю каждую
Мне нужен робот, который будет иметь следующие необходимые параметры: 1. робот должен работать на MT5 2. минимальный депозит $100 3. количество транзакций в день на депозит $100 с лотом 0,01 минимум 1000 4. макс прасат 15%
написать индикатор распознования флета. выявления флета из трёх частей проверки. в каждой части свой расчёт, по барам, по количеству поинтов, по ширине (высоте) баров, по минимальным значениям... когда все расчеты сошлись и не вышли из пропорций, тогда рисуется флет. Задание готово, отправлю подходящему кандидату. передача оплаты, когда индикатор будет работать без проблем, по всем параметрам расчетов. возможны не
Добрый день! Требуется выполнить следующую задачу: 1. для стандартного индикатора зигзаг 2. задаются стандартные настройки 3. задается тестовый период, валютная пара, таймфрейм 4. выгружается файл CVS или эксель с данными о зафиксированных пиках зигзага (НЕ ПРОМЕЖУТОЧНЫХ / ТЕКУЩИХ / ФОРМИРУЮЩИХСЯ, а именно о конечных пиках) 5. для каждого пика фиксируются
был старый работоспособный скрипт на очень старом МТ4... есть необходимость переписать его на MQL5, чтобы проверить теоретическую работоспособность в современном мире описание вроде бы где-то сохранилось кто-нибудь сможет помочь с этим вопросом и за какие деньги
стратегий в одном терминале может быть много нужен ММ для (баланс - сумма всех рисков) //Maximum amount of money to risk double moneyToRisk = NormalizeDouble( (AccountBalance() - Total_Current_Risk() )* RiskInPercent / 100, 7); Total_Current_Risk() { calculates all potential losses of all opened and all pending orders + all swaps + all commissions return (Total_Current_Amount_At_Risk) } double
I am looking to enhance the profitability of my current Expert Advisor (EA) using a Martingale approach with a CCI Indicator (the code is approximately 1200 lines currently) and would like to implement several key improvements. Below, I have detailed the areas where I believe the EA can be optimized and made more effective and i have provided the code in a .txt file: Note: I would like to run this EA most preferably

Información sobre el proyecto

Presupuesto
100+ USD
Para el ejecutor
90 USD