[АРХИВ] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 3. - страница 399

 
kolyango:

Ваши ссылки я обязательно посмотрю...

Criterion.mqh

Пишет содержимое плагина и всё, ничего не открывается и не скачивается!


А так пробовали, с предыдущей страницы: "Правой мышью кликаете на прицеп, далее в меню "сохранить по ссылке как"???

Я - пробовал, у меня качает исправно.


 
Roman.:


А так пробовали, с предыдущей страницы: "Правой мышью кликаете на прицеп, далее в меню "сохранить по ссылке как"???

Я - пробовал, у меня качает исправно.



Скачал. А почему .mqh а не .mq4?
 

Подскажите пожалуйста, каким способом изменить цвет фона в дополнительном окне индикатора, может можно прописать цвет фона дополнительного окна в профиле?

//+------------------------------------------------------------------+
//|                                                  Custom MACD.mq4 |
//|                      Copyright © 2004, MetaQuotes Software Corp. |
//|                                       http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property  copyright "Copyright © 2004, MetaQuotes Software Corp."
#property  link      "http://www.metaquotes.net/"
//---- indicator settings
#property  indicator_separate_window
#property  indicator_buffers 2
#property  indicator_color1  Silver
#property  indicator_color2  Red
#property  indicator_width1  2
//---- indicator parameters
extern int FastEMA=12;
extern int SlowEMA=26;
extern int SignalSMA=9;
//---- indicator buffers
double     MacdBuffer[];
double     SignalBuffer[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- drawing settings
   SetIndexStyle(0,DRAW_HISTOGRAM);
   SetIndexStyle(1,DRAW_LINE);
   SetIndexDrawBegin(1,SignalSMA);
   IndicatorDigits(Digits+1);
//---- indicator buffers mapping
   SetIndexBuffer(0,MacdBuffer);
   SetIndexBuffer(1,SignalBuffer);
//---- name for DataWindow and indicator subwindow label
   IndicatorShortName("MACD("+FastEMA+","+SlowEMA+","+SignalSMA+")");
   SetIndexLabel(0,"MACD");
   SetIndexLabel(1,"Signal");
//---- initialization done
   return(0);
  }
//+------------------------------------------------------------------+
//| Moving Averages Convergence/Divergence                           |
//+------------------------------------------------------------------+
int start()
  {
   int limit;
   int counted_bars=IndicatorCounted();
//---- last counted bar will be recounted
   if(counted_bars>0) counted_bars--;
   limit=Bars-counted_bars;
//---- macd counted in the 1-st buffer
   for(int i=0; i<limit; i++)
      MacdBuffer[i]=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i);
//---- signal line counted in the 2-nd buffer
   for(i=0; i<limit; i++)
      SignalBuffer[i]=iMAOnArray(MacdBuffer,Bars,SignalSMA,0,MODE_SMA,i);
//---- done
   return(0);
  }
//+------------------------------------------------------------------+
 
kolyango:

Скачал. А почему .mqh а не .mq4?


Потому что это подключаемый файл, например,

#include <stdlib.mqh>
#include <stderror.mqh>
//#include <dynamic_channel.mqh>             // динамический канал
#include <TrailingByFractals.mqh>          // trailing
читайте учебник - это Директива #include.
 

Добрый день!

Подскажите, пожалуйста, как в подокне нарисовать (графический объект) вертикальную палочку (гистограмма) от 0 до 4 (например)

Дело в том, что подокно индикатора содержит 0 линию, по обе стороны которой отображаются сигнала пробоя (селл-вниз, бай-вверх).

Как это сделать в помощью буфера я знаю, но буферов свободных нет, закончились.

Спасибо.

 
LOA:

Добрый день!

Подскажите, пожалуйста, как в подокне нарисовать (графический объект) вертикальную палочку (гистограмма) от 0 до 4 (например)


ObjectCreate
 
sergeev:
ObjectCreate

Это понятно, что с помощью функции ObjectCreate
но трудности вызывает то, как присвоить графическому объекты значения в зависимости от направления сигнала 4 или -4 относительно нулевой линии.
 
artmedia70:

Всё просто. Используем флаги в качестве семафора. Будет три блока кода, каждый из которых будет выполняться только тогда, когда предыдущий уже выполнен.

Изначально все флаги ==false.

Как только выполнилось перовое условие, ставим первый флаг=true; Теперь выполняется вторй блок кода. Как только его условие выполнилось, ставим второй флаг=true;
Теперь выполняется третий блок кода. Как только его условие выполнилось, ставим третий флаг=true; Ну и т.д.



Дайте ссылку, чтобы подробнее почитать про флаги с описанием их действий и примерами использования?
 
LOA:

Это понятно, что с помощью функции ObjectCreate
но трудности вызывает то, как присвоить графическому объекты значения в зависимости от направления сигнала 4 или -4 относительно нулевой линии.

Буферы закончились ))

#property indicator_separate_window
#property indicator_minimum -8
#property indicator_maximum 8
void start()  {
   ObjectsDeleteAll(1);
   for(int i=0;i<WindowBarsPerChart();i++){
         if(Open[i]>iMA(0,0,5,1,1,4,i))
            double xz=4;
         else xz=-4;
         ObjectCreate(i+" f",OBJ_TREND,1,iTime(0,0,i),0,iTime(0,0,i),xz);
         ObjectSet(i+" f", OBJPROP_RAY, 0);
   }
   WindowRedraw();
}
 
costy_:

Буферы закончились ))

Зачем учите некорректному программированию?

ObjectsDeleteAll(1);

Откуда вы знаете, что дескриптор окна этого индикатора == 1 ?

Причина обращения: