if(Bid!=Tiks[0]){ Tiks[0] = Bid; for (int i = (ArraySize(Tiks) - 1); i > 0; i--){ Tiks[i] = Tiks[i - 1]; } }это простейшее решение...
При появлении нового бара не надо делать
for (int i = (ArraySize(Tiks) - 1); i > 0; i--)
Tiks[i] = Tiks[i - 1];
оно само делается.
А Tiks[0] = Bid; надо бы в конце делать, а не в начале.
int start(){ static datetime LastTime=0; if(LastTime==0)LastTime=Time[0]; if(LastTime==Time[0]){ for(int i=MathMin(Bars,MaxLenght)-1;i>0;i--){ ExtMapBuffer1[i]=ExtMapBuffer1[i-1]; } ExtMapBuffer1[0]=Close[0]; } else{ ExtMapBuffer1[0]=Close[0]; SetIndexDrawBegin(0,Bars-MathMin(Bars,MaxLenght)); } LastTime=Time[0]; return(0); }
СПС. Работает.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Если кто-то делал подобное - поделитесь, пожалуйста. Или направте на страничку.