Скачать MetaTrader 5

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

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

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

типологии

if(orderstotal>0)

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

else

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

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

Leonid Borsky
2384
Leonid Borsky 2011.02.12 16:15  

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

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

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

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

Andrew Kornishkin
7098
Andrew Kornishkin 2011.02.12 16:46  
tpg_k156:

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

типологии

if(orderstotal>0)

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

else

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

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


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

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

Петр
158
Петр 2011.02.12 17:10  

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

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
Петр 2011.02.12 17:14  
Вопрос в догонку. Может ли функция вызывать другую функцию?
Yury Reshetov
13463
Yury Reshetov 2011.02.12 17:14  
tpg_k156:
Вопрос в догонку. Может ли функция вызывать другую функцию?
Может
Петр
158
Петр 2011.02.12 17:56  

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

int myfuncia()

{

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

{

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

}

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

}

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