Код не ошибочный, код избыточный. Тем более, что сама функция depth_trend() может вызываться до 4 раз на одном тике!
Значение индикатора нужно получить один раз, рассчитать - в какой он зоне - тоже однажды. А потом уже 4 раза использовать посчитанный результат, сохраненный в переменную.
Код не ошибочный, код избыточный. Тем более, что сама функция depth_trend() может вызываться до 4 раз на одном тике!
Значение индикатора нужно получить один раз, рассчитать - в какой он зоне - тоже однажды. А потом уже 4 раза использовать посчитанный результат, сохраненный в переменную.
Примерно так:
Индекс можно и одной строкой посчитать, но тогда действительно будет не понятно новичкам.
Со вторым индикатором - аналогично.
Почему вы думаете что функция может вызываться 4 раза на одном тике ???
Почему вы думаете что функция может вызываться 4 раза на одном тике ???
Я не вижу....
//--- проверка на то, что нет уже открытых ордеровif(OrdersTotal()<1)
{
//--- проверка условий на покупкуif(Buy())
tr.OpnOrd(OP_BUY,tr.Lots(),Ask,SL*dg,TP*dg);
//--- проверка условий на продажуif(Sell())
tr.OpnOrd(OP_SELL,tr.Lots(),Bid,SL*dg,TP*dg);
}
//+------------------------------------------------------------------+//| Функция проверки условия на покупку |//+------------------------------------------------------------------+bool Buy()
{
bool res=false;
if((depth_trend(tf)==2 && speed_ac(tf)>=1) || (depth_trend(tf)==3 && speed_ac(tf)==1))
res=true;
return (res);
}
//+------------------------------------------------------------------+//| Функция проверки условия на продажу |//+------------------------------------------------------------------+bool Sell()
{
bool res=false;
if((depth_trend(tf)==-2 && speed_ac(tf)<=-1) || (depth_trend(tf)==-3 && speed_ac(tf)==-1))
res=true;
return (res);
}
да, прочитал как OrderSend()
Ну суть не в этом. Вопрос тот же:
Ответьте, пожалуйста, какой из примеров подходит под категорию Правильный, а какой Корректный?
Ответьте, пожалуйста, какой из примеров подходит под категорию Правильный, а какой Корректный?
Код не ошибочный, код избыточный. Тем более, что сама функция depth_trend() может вызываться до 4 раз на одном тике!
Значение индикатора нужно получить один раз, рассчитать - в какой он зоне - тоже однажды. А потом уже 4 раза использовать посчитанный результат, сохраненный в переменную.
Примерно так:
Индекс можно и одной строкой посчитать, но тогда действительно будет не понятно новичкам.
Со вторым индикатором - аналогично.
Код не ошибочный, код избыточный. Тем более, что сама функция depth_trend() может вызываться до 4 раз на одном тике!
Значение индикатора нужно получить один раз, рассчитать - в какой он зоне - тоже однажды. А потом уже 4 раза использовать посчитанный результат, сохраненный в переменную.
Примерно так:
Индекс можно и одной строкой посчитать, но тогда действительно будет не понятно новичкам.
Со вторым индикатором - аналогично.
Почему вы думаете что функция может вызываться 4 раза на одном тике ???
Я не вижу....
Почему вы думаете что функция может вызываться 4 раза на одном тике ???
Я не вижу....
Почему вы думаете что функция может вызываться 4 раза на одном тике ???
Я не вижу....
Я бы сделал так :
Возможно новенькие не все поймут, но на мой взгляд прекрассно!!!
Предлагаю попинать меня...
Да и что бы проверить результат вот код что бы не париться :
Вот.
Я бы сделал так :
Возможно новенькие не все поймут, но на мой взгляд прекрассно!!!
Предлагаю попинать меня...
Можно вообще одной строкой, и без цикла ;)
Можно вообще одной строкой, и без цикла ;)
ps: хотя, может не получится, округлять в разные стороны надо.. еще подумаю
Можно, но будет не красиво ...
Что некрасивого?