1) return означает полный выход из функции. В данном случае работа
эксперта досрочно прерывается до прихода следующего ценового
тика.
2) Видимо хотите цикл с ожиданием сделать. Но это плохой вариант. Лучше выйти из эксперта, чтобы на следующем тике снова стандартным образом зайти в start, пройтись по всем условиям (перепроверив их) и сделать свое дело.
Загляните в раздел Статьи, пожалуйста.
2) Видимо хотите цикл с ожиданием сделать. Но это плохой вариант. Лучше выйти из эксперта, чтобы на следующем тике снова стандартным образом зайти в start, пройтись по всем условиям (перепроверив их) и сделать свое дело.
Загляните в раздел Статьи, пожалуйста.
А чем тогда отличается return от return(0)?
мне не цикл с ожиданием нужен а постоянная проверка на каждом
тике условия 2, и выход только тогда когда оно выполнится...
просто у меня так работает программа что открытие ордера возникает
только после того, как предыдущий был закрыт по стоп-лоссу, тоесть
когда идет проверка условия 2 , терминал находится в состоянии
1 открытого ордера(до него был по стоп-лоссу закрыт), вот мне
его закрыть надо только по условию 2, и никак подругому, а получается,
что он все равно закрывается по условию 1. Вот я и сижу голову
ломаю, непойму как так сделать...
Похоже, что Вам надо начинать с документации и статей по экспертам.
Особенно хорошо подойдут базовые статьи Роша по MQL4: http://www.alpari-idc.ru/ru/experts/articles/
Особенно хорошо подойдут базовые статьи Роша по MQL4: http://www.alpari-idc.ru/ru/experts/articles/

Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Есть код:
int start()
{
double .... //всякие там штучки...
if( TimeDayOfWeek(CurTime())==1 || 2 || 3 ||4 ||5 ) //Работаем тока с пон. по пятницу
{
if ( Условие 1)
{
return; //вот тут обьясните плз, мы уходим дальше по программе или ждем пока условие 1 выполница, вот это мне не понятно!!!!!!
}
// траляля.. выполнилось типа, едем дальше...
//Открываем ордера
if(OrdersTotal()==0 )
{
OrderSend(Symbol(), OP_BUY, lots, Ask, 3,0, 0,"BUY", 16384, 0, Green);
}
if(OrdersTotal()==0 )
{
OrderSend(Symbol(), OP_SELL, lots, Bid, 300, 0,"SELL", 16384, 0,Violet);
}
//Ордера открыты...
//далее...
if ( Условие 2)
{
if ( Условие 3...4,5....n) //Много кароче))
{
}
//Вот тут надо сделать так, чтобы пока условие 2= True, чтоб в начало всего кода не двигались, создать замкнутый круг тут надо, пока условие 2= Истина.
Вот я не соображу какие мне тут, и где return'ы ставить и с каким параметром, если он нужен...
}
return(0);
}
return(0);
}
Посмотрите, мож я тут и так накуралесил с Ретурнами этими ... Заранее спасибо.