//+------------------------------------------------------------------+int deinit()
{
return(0);
}
//+------------------------------------------------------------------+int start()
{
f1(); //Как сделать, что-бы после вызова функции, программа могла остановиться?Alert("Есть сигнал"); // И до этого места работа программы бы не дошлаreturn(0);
}
//+------------------------------------------------------------------+ int f1()
{
return(f2());
}
//+------------------------------------------------------------------+ int f2()
{
return(deinit()); //Тут, по задумке, нужно остановить работу всей программы
}
//+------------------------------------------------------------------+
Или, из вызванной функции, работу программы остановить нельзя? (Пример кода, для использования в индикаторе)
Остановить, значит остановить выполнение функции старт - из вызванной функции. Как return(0).
По поводу деинит, я в курсе, вот и не знаю, как решить данную головоломку. Видимо нельзя так делать.
тогда что вам мешает возвращать этой функцией (-1) или еще что-то, а уже в start() сделать вызов этой функции с проверкой? например так:
int start()
{
if (f1() == -1) return (0);
Alert("Есть сигнал"); // И до этого места работа программы бы не дошлаreturn(0);
}
//+------------------------------------------------------------------+ int f1()
{
if (все плохо) return (-1); else return(0);
}
тогда что вам мешает возвращать этой функцией (-1) или еще что-то, а уже в start() сделать вызов этой функции с проверкой? например так:
//+------------------------------------------------------------------+int start()
{
if(f1() < 0) return(0);
Alert("Есть сигнал"); // И до этого места работа программы бы не дошлаreturn(0);
}
//+------------------------------------------------------------------+ int f1()
{
return(f2());
}
//+------------------------------------------------------------------+ int f2()
{
return(-1); //Тут, по задумке, нужно остановить работу всей программы
}
//+------------------------------------------------------------------+
Я понял Вас, просто хотелось избежать лишних движух в коде, уточнил. Спасибо за приведенный пример!
Добрый вечер! Представляете, столкнулся с тем, что торговый робот не закрывает позы, примерно раз в 50, при достижении профита. Он тогда должен все закрыть, отложенники и все, и выставить по новой. Незакрытие создает неразбериху ордеров и просадки.
Так представляете, иногда оказывается, что у ордера, стопудово закрытого по тейкпрофиту, Ордер Клоус Прайс - цена закрытия ордера- равно нолю!!!!!
Вот, смотрите сами на скрине, вот пятая строка снизу, ордер, условно иминуемый 49, закрылся по тейкпрофиту. А в девятой строке снизу Ордер Клоус Прайс - цена закрытия ордера равно нолю!!!!!
Так вроде нет там в коде ничего такого, особо сложного.. Щас выложу
Когда я выставляюваю ордера, я запоминаю время в пирименной wremjapomnim. Как только какой-либо ордер закрывается по-тейкпрофиту, я все ордера удаляю, и снова запоминаю время в пирименной wremjapomnim и выставляюваю.
Скажите как отследить в советнике образование фрактала. Мне нужно чтобы открывался ордер после образования нового фрактала. Как он вообще этот индикатор работает, какая то верхняя линия там и нижняя, а как там идентифицируется образование самого фрактала непонятно.
И еще вопрос, фракталы перерисовываются или нет, ну если например образовался фрактал и через одну свечу цена пробила этот минимум, то фрактал перерисуется или просто добавится еще один?
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
Не ужели мой случай такой непростой?
double ExtVolumesBuffer[];вы правы с местом. Перед использованием массива нужно указать его размер. Ну либо сделать его еще одним буфером
Или, из вызванной функции, работу программы остановить нельзя? (Пример кода, для использования в индикаторе)
return(deinit());Что значит остановить? убрать эксперта/индикатор с графика?
по поводу deinit():
не вызов deinit приводит к отключению индикатора/эксперта, а отключение приводит к вызову deinit
Что значит остановить? убрать эксперта/индикатор с графика?
по поводу deinit():
не вызов deinit приводит к отключению индикатора/эксперта, а отключение приводит к вызову deinit
Остановить, значит остановить выполнение функции старт - из вызванной функции. Как return(0).
По поводу деинит, я в курсе, вот и не знаю, как решить данную головоломку. Видимо нельзя так делать.
Остановить, значит остановить выполнение функции старт - из вызванной функции. Как return(0).
По поводу деинит, я в курсе, вот и не знаю, как решить данную головоломку. Видимо нельзя так делать.
тогда что вам мешает возвращать этой функцией (-1) или еще что-то, а уже в start() сделать вызов этой функции с проверкой? например так:
тогда что вам мешает возвращать этой функцией (-1) или еще что-то, а уже в start() сделать вызов этой функции с проверкой? например так:
вы правы с местом. Перед использованием массива нужно указать его размер. Ну либо сделать его еще одним буфером
dkfl.zrjdktdbx 09.12.2011 16:56
Добрый вечер! Представляете, столкнулся с тем, что торговый робот не закрывает позы, примерно раз в 50, при достижении профита. Он тогда должен все закрыть, отложенники и все, и выставить по новой. Незакрытие создает неразбериху ордеров и просадки.
Так представляете, иногда оказывается, что у ордера, стопудово закрытого по тейкпрофиту, Ордер Клоус Прайс - цена закрытия ордера- равно нолю!!!!!
Вот, смотрите сами на скрине, вот пятая строка снизу, ордер, условно иминуемый 49, закрылся по тейкпрофиту. А в девятой строке снизу Ордер Клоус Прайс - цена закрытия ордера равно нолю!!!!!
Так вроде нет там в коде ничего такого, особо сложного.. Щас выложу
Алерт здесь во-второйи третьей строках кода и пишет все в журнал, в т.ч. и то что OrderClosePrice( ) ордера 49 равен нолю.Когда я выставляюваю ордера, я запоминаю время в пирименной wremjapomnim. Как только какой-либо ордер закрывается по-тейкпрофиту, я все ордера удаляю, и снова запоминаю время в пирименной wremjapomnim и выставляюваю.
Скажите как отследить в советнике образование фрактала. Мне нужно чтобы открывался ордер после образования нового фрактала. Как он вообще этот индикатор работает, какая то верхняя линия там и нижняя, а как там идентифицируется образование самого фрактала непонятно.
И еще вопрос, фракталы перерисовываются или нет, ну если например образовался фрактал и через одну свечу цена пробила этот минимум, то фрактал перерисуется или просто добавится еще один?