Доработка ботов (советников, индикаторов)

Статус
Закрыто для дальнейших ответов.

Atragenarius

Новичок форума
Здравствуйте!
Подскажите пожалуйста как можно грамотно заменить вот такое выражение в советнике:
if((use_Max_trades && Orders_Total<Max_trades)&&((iRSI(NULL, PERIOD_H1,28, PRICE_CLOSE, 1) < RsiMinimum ))
на примерно такое &&((3_Level_ZZ_Semafor) == буферу 4 ))
и
if((use_Max_trades && Orders_Total<Max_trades)&&((iRSI(NULL, PERIOD_H1,28, PRICE_CLOSE, 1) >RsiMaximum ))
на &&((3_Level_ZZ_Semafor) == буферу 5 ))
я не могу никак сообразить.
 

AlexeyVik

Программист mql4 mql5
Здравствуйте. Помогите научить скрипт определять какие ордера выставлять. Стоповые или лимитные в зависимости от указанной цены, выше ниже. Заранее спасибо.
Посмотреть вложение 179519
Что-то я от жизни отстал, что-ли? Неужели уже есть такие компьютеры которые читают мысли человека?

Ну указали цену, и что? Выше неё можно поставить и стоп и лимит так-же и ниже этой цены можно поставить и SellStop и BuyLimit.
Проще написать разные скрипты на каждый случай отдельно, или найти готовые.
 

jenzo

Местный знаток
Пацаны как можно эти ошибки исправить?

Пытаюсь сам что то сделать :)


UTcwxEy.png


FLQ6dpM.png


fUq78u3.png
 

ksardas

Гуру форума
Здравствуйте!
Подскажите пожалуйста как можно грамотно заменить вот такое выражение в советнике:
if((use_Max_trades && Orders_Total<Max_trades)&&((iRSI(NULL, PERIOD_H1,28, PRICE_CLOSE, 1) < RsiMinimum ))
на примерно такое &&((3_Level_ZZ_Semafor) == буферу 4 ))
и
if((use_Max_trades && Orders_Total<Max_trades)&&((iRSI(NULL, PERIOD_H1,28, PRICE_CLOSE, 1) >RsiMaximum ))
на &&((3_Level_ZZ_Semafor) == буферу 5 ))
я не могу никак сообразить.
Хи-хи... Это вроде -как заменить чайник на трубу от самовара:D
В условиях сравнивается мах кол-во ордеров - это убирать ненужно, и дополнительно сигнал RSI сравнивается с уровнем
Что б заменить сигнал на семафор нужно сравнить значение буфера с каким-то уровнем...и написать примерно так
..iCustom(Symbol(),Period(),"3_Level_ZZ_Semafor",4,1)>= значение

это значит-символ текущий, тф текущий, имя, дальше можно поставить параметры для замены, буфер, номер бара-1-предыдущий
 
Последнее редактирование:

Atragenarius

Новичок форума
Попробую разобраться

То что вы написали уважаемый ksardas для меня пока ещё тёмный лес. Но я попытаюсь разобраться. А суть вопроса такова, как только выскакивает семафор высшего порядка ( буфер 4 или 5) то и зелёный свет для открытия ордеров. Вот если бы Ваш ответ был сформулирован подобным образом мне было бы легче его подставить. А так придётся методом втыка, подставлять или всё или по частям то выражение которое Вы составили. Но всё равно ещё раз спасибо за участие.
 

ksardas

Гуру форума

Что за новый метод??? втыка:not-good:

Просто все:
if((use_Max_trades && Orders_Total<Max_trades)&&(iCustom(Symbol(),Period(),"3_Level_ZZ_Semafor",4 ,1) < уровень ))
в мт кнопка данные -смотрим. что есть в буфере в нужный момент и с чем-нить сравниваем....все;)

Посмотрел- буфер 5 на селл - сравниваем или с бид, или лучше с ценой закрытия свечи
примерно так
...&&(iCustom(Symbol(),Period(),"3_Level_ZZ_Semafor",5 ,1) > Close[1] ))
buy :
..&&(iCustom(Symbol(),Period(),"3_Level_ZZ_Semafor",4 ,1)< Close[1] ))

Тока учти семафор сдвигает свои экстремумы и луше брать со 2 или 3 бара;)
 

Вложения

  • IMG_0454.jpg
    IMG_0454.jpg
    100,7 КБ · Просмотры: 422
Последнее редактирование:

Atragenarius

Новичок форума
Ну Вы мне полностью левую часть выражения разжевали. Осталось понять
функцию Close[1]. Её надо самому сочинить, это мне не по силам, или скинуть на панель в таком виде extern double Close[1]: , или вообще убрать из выражения как лишнюю деталь. потому что в этом советнике важен не точный вход а только окно 1-3 бара создаваемое семафором? Для точного входа есть другие механизмы. Вот и три варианта метода втыка, буду наугад втыкать и компилировать. А что получится не знаю. Впрочем, наверняка есть и другие, неизвестные мне , варианты.
 

ksardas

Гуру форума
Осталось понять функцию Close[1]. .

В едиторе жми F1 и кури справочник MQL - там все разжевано, я начинал так:)
double Close[]

Массив-таймсерия, содержащий цены закрытия каждого бара текущего графика.

Индексация элементов таймсерий производится задом наперед, от последнего к первому. Текущий бар, самый последний в массиве, имеет индекс 0. Самый старый бар, первый на графике, имеет индекс Bars-1.
 

railwayman

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

Вложения

Елена4

Активный участник
Что-то я от жизни отстал, что-ли? Неужели уже есть такие компьютеры которые читают мысли человека?

Ну указали цену, и что? Выше неё можно поставить и стоп и лимит так-же и ниже этой цены можно поставить и SellStop и BuyLimit.
Проще написать разные скрипты на каждый случай отдельно, или найти готовые.

Если бы Вы посмотрели скрипт, то и не было такого удивления. В скрипте можно выбирать направление. Sell или Buy. Остается только добавить функцию, чтобы он определял ставить стоп или лимит. Иногда кажется что проще самой голову сломать, но сделать, чем просить. Умничать могут все, а помочь не каждый может.
 

AlexeyVik

Программист mql4 mql5
Если бы Вы посмотрели скрипт, то и не было такого удивления. В скрипте можно выбирать направление. Sell или Buy. Остается только добавить функцию, чтобы он определял ставить стоп или лимит. Иногда кажется что проще самой голову сломать, но сделать, чем просить. Умничать могут все, а помочь не каждый может.
А вместо того чтобы ломать свою голову Вы предлагаете поломать голову программиста...
Лично мне легче написать изначально такой скрипт по полному алгоритму, чем ломать голову читая чужой код и пытаясь понять что-же из этого нужно прекрасной даме с просьбами...
 

railwayman

Активный участник
спасибо zhserg.учитывает все открытые сделки, но он не закрывает сделки когда прибыль от эквити.у меня на счете работает сразу несколько советников этот нужен как закрытие от стартового equity
 
Статус
Закрыто для дальнейших ответов.

Отслеживают (859) Посмотреть

Верх