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

 

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

типологии

if(orderstotal>0)

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

else

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

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

 

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

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

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

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

 
tpg_k156:

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

типологии

if(orderstotal>0)

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

else

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

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


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

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

 

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

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);

}

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

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

int myfuncia()

{

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

{

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

}

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

}

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