Сетка по тренду

MQL4 EA

작업 종료됨

실행 시간 9 일
고객의 피드백
Исполнитель четкий ! Все делал быстро и четко. Даже то что в ТЗ не указал сразу без проблем и быстро вносил. Советник получился быстрый по скорости, качество на высоте. Рекомендую!
피고용인의 피드백
Хороший заказчик. Есть некоторые неопределенности в ТЗ, но легко устраняются при личных контактах.

명시

Сетка по тренду

 

Алгоритм работы советника:
(все настройки описаны в конце файла)

В настройках задается направление тренда: buy или sell.

Мы зададим в нашем примере Trend=buy
Это означает что советник будет строить сетку используя ордера только в buy
Кидаем советник на график

Открывается первый ордер buy 0.01

Сетка строится по тренду

 

у 1-го колена сетки, ордера buy 0.01 нет TP (тейкпрофит)

далее рассмотрим 2 варианта движения котировок


1) по тренду:

к примеру у нас такие настройки:
Trend=buy
GridType=Mult
GridTrend=25
Lot=0,01
MultSize=1,5
MultGridTrend=1,4


2-е колено
если котировки проходят дальше по тренду
советник открывает ордер 2-го уровня сетки через GridTrend пунктов
объемом Lot предыдущего ордера*MultSize с округлением
тогда откроется ордер buy через 25 пунктов объемом 0,01*1,5=0,015=0,02 с округлением
если MultSize=1,1 то объем сделки станет  0,01*1,1=0,01

3-е колено
при движении котировок дальше по тренду
открывается 3-й  уровень сетки через: GridTrend* MultGridTrend пунктов
в нашем случае открывается ордер buy через 25*1,4=35 пунктов
объемом 0,02*1,4=0,03 лота

4-е колено
при движении котировок дальше по тренду
открывается 4-й  уровень сетки через: GridTrend* MultGridTrend пунктов
в нашем случае открывается ордер buy через 25*1,4=35 пунктов
объемом 0,03*1,4=0,04 лота

если в настройках указано:
MultLotStart=3, то первые 2 колена будут одинаковым объемом равным Lot, в нашем случае это 0,01, и начиная с 3-го колена будет начинаться умножение сетки

Если же в настройках GridType=AddPips

то шаг корректируется на величину Grid_AddPips суммированием указанного кол-ва пипсов, и при достижении колена, указанном в Grid_Level2 – эта величина меняется на указанную

к примеру у нас настройки:

GridType= AddPips
GridTrend=25
Lot=0,01
MultSize=1,5
MultGridTrend=1,4
Grid_AddPips=5
Grid_Level2=4
Grid_Level2_AddPips =15

1) открыт ордер 1-го колена сетки, buy 0.01 без TP (тейкпрофит)


2-е колено
если котировки проходят дальше по тренду
советник открывает ордер 2-го уровня сетки через GridTrend пунктов
объемом Lot*MultSize с округлением
тогда откроется ордер buy через: GridTrend пунктов, то есть через 25 пунктов
объемом 0,01*1,5=0,015=0,02 с округлением
если MultSize=1,1 то объем сделки станет   0,01*1,1=0,01

3-е колено
при движении котировок дальше по тренду
открывается 3-й  уровень сетки через: предыдущий Grid+ Grid_AddPips
в нашем случае открывается ордер buy через 25+5=30 пунктов
объемом 0,02*1,4=0,03 лота

4-е колено (срабатывает Grid_Level2_AddPips, так как мы указали Grid_Level2 = 4)
при движении котировок дальше по тренду
поскольку в настройках указано Grid_Level2= 4, это означает что начиная с 4-го применяется уже Grid_Level2_AddPips вместо Grid_AddPips
учитывая это открывается 4-й   уровень сетки через: предыдущий Grid + Grid_Level2_AddPips

в нашем случае открывается ордер buy через 30+15= пунктов
объемом 0,03*1,4=0,04 лота

 

СТОП ЛОСС:
1) как только открывается 2-е колено сетки
и котировки проходят указанное в настройках расстояние SL_otkat + SL_dop пипсов
советник устанавливает SL ордеру 1-го колена на уровень: цена 1-го ордера + SL_otkat пипсов,
чтобы в случае откате цены вся сетка buy схлопнулась


к примеру у нас открыт первый ордер
по цене 1,11000
и уже 2-е колено по цене 1,11200
в настройках указано:
SL_otkat=20
SL_dop=30
тогда при прохождении 20+30 пипсов по тренду SL сетки выставляется на уровень 1,11200+20=1,11220
это аналог трейлинг стоп, но разделен на две части для удобства и будет указываться в настройках

http://prntscr.com/pp8mvb

 

2) ТРЕЙЛИНГ СТОП
после того как установили стоп
включаем трейлинг стоп по данному SL
значение берется из настройки Trailing Stop
таким образом при движении котировок далее по тренду SL двигается все выше и выше

когда открывается 3-е колено сетки
SL двигается согласно трейлинг стоп
и SL должен в данном случае быть выше 2-го колена на расстоянии текущая цена минус указанное значение  Trailing Stop
чтобы в случае откате цены вся сетка buy схлопнулась уже захватив все предыдущие колена

параметр TrailinStopType отвечает за то будет установлен стоп лосс для всей сетки или для каждого ордера отдельно. Если указано: Setka – то работает стоп-лосс для всей сетки
если же Order – то трейлинг стоп работает для каждого ордера отдельно

 

КОГДА НОВАЯ СЕТКА НАЧИНАЕТ СТРОИТЬСЯ:
к примеру на уровне 1,11240 сетка закроется при откате котировок
тогда новая сетка начнет строиться через Pips_to_open
если Pips_to_open=100
то при движении котировок далее по тренду, в нашем случае в buy
начнет строиться новая сетка


КАК ОПРЕДЕЛЯЕМ ОБЪЕМ 1-Й СДЕЛКИ НОВОЙ СЕТКИ:
когда сетка ордеров по тренду при развороте курса захлопнулась
то объем первой сделки определяется по NewSetkaLot
если выбрано Lot – берется объем сделки Lot, изначально указанный в настройках, в нашем случае 0,01
если выбрано Previous, тогда первым лотом данной сетки будет последний лот предыдущей закрытой сетки
если выбрано Previous-SetkaLotCorrection, тогда первый лот данной сетки будет рассчитан по формуле: Объем последней сделки предыдущей сетки минус SetkaLotCorrection
Пример:
Если в последней сетке объем ордера был 0,05,   и SetkaLotCorrection=0,01, то новая сетка начнется с ордера 0,04. В случае, когда предыдущая сетка закрылась на минимальном лоте и SetkaLotCorrection=0,01, и при вычитании получается 0, минимальным объемом всегда делаем 0,01.

 

2) против тренда

когда котировки проходят дальше против тренда
советник открывает ордер через расстояние Grid Counter объемом Lot

далее при движении против тренда открывается 2-е колено через GridCounter пунктов
объемом  Lot*MultSize

к примеру у нас такие настройки:
Trend=buy
GridCounter=50
Lot=0,01
MultSize=1,5
MultGridCounter=1,5

тогда откроется ордер buy через 50 пунктов объемом 0,01*1,5=0,015=0,02 с округлением
если MultSize=1,1 то объем сделки станет   0,01*1,1=0,01

далее
при движении котировок дальше против тренда
открывается 3-й  уровень сетки GridCounter* MultGridCounter или
в нашем случае открывается ордер buy через 50*1,5=75 пунктов
объемом 0,02*1,5=0,03

если в настройках указано GridType=AddPips
то ордер откроется через:  GridCounter++ Grid_AddPips

в этом видео есть частичное пояснение как работает сетка по тренду: https://youtu.be/v4SLeGa-htM

Параметры:

Trend – направление сетки (варианты buy, sell)
Grid_Type – значения: AddPips и Mult, выбранное значение определяет как будет меняться шаг каждое колено сетки: умножением на MultGrid или   и какие настройки ро
Grid_Trend - шаг сетки по тренду
Grid_ Counter - шаг сетки против тренда
Lot – начальный объем одной сделки
MultSize_Trend – множитель объема сделки при движении котировок по тренду
MultSize_Counter – множитель объема сделки при движении котировок против тренда
GridLevel - № п/п ордера (колена) сетки, начиная с которого (включительно) текущий шаг сетки будет корректироваться (на каждом колене) на GridStep_AddPips пипсов
Grid_AddPips - количество пипсов, на которое будет корректироваться текущий шаг сетки на каждом колене, начиная с колена GridLevel. Может быть =0, >0 и даже <0
Grid_Level2 - № п/п ордера (колена) сетки, начиная с которого (включительно) текущий шаг сетки будет корректироваться  (на каждом колене) на S_GridStep_Level2_AddPips пипсов
Grid_Level2_AddPips - Количество пипсов, на которое будет корректироваться текущий шаг сетки на каждом колене, начиная с колена S_GridStep_Level2.   Может быть =0, >0 и даже <0
MultSizeStart - № п/п ордера (колена) сетки, начиная с которого начинает применяться MultSize
MultGrid_Trend - множитель шага сетки по тренду
MultGrid_Counter - множитель шага сетки против тренда
TP – количество пипсов ТР, прибыли от сетки, прибавляется к уровню без убытка или среднеарифметическому взвешенному сетки
SL_otkat - количество пипсов ТР, которое ставится предыдущему колену при откате котировок
SL_dop – доп. количество пипсов, которое нужно пройти, чтобы выставился TP предыдущему колену
TrailinStopType –зачения: Setka - для всей сетки и Order для каждого ордера
TrailinStop – величина трейлинг стоп в пипсах
Pips_to_open – количество пипсов необходимое для открытия новой сетки после закрытия предыдущей
MaxOrders - максимум ордеров (после достижения максимума ордеров - новые не открываются)
NewSetkaLot –значения: Lot – берется значение Lot, Previous (при данном значении первым лотом данной сетки будет последний лот предыдущей сетки), Previous- SetkaLotCorrection - при данном значении первый лот данной сетки будет расчитан по формуле: Объем последней сделки предыдущей сетки минус SetkaLotCorrection
SetkaLotCorrection -  лот, который вычитается в NewSetkaLot при расчете объема первой сделки сетки, открытой после закрытия предыдущей


응답함

1
개발자 1
등급
(281)
프로젝트
650
28%
중재
112
19% / 62%
기한 초과
319
49%
무료
2
개발자 2
등급
(851)
프로젝트
1460
72%
중재
122
29% / 48%
기한 초과
356
24%
작업중
게재됨: 3 기고글
3
개발자 3
등급
(45)
프로젝트
105
30%
중재
8
25% / 50%
기한 초과
40
38%
무료
4
개발자 4
등급
(618)
프로젝트
1429
59%
중재
31
81% / 0%
기한 초과
10
1%
무료

프로젝트 정보

예산
30 - 100 USD
기한
에서 1  3 일