Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 2212 1...220522062207220822092210221122122213221422152216221722182219...2747 Новый комментарий Artyom Trishkin 2023.06.17 08:24 #22111 Murod Shamuratov #: Есть индикатор написанной на mql5, надо переводить на mql4. Что Вы пытались сделать и что у Вас не получается? Ветка создана не для "сделать за кого-то", а для "помочь и подсказать как сделать правильно" Sergey Gridnev 2023.06.17 08:26 #22112 ANDREY #: Как я понял , поэлементно - это при помощи функции OrderSelect () Тем не менее меня раздирает любопытство - есть у этого массива имя или нет ?Нет Андрей Кондрашов 2023.06.17 08:37 #22113 Sergey Gridnev #: Нет Спасибо. Значит делать с этим массивом какие либо операции, например, сортировать, нельзя? Или какие то операции , кроме поэлементного копирования, mql4 делать разрешает ? Artyom Trishkin 2023.06.17 09:00 #22114 ANDREY #: Спасибо. Значит делать с этим массивом какие либо операции, например, сортировать, нельзя? Или какие то операции , кроме поэлементного копирования, mql4 делать разрешает ? Копируете поэлементно в собственный массив и делаете с ним что душе угодно Андрей Кондрашов 2023.06.17 09:22 #22115 Artyom Trishkin #: Копируете поэлементно в собственный массив и делаете с ним что душе угодно Спасибо за исчерпывающий ответ anotherfxtrader 2023.06.17 15:14 #22116 Всем доброе время суток . Скажите есть ли возможность повесить хоткеи на несколько действий в Mt 5? Например наводим мышку на область графика жмем комбинацию кнопок и появляется вертикальная линия или горизонтальная . Спасибо заранее [АРХИВ]Любой вопрос новичка, чтоб Вопрос к MetaQuotes. Настройки По индикаторам x572intraday 2023.06.17 15:21 #22117 Как совместить два индикатора в одной программе? Например, iBands и iStochastic. Делаю так (объединил примеры из Справки): #property indicator_chart_window #property indicator_buffers 5 #property indicator_plots 5 #property indicator_label1 "Upper" #property indicator_type1 DRAW_LINE #property indicator_color1 clrMediumSeaGreen #property indicator_style1 STYLE_SOLID #property indicator_width1 1 #property indicator_label2 "Lower" #property indicator_type2 DRAW_LINE #property indicator_color2 clrMediumSeaGreen #property indicator_style2 STYLE_SOLID #property indicator_width2 1 #property indicator_label3 "Middle" #property indicator_type3 DRAW_LINE #property indicator_color3 clrMediumSeaGreen #property indicator_style3 STYLE_SOLID #property indicator_width3 1 #property indicator_label4 "Stochastic" #property indicator_type4 DRAW_LINE #property indicator_color4 clrLightSeaGreen #property indicator_style4 STYLE_SOLID #property indicator_width4 1 #property indicator_label5 "Signal" #property indicator_type5 DRAW_LINE #property indicator_color5 clrRed #property indicator_style5 STYLE_SOLID #property indicator_width5 1 #property indicator_minimum 0 #property indicator_maximum 100 #property indicator_level1 -100.0 #property indicator_level2 100.0 double UpperBuffer[]; double LowerBuffer[]; double MiddleBuffer[]; double StochasticBuffer[]; double SignalBuffer[]; int handleBB; int handleSt; int bars_calculated=0; int OnInit() { SetIndexBuffer(0,UpperBuffer,INDICATOR_DATA); SetIndexBuffer(1,LowerBuffer,INDICATOR_DATA); SetIndexBuffer(2,MiddleBuffer,INDICATOR_DATA); PlotIndexSetInteger(0,PLOT_SHIFT,0); PlotIndexSetInteger(1,PLOT_SHIFT,0); PlotIndexSetInteger(2,PLOT_SHIFT,0); SetIndexBuffer(3,StochasticBuffer,INDICATOR_DATA); SetIndexBuffer(4,SignalBuffer,INDICATOR_DATA); handleBB=iBands(_Symbol,PERIOD_CURRENT,20,0,2.0,PRICE_CLOSE); handleSt=iStochastic(_Symbol,PERIOD_CURRENT,5,3,3,MODE_SMA,STO_LOWHIGH); if(handleBB==INVALID_HANDLE) return(INIT_FAILED); if(handleSt==INVALID_HANDLE) return(INIT_FAILED); return(INIT_SUCCEEDED); } int OnCalculate(const int rates_total, const int prev_calculated, const datetime &time[], const double &open[], const double &high[], const double &low[], const double &close[], const long &tick_volume[], const long &volume[], const int &spread[]) { int values_to_copy; int calculated=BarsCalculated(handleBB); if(calculated<=0) return(0); if(prev_calculated==0 || calculated!=bars_calculated || rates_total>prev_calculated+1) if(calculated>rates_total) values_to_copy=rates_total; else values_to_copy=calculated; else values_to_copy=(rates_total-prev_calculated)+1; if(!FillArraysFromBuffersBB(MiddleBuffer,UpperBuffer,LowerBuffer,0,handleBB,values_to_copy)) return(0); if(!FillArraysFromBuffersSt(StochasticBuffer,SignalBuffer,handleSt,values_to_copy)) return(0); bars_calculated=calculated; return(rates_total); } bool FillArraysFromBuffersBB(double &base_values[], double &upper_values[], double &lower_values[], int shift, int ind_handle, int amount ) { if(CopyBuffer(ind_handle,0,-shift,amount,base_values)<0) return(false); if(CopyBuffer(ind_handle,1,-shift,amount,upper_values)<0) return(false); if(CopyBuffer(ind_handle,2,-shift,amount,lower_values)<0) return(false); return(true); } bool FillArraysFromBuffersSt(double &main_buffer[], double &signal_buffer[], int ind_handle, int amount ) { if(CopyBuffer(ind_handle,MAIN_LINE,0,amount,main_buffer)<0) return(false); if(CopyBuffer(ind_handle,SIGNAL_LINE,0,amount,signal_buffer)<0) return(false); return(true); } void OnDeinit(const int reason) { if(handleBB!=INVALID_HANDLE) IndicatorRelease(handleBB); if(handleSt!=INVALID_HANDLE) IndicatorRelease(handleSt); } В таком виде отображается только Bollinger Bands, а при замене первой строки на #property indicator_separate_window исчезает Bollinger Bands и появляется только Stochastic. Необходимо отображение обоих индикаторов. Artyom Trishkin 2023.06.17 17:20 #22118 x572intraday #: Как совместить два индикатора в одной программе? Например, iBands и iStochastic. Делаю так (объединил примеры из Справки): В таком виде отображается только Bollinger Bands, а при замене первой строки на исчезает Bollinger Bands и появляется только Stochastic. Необходимо отображение обоих индикаторов. Индикатор может отображаться либо только в главном окне чарта, либо в подокне. x572intraday 2023.06.17 18:12 #22119 Artyom Trishkin #: Индикатор может отображаться либо только в главном окне чарта, либо в подокне. Вот так незадача. А как же тогда снимать показания с нескольких разных индикаторов программно? Artyom Trishkin 2023.06.17 18:13 #22120 x572intraday #: Вот так незадача. А как же тогда снимать показания с нескольких индикаторов программно? С каждого снимать отдельно. Зачем их в один-то паковать? 1...220522062207220822092210221122122213221422152216221722182219...2747 Новый комментарий
Есть индикатор написанной на mql5, надо переводить на mql4.
Что Вы пытались сделать и что у Вас не получается?
Ветка создана не для "сделать за кого-то", а для "помочь и подсказать как сделать правильно"
Как я понял , поэлементно - это при помощи функции OrderSelect () Тем не менее меня раздирает любопытство - есть у этого массива имя или нет ?
Нет
Спасибо. Значит делать с этим массивом какие либо операции, например, сортировать, нельзя?
Или какие то операции , кроме поэлементного копирования, mql4 делать разрешает ?
Спасибо. Значит делать с этим массивом какие либо операции, например, сортировать, нельзя?
Или какие то операции , кроме поэлементного копирования, mql4 делать разрешает ?
Копируете поэлементно в собственный массив и делаете с ним что душе угодно
Копируете поэлементно в собственный массив и делаете с ним что душе угодно
Спасибо за исчерпывающий ответ
Как совместить два индикатора в одной программе? Например, iBands и iStochastic. Делаю так (объединил примеры из Справки):
В таком виде отображается только Bollinger Bands, а при замене первой строки на
исчезает Bollinger Bands и появляется только Stochastic. Необходимо отображение обоих индикаторов.
Как совместить два индикатора в одной программе? Например, iBands и iStochastic. Делаю так (объединил примеры из Справки):
В таком виде отображается только Bollinger Bands, а при замене первой строки на
исчезает Bollinger Bands и появляется только Stochastic. Необходимо отображение обоих индикаторов.
Индикатор может отображаться либо только в главном окне чарта, либо в подокне.
Индикатор может отображаться либо только в главном окне чарта, либо в подокне.
Вот так незадача. А как же тогда снимать показания с нескольких разных индикаторов программно?
Вот так незадача. А как же тогда снимать показания с нескольких индикаторов программно?
С каждого снимать отдельно. Зачем их в один-то паковать?