[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 263
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
не подскажете как нарисовать квадрат либо прямоугольник но только чтобы он не рисовался как фон а рисовался как рамка
Спасибо
Установите в списке свойств обьекта прямоугольник, свойство рисоваться как фон в положение false :
ObjectSet( string name, OBJPROP_BACK, false) ;
Правда при этом обьект будет рисоваться перед графиком .
Прошу прощения, возможно, за неразумный вопрос...
немножко торможу с буферами индикаторов.... либо, не совсем точно разобрался с самим индикатором...
подскажите, пожалуйста, если будет возможность, как обратиться к индикатору BrainTrend2StopN?
хочу проверить, находится ли открытие текущего бара выше/ниже значений индикатора.
обращаюсь к индикатору из советника строкой:
iCustom(NULL,0,"BrainTrend2StopN",CountBars, 1,0)
или
iCustom(NULL,0,"BrainTrend2StopN",CountBars, 0,0)
для соответственно нулевого и первого буфера....
но, на эту строку советник никак не реагирует...
Заранее большое спасибо.
iCustom(NULL,0,"BrainTrend2StopN",CountBars,1,0)
или
iCustom(NULL,0,"BrainTrend2StopN",CountBars, 0,0)
для соответственно нулевого и первого буфера....
но, на эту строку советник никак не реагирует...
обратите внимание, у вас в индикаторе 2 внешних параметра:
extern int Simbol =119;
extern int CountBars=500;
их все надо прописывать в iCustom:
alsu
спасибо большое. Поправил код, теперь передаю оба параметра, но, к сожалению, при вызове Alert со значениями буферов индикатора, мне пишутся одни нули....
если будет возможность, подскажите, как с этим справиться.
попробуйте
почему-то не понимает, что такое сдвиг и не хочет ставить стрелочки
#property indicator_chart_window
//#property indicator_chart_window
#property indicator_buffers 4
#property indicator_color1 Magenta // 12
#property indicator_color2 Blue // 26
#property indicator_color3 MediumBlue
#property indicator_color4 Tomato
#property indicator_width1 2
#property indicator_width2 2
#property indicator_width3 1
#property indicator_width4 1
//---- indicator parameters
extern int FastHMA = 12;
extern int SlowHMA = 26;
extern int ExtmethodFastHMA=0; // MODE_SMA
extern int ExtmethodSlowHMA=0; // MODE_SMA
extern int ExtpriceFastHMA=0; // PRICE_CLOSE
extern int ExtpriceSlowHMA=0; // PRICE_CLOSE
extern int ExtsdvigFastHMA=0;
extern int ExtsdvigSlowHMA=0;
extern bool EnableAlert=true;
extern string ExtSoundFileName = "";
//---- indicator buffers
double PreHMA1[];
double PreHMA2[];
double CrossUp[];
double CrossDown[];
static int bBuy = 0;
static int bSell = 0;
//+------------------------------------------------------------------+
int pF, pS;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
// Средние
SetIndexStyle( 0, DRAW_LINE );
SetIndexStyle( 1, DRAW_LINE );
// Сигналы
SetIndexStyle( 2, DRAW_ARROW, EMPTY );
SetIndexArrow( 2, 233 );
SetIndexStyle( 3, DRAW_ARROW, EMPTY );
SetIndexArrow( 3, 234 );
//---- 5 indicator buffers mapping
SetIndexBuffer(0,PreHMA1);
SetIndexBuffer(1,PreHMA2);
SetIndexBuffer( 2, CrossUp );
SetIndexBuffer( 3, CrossDown );
IndicatorDigits( MarketInfo( Symbol(), MODE_DIGITS ) );
//---- name for DataWindow and indicator subwindow label
IndicatorShortName("HMA2("+FastHMA+","+SlowHMA+")");
SetIndexLabel( 0, "HMA("+ FastHMA + "," + SlowHMA+")" + FastHMA );
SetIndexLabel( 1, "HMA(" + FastHMA + "," + SlowHMA+")" + SlowHMA );
SetIndexLabel( 2, "Buy" );
SetIndexLabel( 3, "Sell" );
pF = MathSqrt(FastHMA);
pS = MathSqrt(SlowHMA);
//---- initialization done
return(0);
}
//+------------------------------------------------------------------+
double WMA(int x, int p) {
return(iMA(NULL, 0, p, 0, MODE_SMA, PRICE_CLOSE, x+sdvig));
}
//+------------------------------------------------------------------+
//| Moving Average of Oscillator |
//+------------------------------------------------------------------+
int start()
{
bool bConditionUp;
bool bConditionDown;
double Range;
double AvgRange;
int limit;
int counter;
int counted_bars=IndicatorCounted();
//---- last counted bar will be recounted
if(counted_bars>0) counted_bars--;
limit=Bars-counted_bars;
//---- preparing the HMA
for(int i=0; i<limit; i++) {
PreHMA1[i] = 2*WMA(i, FastHMA/2) - WMA(i, FastHMA);
PreHMA2[i] = 2*WMA(i, SlowHMA/2) - WMA(i, SlowHMA);
AvgRange = 0;
bConditionUp = 0;
bConditionDown = 0;
for ( counter = i; counter <= i + 9; counter++ ) {
AvgRange += MathAbs( High[ counter ] - Low[ counter ] );
}
Range = AvgRange/10;
bConditionUp = (PreHMA1[i+1] >= PreHMA2[i+1] ) &&
(PreHMA1[i+2] <= PreHMA2[i+2] ) &&
(PreHMA1[i] > PreHMA2[i] ); // пересечение вверх
bConditionDown = (PreHMA1[i+1] <= PreHMA2[i+1] ) &&
(PreHMA1[i+2] >= PreHMA2[i+2] ) &&
(PreHMA1[i] < PreHMA2[i] ); // пересечение вниз
if ( bConditionUp) {//
CrossUp[i+1] = PreHMA2[i+1]-Range * 0.75;
CrossDown[i+1] = EMPTY_VALUE;
bConditionDown = false;
}
if ( bConditionDown) {//
CrossDown[i+1] = PreHMA2[i+1]+Range * 0.75;
CrossUp[i+1] = EMPTY_VALUE;
bConditionUp = false;
}
if (!bConditionUp && !bConditionDown) {
CrossDown[i+1] = EMPTY_VALUE;
CrossUp[i+1] = EMPTY_VALUE;
}
if (bConditionUp && !bBuy==1 && i==0 && EnableAlert){
bBuy = 1; // установка флага покупки
bSell = 0; // сброс флага продажи
Alert (Symbol()," ",Period(),"M Achtung BUY "); // звуковой сигнал
if ( ExtSoundFileName != "" ) PlaySound( ExtSoundFileName );
}
if (bConditionDown && !bSell==1 && i==0 && EnableAlert){
bBuy = 0; // установка флага покупки
bSell = 1; // сброс флага продажи
Alert (Symbol()," ",Period(),"M Achtung SELL "); // звуковой сигнал
if ( ExtSoundFileName != "" ) PlaySound( ExtSoundFileName );
}
//Comment ("Buy-"+bBuy+"\nSell-"+bSell);
} // for
//return ( 0 );
}
//for buy
// if (bBuy==0 && i < 1 && EnableAlert) {
// //Alert (Symbol()," ",Period(),"M Achtung BUY "); // звуковой сигнал
// Alert ("Buy-",bBuy," ",i," ",EnableAlert);
// if ( ExtSoundFileName != "" ) PlaySound( ExtSoundFileName );
// }
// if (bSell==0 && i < 1 && EnableAlert) {
// //Alert (Symbol()," ",Period(),"M Achtung SELL ");
// Alert ("Sell-",bSell," ",i," ",EnableAlert);
// if ( ExtSoundFileName != "" ) PlaySound( ExtSoundFileName );
// }
может кто подскажет в чем моя ошибка
может кто подскажет в чем моя ошибка
для начала облеките код в удобочитаемую форму с помощью табуляций, указывающих на уровень вложения, и кнопки SRC
Здравствуйте.
Помогите пожалуйста разобраться в информационной функции из учебника https://book.mql4.com/ru/build/info Уже неделю не могу понять, почему не появляется от неё сигналов? Советника брал в точности из учебника, информ там включен внутри.
Надо ли теперь добавлять индикатор на график? И чем его заполнить? В примере написан пустой и мол чем пожелаете тем и заполняйте... Как сделать чтобы он всё-таки стал выводить сигналы функции Inform() ???
Похоже неделя у нас у новичков это предельный срок после которого мы идём к вам профи)))
Вывод делал по последним постам...