Скачать MetaTrader 5

Начинаю писать советник

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Петр
158
Петр  

Всем добрый день(вечер, ночи, утра). Начинаю писать советник и в силу своей неопытности прошу помочь мне в написании кто чем может. Ну и собственно говоря первый вопрос. Как лучше всего реализовать его? По сути в советнике должна быть реализована проверка наличия сигнала. Если есть открытые ордера то слежение за ними, закрытие, передвижка стоплосса, регулировка лота при необходимости. Какой каркас лучше всего подойдет для этой цели?

типологии

if(orderstotal>0)

{//логика слежения за открытыми ордерами}

else

{//логика проверки наличия сигнала на вход}

// или есть другие более продуманные варианты

Leonid Borsky
2380
Leonid Borsky  

Помнится, мне помогли в свое время функции И.Кима. Съэкономлены масса времени и усилий.

https://www.mql5.com/ru/forum/107476

По вашему вопросу - Функция ExistPositions().
Предназначена для проверки наличия открытых покупок или продаж.

https://www.mql5.com/ru/forum/107476/page4

Andrey Kornishkin
7843
Andrey Kornishkin  
tpg_k156:

Всем добрый день(вечер, ночи, утра). Начинаю писать советник и в силу своей неопытности прошу помочь мне в написании кто чем может. Ну и собственно говоря первый вопрос. Как лучше всего реализовать его? По сути в советнике должна быть реализована проверка наличия сигнала. Если есть открытые ордера то слежение за ними, закрытие, передвижка стоплосса, регулировка лота при необходимости. Какой каркас лучше всего подойдет для этой цели?

типологии

if(orderstotal>0)

{//логика слежения за открытыми ордерами}

else

{//логика проверки наличия сигнала на вход}

// или есть другие более продуманные варианты


Вот здесь еще посмотрите:

https://www.mql5.com/ru/articles/1384

Петр
158
Петр  

Так сойдет? вроде нормально. Логика для начала поиска будет в теле советника.

int SearchFractal()// функция поиска фракталов
{
fup=iFractals(NULL,0,MODE_UPPER,3);
flow=iFractals(NULL,0,MODE_LOWER,3);
i=3;// даём начальное значение счетчику
while(fup==0)
{
i++;
fup=iFractals(NULL,0,MODE_UPPER,i);
}
i=3;// даём начальное значение счетчику
while(flow==0)
{
i++;
flow=iFractals(NULL,0,MODE_LOWER,i);
}
Alert("Фракталы найдены!!!","Fup = ",fup," Flow = ",flow);

}

Петр
158
Петр  
Вопрос в догонку. Может ли функция вызывать другую функцию?
Yury Reshetov
13486
Yury Reshetov  
tpg_k156:
Вопрос в догонку. Может ли функция вызывать другую функцию?
Может
Петр
158
Петр  

пользователская функция. в самом начале есть

int myfuncia()

{

if(условие меньше чем надо)

{

как тут сделать так чтоб вся пользовательская функция не выполнялась?чтоб случился так называемый сброс тоесть после иф myfuncia дальше не выполнялась;

}

тут еще пара иф и всяких других операторов.

}

Петр
158
Петр  
будет ли return(0); выполнять эти требования?
igor
1144
igor  
Вы по видимому с программированием никогда не встречались до этого. Не плохо бы почитать чего нибудь. Такие вопросы стыдно задавать.
Петр
158
Петр  
Просто прошу консультирования. Писал что то в паскале и на асемблере для микроконтроллеров простые програмки на 1-2 нажатия
ZZZEROXXX
768
ZZZEROXXX  
все проще, откройте готовые советники в МТ - MACD Samle или Moving Average. И вместо их условий открытия напишите свои.
12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий