Написал индикатор с возможностью работы на разных периодах(указывается во входных параметрах индикатора). Если в индикаторе указать текущий период, то все работает, но если период графика отличается от периода индикатора, то при появлении нового бара на графике все, что рисуется через буфера исчезает (fail.jpg)до нажатия ПКМ-Обновить. Помогите исправить.
Файлы:
ok.JPG
164 kb
fail.JPG
150 kb
ccfp_w_rules2.mq5
28 kb
- Графики в торговой платформе MetaTrader 5
- MetaTrader 5 для управляющего хедж-фондом
- Возможности веб-версии - MetaTrader 5
Возможно ли переписать приведенный выше индикатор с использованием классов и возможностью без перекомпиляции менять набор инструментов. Больше всего не понятно как переписать код с возможностью динамического изменения набора инструментов:
for(int i=to_copy-1; i>=0; i--) { double EURUSD=ma(hwd_EURUSDs, hwd_EURUSDf, i); double GBPUSD=ma(hwd_GBPUSDs, hwd_GBPUSDf, i); double AUDUSD=ma(hwd_AUDUSDs, hwd_AUDUSDf, i); //double NZDUSD=ma("NZDUSD", Slow, MA_Method, Price, i)/ma("NZDUSD", Fast, MA_Method, Price, i); double USDCAD=ma(hwd_USDCADf, hwd_USDCADs, i); double USDCHF=ma(hwd_USDCHFf, hwd_USDCHFs, i); double USDJPY=ma(hwd_USDJPYf, hwd_USDJPYs, i); //double sum = EURUSD + GBPUSD + AUDUSD + NZDUSD + USDCHF + USDCAD + USDJPY; double sum=EURUSD+GBPUSD+AUDUSD+USDCHF+USDCAD+USDJPY; // рассчет валют arrUSD[i] = sum-6.0; arrEUR[i] = (sum-EURUSD+1.0)/EURUSD-6.0; arrGBP[i] = (sum-GBPUSD+1.0)/GBPUSD-6.0; arrAUD[i] = (sum-AUDUSD+1.0)/AUDUSD-6.0; //arrNZD[i] = (sum-NZDUSD+1.0)/NZDUSD-7.0; arrCAD[i] = (sum-USDCAD+1.0)/USDCAD-6.0; arrCHF[i] = (sum-USDCHF+1.0)/USDCHF-6.0; arrJPY[i] = (sum-USDJPY+1.0)/USDJPY-6.0; }//end block for(int i=0; i<limit; i++)
Помогите хотя бы советом, но лучше кодом или примером.
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь