[Архив!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 2. - страница 313

 
trader_john:

Подскажите пожалуйста, из-за чего может происходить такой глюк?

Работает, работает, всё нормально, вдруг раз..ни с того ни с сего :-(

Причем, не просто точки рисует там где не надо, но и в окне данных показывает неправильные данные (соотв. расположению точек)

(Индикатор показывает экстремумы, написал сам )

После "передергивания" таймфрейма всё становится нормальным

Может подскажите, в какую сторону "рыть". Или может уже есть где то такая тема на форуме.

Заранее спасибо!


Написать нормально индикатор и проблемы исчезнут
 
Vinin:

Написать нормально индикатор и проблемы исчезнут


Нормально это как? Если бы знал, то не спрашивал бы здесь.

К слову сказать индикатор Fractals который скачал на MQL "вытворяет" то же самое.

https://www.mql5.com/ru/code/7982

значит он тоже написан некорректно?

 
trader_john:

Подскажите пожалуйста, из-за чего может происходить такой глюк?

Работает, работает, всё нормально, вдруг раз..ни с того ни с сего :-(

Причем, не просто точки рисует там где не надо, но и в окне данных показывает неправильные данные (соотв. расположению точек)

(Индикатор показывает экстремумы, написал сам )

После "передергивания" таймфрейма всё становится нормальным

Может подскажите, в какую сторону "рыть". Или может уже есть где то такая тема на форуме.

Заранее спасибо!

Писал похожий, случалось также как у тебя. Обратил внимание если индикатор вычисляется дольше чем один тик, то задвоения не происходят. Добавь условие потяжелее или sleep. Но я ни разу не программист, это наблюдение.
 
Operr:
Писал похожий, случалось также как у тебя. Обратил внимание если индикатор вычисляется дольше чем один тик, то задвоения не происходят. Добавь условие потяжелее или sleep. Но я ни разу не программист, это наблюдение.


Не совсем понял. может "вычисляется больше чем на 1 баре?"

Вспомнил про Fractals (MQL4) / Я его переделал, чтоб начинал считать с бара №3. Т.е. после него должны закончиться 2 бара,

В оригинале индикатор раньше рисовал "точку"..кажется на баре № 2..(т.е. нулевой бар тоже считал)

НО! зато если эта точка пробивалась раньше чем через2 бара то она оставалась там же

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

Встоенный fractals удаляет кстати...

Ладно... будем думать

 
Operr:
Добавь условие потяжелее или sleep.
Для сведения - Sleep не работает в индикаторах.
 

Как сделать, чтомы МА расчитывалась одна по хай, а вторая по лоу?


// Торговые критерии
MA_1_t=iMA(NULL,0,Period_MA_1,0,MODE_LWMA,PRICE_TYPICAL,0); // МА_1
MA_2_t=iMA(NULL,0,Period_MA_2,0,MODE_LWMA,PRICE_TYPICAL,0); // МА_2
MA_3_t=iMA(NULL,0,Period_MA_3,0,MODE_LWMA,PRICE_TYPICAL,0); // МА_3

if (MA_2_t > MA_3_t + Rastvor*Point) // Если разница между
{ // ..МА 2 и 3 большая
Opn_B=true; // Критерий откр. Buy
Cls_S=true; // Критерий закр. Sell
}
if (MA_1_t < MA_3_t - Rastvor*Point) // Если разница между
{ // ..МА 1 и 3 большая
Opn_S=true; // Критерий откр. Sell
Cls_B=true; // Критерий закр. Buy

}



Нужно, чтобы МА_1 расчитывалась по High

МА_2 расчитывалась по Low

МА_3 расчитывалась по Close

И как сделать, чтоб все скользящие были SMA

 
NROST:

Как сделать, чтомы МА расчитывалась одна по хай, а вторая по лоу?


// Торговые критерии
MA_1_t=iMA(NULL,0,Period_MA_1,0,MODE_LWMA,PRICE_TYPICAL,0); // МА_1
MA_2_t=iMA(NULL,0,Period_MA_2,0,MODE_LWMA,PRICE_TYPICAL,0); // МА_2
MA_3_t=iMA(NULL,0,Period_MA_3,0,MODE_LWMA,PRICE_TYPICAL,0); // МА_3

if (MA_2_t > MA_3_t + Rastvor*Point) // Если разница между
{ // ..МА 2 и 3 большая
Opn_B=true; // Критерий откр. Buy
Cls_S=true; // Критерий закр. Sell
}
if (MA_1_t < MA_3_t - Rastvor*Point) // Если разница между
{ // ..МА 1 и 3 большая
Opn_S=true; // Критерий откр. Sell
Cls_B=true; // Критерий закр. Buy

}



Нужно, чтобы МА_1 расчитывалась по High

МА_2 расчитывалась по Low

МА_3 расчитывалась по Close

И как сделать, чтоб все скользящие были SMA



Все ответы там
 
Vinin:

Все ответы там
спасибо
 

Народ, требуется ваша помощь.

Есть торговые условия вида, определены так: Покупать если %D линия стохастика пересекает отметку 30, при этом предыдущий бар должен быть ниже значения 29(получается отметка пересекается снизу вверх). В тестере я задал небольшой временной интервал на часовом тайм фрейме, чтобы посчитать количество сигналов вручную и сравнить с показаниями советника. Дожно получиться 6 сигналов, но советник просто выдает стену текста с сигналами на бай, а в идеале должно быть только 6.


Вот код советника, может кто подскажет что я делаю не правильно?


// Значения торговли
extern double TP = 100;
extern double Lots = 0.1;
extern double SL = 50;
// Значения стохастика
extern int Dperiod = 24;
extern int Kperiod = 3;
extern int Slowing = 6;
extern int St_buy = 30;
extern int St_sell = 70;
int signal;
int ticket;



int Stoch(int st_bars = 0, int st_type = 0){  // 1 параметр - бары, 2 параметр - тип линии.

   int st_result;
   
   if (st_type == 0 || st_type == 1 && st_bars >= 0){
      st_result = iStochastic(NULL,0,Dperiod,Kperiod,Slowing,MODE_SMA,0,st_type,st_bars);
      if (st_result > -1) return(st_result);
   }
   else return(-1);
   
   return(0);
}

int Criterion() // 10 - open buy, 11 - close buy, 20 - open sell, 21 - close sell.
{
   int St_M, St_S;
   St_M = Stoch();
   St_S = Stoch(0,1);
  
   if (St_M >= St_buy && Stoch(1,0) < (St_buy-1)) return(10);
   
   return(0);
}

int start()
{
   if (Criterion() == 10 && AccountFreeMargin() > Lots*5000){
      
    ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, 3, Bid - SL * Point, Ask + TP * Point, "My order #", 16384, 0, Green);
   }
   return(0);
}
 
trader_john:

Подскажите пожалуйста, из-за чего может происходить такой глюк?

Работает, работает, всё нормально, вдруг раз..ни с того ни с сего :-(

Причем, не просто точки рисует там где не надо, но и в окне данных показывает неправильные данные (соотв. расположению точек)

(Индикатор показывает экстремумы, написал сам )

После "передергивания" таймфрейма всё становится нормальным

Может подскажите, в какую сторону "рыть". Или может уже есть где то такая тема на форуме.

Заранее спасибо!


все до вас уже украдено - это наподобие МастерФорекс версии 5... Есть еще и 4 -версия, но пока не могу найти, если надо найду.
Причина обращения: