ИванМН
Местный знаток
Не надо.
Не надо.
Функция f_IsNewBar() работает некорректно - как вариант.
Не надо ничего искать, всё найдено до нас. Объявляете статическую datetime-переменную и на каждом тике сравниваете её с Time[0]. Обновилась - встречайте новый бар. Присваиваете ей новое значение Time[0].
Локальные переменные, объявленные с ключевым словом static, сохраняют свои значения в течение всего времени существования функции. При каждом следующем вызове функции такие локальные переменные содержат те значения, которые они имели при предыдущем вызове.
Не верь глазам своим. Верь моей совести.Как я ей присвою если она не динамическая а статическая.
PHP:Локальные переменные, объявленные с ключевым словом static, сохраняют свои значения в течение всего времени существования функции. При каждом следующем вызове функции такие локальные переменные содержат те значения, которые они имели при предыдущем вызове.
Таким образом если я правильно понимаю один раз присвоив ей значения потом не изменить ее. (При каждом следующем вызове функции такие локальные переменные содержат те значения, которые они имели при предыдущем вызове.)
C-подобный:bool New_bar() { static datetime Data; if (Data < Time[0]) { Data = Time[0]; return true; } return false; }
Постарайся описать словами последовательность выполнения своей функции и этой. Может поймёшь логику…почему мой не подойдет?
double ma31_1 = iMA(_Symbol,PERIOD_CURRENT,31,0,MODE_EMA,PRICE_CLOSE,1);
double OC = Open[1]-Close[1];
Comment(ma31_1);
if(OrdersTotal()==0)
{
if(Open[1]<ma31_1 && Close[1]>ma31_1 && OC<0)
int ticket=OrderSend(Symbol(),OP_BUY,0.01,Ask,30,0.0,0.0,"My order",magik,0,clrGreen);
if(Open[1]>ma31_1 && Close[1]>ma31_1 && OC>0)
int ticket=OrderSend(Symbol(),OP_SELL,0.01,Bid,30,0.0,0.0,"My order",magik,0,clrYellow);
}
[php\]
Почему используется простая вместо экспотенциальной?
Потому что не надо бежать впереди ПАРОВОЗА ))).Почему 6-ой тип лота не рассчитывается?
Потому что не надо бежать впереди ПАРОВОЗА ))).