Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Предлагаю следующее: прикрепите индикатор (тот вариант, который работал раньше, без изменений) сюда или мне в личку, я подкорректирую.
привет,павлик!
ето та версион
оригинал.
попробуи код перетащить
pansa
//+------------------------------------------------------------------+
//| AltrTrend_Signal_v2_2.mq4
//| Ramdass - Conversion only
//+------------------------------------------------------------------+
#property copyright "Author - OlegVS, GOODMAN"
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Chartreuse
#property indicator_color2 Yellow
#property indicator_width1 2
#property indicator_width2 2
//---- input parameters
extern int K=30;
extern double Kstop=0.5;
extern int Kperiod=150;
extern int PerADX=14;
extern int CountBars=350;
extern int SoundON=1; //zakton's
//---- buffers
double val1[];
double val2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
string short_name;
//---- indicator line
IndicatorBuffers(2);
SetIndexStyle(0,DRAW_ARROW);
SetIndexArrow(0,159);
SetIndexStyle(1,DRAW_ARROW);
SetIndexArrow(1,159);
SetIndexBuffer(0,val1);
SetIndexBuffer(1,val2);
//----
return(0);
}
//+------------------------------------------------------------------+
//| AltrTrend_Signal_v2_2 |
//+------------------------------------------------------------------+
int start()
{
if (CountBars>=Bars) CountBars=Bars;
SetIndexDrawBegin(0,Bars-CountBars+PerADX);
SetIndexDrawBegin(1,Bars-CountBars+PerADX);
int i,shift,counted_bars=IndicatorCounted();
int i1,i2;
double Range,AvgRange,smin,smax,SsMax,SsMin,SSP,price;
bool uptrend,old;
//----
if(Bars<=PerADX+1) return(0);
//---- initial zero
if(counted_bars<PerADX+1)
{
for(i=1;i<=PerADX;i++) val1[CountBars-i]=0.0;
for(i=1;i<=PerADX;i++) val2[CountBars-i]=0.0;
}
//----
for (shift = CountBars-PerADX; shift>=0; shift--)
{
SSP=MathCeil(Kperiod/iADX(NULL,0,PerADX,PRICE_CLOSE,MODE_MAIN,1));
Range=0;
AvgRange=0;
for (i1=shift; i1<=shift+SSP; i1++)
{AvgRange=AvgRange+MathAbs(High[i1]-Low[i1]);
}
Range=AvgRange/(SSP+1);
SsMax=High[shift]; SsMin=Low[shift];
for (i2=shift;i2<=shift+SSP-1;i2++)
{
price=High[i2];
if(SsMax<price) SsMax=price;
price=Low[i2];
if(SsMin>=price) SsMin=price;
}
smin = SsMin+(SsMax-SsMin)*K/100;
smax = SsMax-(SsMax-SsMin)*K/100;
val1[shift]=0;
val2[shift]=0;
if (Close[shift]<smin)
{
uptrend = false;
}
if (Close[shift]>smax)
{
uptrend = true;
}
if (uptrend!=old && uptrend==true) {val1[shift]=Low[shift]-Range*Kstop;}
if (uptrend!=old && uptrend==false) {val2[shift]=High[shift]+Range*Kstop;}
old=uptrend;
// zakton's code
if ((shift == 0) && (SoundON == 1)) {
if (val1[0] > 0) PlaySound("ReadyToExit.wav");
}
if ((shift == 0) && (SoundON == 1)) {
if (val2[0] > 0) PlaySound("ReadyToExit.wav");
}
}
return(0);
}
//+--------------------------------------------------------привет,павлик!
ето та версион
оригинал.
попробуи код перетащить
pansa
Sr. Pansa! Porqué no usa el botón SRC para poner su código? Así mejor o Ud. tiene alguna duda?
Buena suerte!
привет,павлик!
ето та версион
оригинал.
попробуи код перетащить
pansa
Индикатор рабочий, но в нем разработчиком сделана логическая ошибка
ok?
ok?
Привет,павлик!
инсталлировал ваш код-
работает прекрасно!
вы большои талант-
сумели пробить стену!
огромное дело-
теперь надежные сигналы и
новые горизонты!
какои сегодня хороший день!
хочу отдельно поблагодарить интегер
он написал скрипт вызова плеера!
есть однако таланты и добрые люди-
хвала вам!
сегодня 11.9.14
панса
А у меня большинство мусорных предупреждений выскакивает из-за совершенно законной, корректной и стандартной передачи переменной по ссылке в функцию, когда имя шаблона функции совпадает с самой переменной как это и должно быть в данной конструкции в её стандартном и типичном применении, когда сама же переменная передается в функцию под своим же именем.
Приведите пример, пожалуйста.
К сожалению, МК не смогли дать грамотное и логичное объяснение этого, мол иногда у кого-то там якобы может возникнуть недопонимание в других конструкциях когда есть похожие имена.
Если я правильно понял случай, то ответ был и логичным, и правильным, и выстраданным за больше чем пару десятков лет непрерывного программирования.
Извините за случайно стертый коммент - не туда нажал, а восстановить функции нет.
Приведите пример, пожалуйста.
Если я правильно понял случай, то ответ был и логичным, и правильным, и выстраданным за больше чем пару десятков лет непрерывного программирования.
На эту стандартную, законную и распространенную конструкцию по стандартам языка Си редактор выдает предупреждение: "declaration of 'a' hides global declaration at line 4" и "declaration of 'b' hides global declaration at line 4", которое еще при этом неправильно и неграмотно по своей сути, так как тут нет ни декларации новой переменной внутри функции, ни намека на хоть какое-то возможное перекрытие переменных.
В результате даже в не слишком большом коде программы имеем сотни неуместных предупреждений.
Индикатор рабочий, но в нем разработчиком сделана логическая ошибка
Привет,Винин!
Вы проверили индикатор : AltrTrend_Signal_v2_2.mq4
и нашли логическую ошибку
в формуле : SSP=MathCeil(Kperiod/iADX(NULL,0,PerADX,PRICE_CLOSE,MODE_MAIN,1));
вы подчеркнули 1 на конце
что же по Вашему мнению должно тут стоять?
панса