
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Всё равно не понятно, зачем выводить на экран результат работы ГСЧ?
Тоже самое:
Тогда Вам не помочь
А почему у вас так а у меня так?
А всё работает. ПЕРЕЗАГРУЗИЛ ТЕРМЕНАЛ
вот что у иеня получилось:
for(int i=Bars-counted_bars; i>=0; i--)
{
ExtMapBuffer2[i]=10*MathRand();
ExtMapBuffer1[i]=iCCIOnArray(ExtMapBuffer2,0,120,i);
}
спасибо
У меня возникла вторая проблемма
после того как я переключу с одного таймфрейма на другой и затем обратно ExtMapBuffer1[i] заполняется нулями, (к примеру с M1 на M5 а затем обратно с M5 на M1)
по какойто причине iCCIOnArray(ExtMapBuffer2,0,120,i) выдаёт 0
ExtMapBuffer1[i]=iCCIOnArray(ExtMapBuffer2,0,120,i);
#property indicator_separate_window
#property indicator_buffers 1
#property indicator_color1 Red
//--- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
IndicatorBuffers(2);
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);
SetIndexBuffer(1,ExtMapBuffer2);
//ArraySetAsSeries(ExtMapBuffer2,true);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
int counted_bars=IndicatorCounted();
//----
int i=13;
Print("BEFORE ExtMapBuffer2["+i+"]="+ExtMapBuffer2[i]+" ExtMapBuffer1["+i+"]="+ExtMapBuffer1[i]+" iCCIOnArray(ExtMapBuffer2,0,120,"+i+")="+iCCIOnArray(ExtMapBuffer2,0,120,i));
for(i=Bars-counted_bars; i>=0; i--)
{
ExtMapBuffer2[i]=10*MathRand();
ExtMapBuffer1[i]=iCCIOnArray(ExtMapBuffer2,0,120,i);
}
i=13;
//ExtMapBuffer1[i]=i;
Print("AFTER ExtMapBuffer2["+i+"]="+ExtMapBuffer2[i]+" ExtMapBuffer1["+i+"]="+ExtMapBuffer1[i]+" iCCIOnArray(ExtMapBuffer2,0,120,"+i+")="+iCCIOnArray(ExtMapBuffer2,0,120,i)+" counted_bars="+counted_bars);
//----
return(0);
}
//+------------------------------------------------------------------+
int i=13;
Print("BEFORE ExtMapBuffer2["+i+"]="+ExtMapBuffer2[i]+" ExtMapBuffer1["+i+"]="+ExtMapBuffer1[i]+" iCCIOnArray(ExtMapBuffer2,0,120,"+i+")="+iCCIOnArray(ExtMapBuffer2,0,120,i));
//...
i=13;
Print("AFTER ExtMapBuffer2["+i+"]="+ExtMapBuffer2[i]+" ExtMapBuffer1["+i+"]="+ExtMapBuffer1[i]+" iCCIOnArray(ExtMapBuffer2,0,120,"+i+")="+iCCIOnArray(ExtMapBuffer2,0,120,i)+" counted_bars="+counted_bars);
У меня возникла вторая проблемма
после того как я переключу с одного таймфрейма на другой и затем обратно ExtMapBuffer1[i] заполняется нулями, (к примеру с M1 на M5 а затем обратно с M5 на M1)
по какойто причине iCCIOnArray(ExtMapBuffer2,0,120,i) выдаёт 0
Сделайте два цикла
Только заголовки циклов так не совсем корректно делать, но это уже другой вопрос.
Тоже самое
переключу с одного таймфрейма на другой и затем обратно (с M1 на M5 а затем обратно с M5 на M1)
Буфер заполнился
но потом iCCIOnArray занулило всё
по моему чтото нето с буфером ExtMapBuffer2. Я читал что для OnArray функции нужен какойто специальный буфер.