Обучение языку MQL4 под MetaTrader 4📌

От xbms, 13 апреля, 2013 в Уголок Программиста

#26


Есть ли возможность изменять внешние переменные в советниках , запущенных в одном терминале , с помощью "управляющего" советника. Конкретно, в "идентичном илане" нужно изменить методы закрытия корзин, в зависимости от количества колен.




Можно, через Global Variables

Всем профитов!

Изменено 5 декабря, 2017 пользователем Pavel888

#27

Добрый день xbms.
Известная ситуация - надо частично закрыть ордер, а стоп-лосс перевести в безубыток.
Существует ли такая функция, которая не просто закрывает (удаляет) ордер, а закрывает его частично?

Автор#28


Добрый день xbms.
Известная ситуация - надо частично закрыть ордер, а стоп-лосс перевести в безубыток.
Существует ли такая функция, которая не просто закрывает (удаляет) ордер, а закрывает его частично?




bool OrderClose int ticket, double lots, double price, int slippage, color Color=CLR_NONE)

Закрытие позиции. Возвращает TRUE при успешном завершении функции. Возвращает FALSE при неудачном завершении функции. Чтобы получить информацию об ошибке, необходимо вызвать функцию GetLastError().

Параметры:
ticket - Уникальный порядковый номер ордера.
lots - Количество лотов для закрытия.
price - Цена закрытия.
slippage - Значение максимального проскальзывания в пунктах.
Color - Цвет стрелки закрытия на графике. Если параметр отсутствует или его значение равно CLR_NONE, то стрелка на графике не отображается.


я ответил на Ваш вопрос?
#29

Спасибо xbms, ответили.

Более конкретный вопрос применительно к Вашему 3-му уроку.
Цена пересекает серединный уровень ТМА, срабатывает OrderClose c лотом равным,например, половине лота открытия ордера, далее OrderModify передвигает стоп-лосс в безубыток. Далее по сценарию урока ждем пересечения верхней (нижней) границы ТМА. Алгоритм правильный или есть какие-то подводные камни?

Автор#30


Спасибо xbms, ответили.

Более конкретный вопрос применительно к Вашему 3-му уроку.
Цена пересекает серединный уровень ТМА, срабатывает OrderClose c лотом равным,например, половине лота открытия ордера, далее OrderModify передвигает стоп-лосс в безубыток. Далее по сценарию урока ждем пересечения верхней (нижней) границы ТМА. Алгоритм правильный или есть какие-то подводные камни?



правильный-ли алгоритм - ты узнаешь тогда, когда визуально в тестере его проверишь... :)
а тут мы ждём ваших домашних заданий, т.е. уже решений...
#31

xbms, добрый день

При частичном закрытии ордера, оставшийся ордер сохраняет magic исходного ордера?

#32

Вопрос к знатокам. Столкнулся с такой проблемой: Уточняю сразу работу проводил на выходных. Открыл декомпилированный советник, провел там изменения, скомпилировал его, а в папке с терминалом файл ex4 не появляется, хотя раньше появлялся всегда.
Подскажите с чем это может быть связано? Может работу нужно проводить в рабочие дни, когда и идет торговля и работают терминалы?

Изменено 2 июня, 2013 пользователем Nikodim

#33


Вопрос к знатокам. Столкнулся с такой проблемой: Уточняю сразу работу проводил на выходных. Открыл декомпилированный советник, провел там изменения, скомпилировал его, а в папке с терминалом файл ex4 не появляется, хотя раньше появлялся всегда.
Подскажите с чем это может быть связано? Может работу нужно проводить в рабочие дни, когда и идет торговля и работают терминалы?



Всем Привет! У меня похожая проблема. После редактирование советника, ошибок и предупреждении "0"! В разделе советников новый продукт появляется, а вот на график не перетаскивается... в журнале тестера пишет - Cannot open file 'D:\MT4\ROBO\experts\ggggg.ex4' on the ,

С чем это связано?
Автор#34


xbms, добрый день

При частичном закрытии ордера, оставшийся ордер сохраняет magic исходного ордера?



Да, сохраняет...
Вы ведь закрываете только часть объёма этого ордера...


Добавлено: 04-06-2013 05:43:49

Кстати, а где домашние задания?
Кто-то вообще смотрит уроки?
Нужны они кому-то?
#35



xbms, добрый день

При частичном закрытии ордера, оставшийся ордер сохраняет magic исходного ордера?



Да, сохраняет...
Вы ведь закрываете только часть объёма этого ордера...


Добавлено: 04-06-2013 05:43:49

Кстати, а где домашние задания?
Кто-то вообще смотрит уроки?
Нужны они кому-то?



Конечно нужны. Вот, например, Ваше задание немного измененное: половина позиции закрывается при пересечении срединной линии ТМА, а стоп-лосс переводится в безубыток.
ЗЫ: перед закрытием позиции у верхней/нижней границы ТМА, я вставил в код comment чтобы определить magic ордера перед его закрытием. Но comment ничего не показывает.

Test3_01.mq4283 скач.

#36

Простите за тупость, но я так и не понял нахрена нужен параметр PipStop, если есть Indent? Что он меняет (делает)?


Добавлено: 08-06-2013 16:57:51

Уважаемый учитель, а где мне найти Тма? Я прошел третий урок, но писал советник по TMA with Distances, сделок он не открывает вообще. Причина в разногласиях индикаторов? Перерыл весь портал, просто Тма нет. Прикрутил ко второму советнику трейлингстоп .

Test2__байстоп_селстоп_с_трейлингстопом.mq4.txt90 скач.

Изменено 8 июня, 2013 пользователем Серега7317

#37

Здрасте всем, это мой 1 пост :-H
А я всё ещё пытаюсь циклы покурить и понимаю, что не хватает примеров из нормальных (стандартных) индикаторов, как там эти циклы там работают.
Уважаемый сенсей xbms, кусочки кода что-то говорят, только опытным прогерам, а остальным (это я про себя x_x) надо картину целиком видеть, что-бы понять, где, как и зачем, это применяется. И лучше в стандартных индикаторах, например - МА, RSI, volume и т.п.
Ну а в целом спасибон, я всё понимаю, что никто никому ничего не должен и всё такое. \M/

Автор#38


Простите за тупость, но я так и не понял нахрена нужен параметр PipStop, если есть Indent? Что он меняет (делает)?


Добавлено: 08-06-2013 16:57:51

Уважаемый учитель, а где мне найти Тма? Я прошел третий урок, но писал советник по TMA with Distances, сделок он не открывает вообще. Причина в разногласиях индикаторов? Перерыл весь портал, просто Тма нет. Прикрутил ко второму советнику трейлингстоп .


Tma и есть старый-добрый TMA with Distances...
Просто у меня он переименован.


Добавлено: 10-06-2013 08:30:12


Здрасте всем, это мой 1 пост :-H
А я всё ещё пытаюсь циклы покурить и понимаю, что не хватает примеров из нормальных (стандартных) индикаторов, как там эти циклы там работают.
Уважаемый сенсей xbms, кусочки кода что-то говорят, только опытным прогерам, а остальным (это я про себя x_x) надо картину целиком видеть, что-бы понять, где, как и зачем, это применяется. И лучше в стандартных индикаторах, например - МА, RSI, volume и т.п.
Ну а в целом спасибон, я всё понимаю, что никто никому ничего не должен и всё такое. \M/



Привет!
Если не ошибаюсь я в первом уроке расписывал циклы и достаточно простые примеры, также объяснял зачем они нужны. Вам нужно просто поэксперементировать с ними, посмотреть как и что работает с ними и без них...
#39

int start() //Поехали!
{
int i,counted_bars=IndicatorCounted(); //что происходит?

if(Bars
if(counted_bars for(i=1;i
i=Bars-MomPeriod-1; // и вот так по каждой строчке пояснить..
if(counted_bars>=MomPeriod) i=Bars-counted_bars-1; //что, где, когда и почему.
while(i>=0) //ещё цикл, а зачем?
{
MomBuffer=Close*100/Close[i+MomPeriod]; //моментум пошёл
i--; //вернули бар, для чего?
}
return(0);
}

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

Автор#40

Уважаемый V!

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

#41


int start() //Поехали!
.........

}

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



Почитай учебник на MQL4: _http://book.mql4.com/ru/content
Если терпения хватит - через пару месяцев что-нить напишешь...
#42



xbms, добрый день

При частичном закрытии ордера, оставшийся ордер сохраняет magic исходного ордера?



Да, сохраняет...
Вы ведь закрываете только часть объёма этого ордера...


Добавлено: 04-06-2013 05:43:49

Кстати, а где домашние задания?
Кто-то вообще смотрит уроки?
Нужны они кому-то?


Конечно нужны, к 1 уроку дз не делал, вот ко второму сделал, а третье сейчас мучаю.

Добавлено: 15-06-2013 09:57:29

Вот закончил домашнее задание к 3 уроку. Но немогу пока прикрепить, потому-что больше 4-х вложений вставлять нельзя....

Test2ДЗ.ex451 скач.
Test2ДЗ.mq483 скач.
Test2ДЗ2.ex437 скач.
Test2ДЗ2.mq498 скач.

Изменено 15 июня, 2013 пользователем Dimasyok

#43

Сделал !
Усталость берет свое. С 3 до 6 утра делал этот урок. Немудрено и попутать какие то запятые )
Ну что, смотря на график так и хочется прибавить функцию на дополнение лотности в обратную сторону.
Посмотрите сами, баланс высыхает из-за пересидки и добавления в изначальную сторону. А это Смерть !

Прошу программера доработать вариант открытия в противоположном направлении.


К примеру

Открывается первая
прошли степ
смотрим она висит
Открываем вторую (противоположно)
естественно с умножением лота
если цена в направлении второй - закрыли обе с прибылью
если цена в направлении первой закрыли первую
открыли третью в направлении первой
учли просадку по второй и умножили лот
прошел степ
Открыли четвертую в направлении второй
учли просадку по открытым ордерам


Да , это былобы ССУПЕР )))

Изменено 22 июня, 2013 пользователем Шамиль

Автор#44

Дружище, зачем тут выкладывать такие портянки?
Достаточно просто прикрепить файл...

По поводу ошибки, загляние в функцию CountTrades()...
всё-ли там правильно?
в частности в этой строке:

for(int i=OrdersTotal()-1; i


Добавлено: 22-06-2013 03:31:33

кстати, это не единственная ошибка...
предлагаю более внимательно изучить код.
нам нужна рабочая версия советника с домашним заданием :)

Изменено 22 июня, 2013 пользователем xbms

#45

Вот тоже столкнулся с проблемой, открывается только 1 ордер :(
Задание вроде выполнил, посмотрите пожалуйста что не так...

Martin.mq4111 скач.
Martin.ex440 скач.

#46

Ребята, не работает "F1", не могу ничего сделать! SOS!!!

#47

1. Нажимаешь вверху на кнопку "навигатор"
2. Справа появится меню, выбери внизу вкладку "Поиск"
3. Скопируй функцию
4. Вставь в меню поиска
5. Вуаля, описание функции внизу

Безымянный.jpg

#48

Спасибо большое конечно, но раньше было проще, навел курсор и ф1.

#49

Попробуй комп перезагрузить, мало-ли :) или может переустановить терминал

#50


1. Нажимаешь вверху на кнопку "навигатор"
2. Справа появится меню, выбери внизу вкладку "Поиск"
3. Скопируй функцию
4. Вставь в меню поиска
5. Вуаля, описание функции внизу

Даже этот способ не работает! Все пошел вагоны разгружать!(((

Для публикации сообщений создайте учётную запись или авторизуйтесь

Перейти к списку тем
Форум · 2.0.20260627.0025