[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 96

 
timbo >>:

Point

double Point
Размер пункта текущего инструмента в валюте котировки.
См. также MarketInfo().
Пример:



Там контекст был, что если присоединить этот скрипт к другой валюте не GBPUSD, то возникает алгоритмическая ошибка. Так как Point - это пункт инструмента, в окно которого был занесен скрипт.

 

Здравствуйте. Написал мультивалютный индикатор на основе WPR fast. Но он автоматически не обновляется и последние данные показывает 4 бара назад.

Если есть возможность исправьте ошибку.

#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 White
#property indicator_color2 Blue

//---- input parameters
extern int P = 14;
extern int n1 = 14;
extern int n2 = 14;
extern int CountBars=3500;

//---- buffers
double val1[];
double val2[];

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
   string short_name;
//---- indicator line
   IndicatorBuffers(2);
   SetIndexStyle(0,DRAW_ARROW, EMPTY);
   SetIndexArrow(0,108);
   SetIndexBuffer(0,val1);
   SetIndexEmptyValue(0,0.0);
   SetIndexStyle(1,DRAW_ARROW, EMPTY);
   SetIndexArrow(1,108);
   SetIndexBuffer(1,val2);
   SetIndexEmptyValue(1,0.0);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| AltrTrend_Signal_v2_2                                            |
//+------------------------------------------------------------------+
int start()
  { double F_u_EUR,F_u_GBP,F_d_EUR,F_d_GBP;
   int limit;
   int counted_bars=IndicatorCounted();
//---- last counted bar will be recounted
   if(counted_bars>0) counted_bars--;
   limit=Bars-counted_bars;
   for(int i=3; i<limit; i++)
{ 

	F_u_EUR=iCustom("EURUSD",15,"WPRfast",P,n1,n2,3000,0,i);
	F_d_EUR=iCustom("EURUSD",15,"WPRfast",P,n1,n2,3000,1,i);
	F_u_GBP=iCustom("GBPUSD",15,"WPRfast",P,n1,n2,3000,0,i);
	F_d_GBP=iCustom("GBPUSD",15,"WPRfast",P,n1,n2,3000,1,i);

if (F_u_EUR>0&&F_u_GBP>0)
{
	val1[i]=High[i]+35*Point;
}
if (0>F_d_EUR&&0>F_d_GBP) 
{
	val2[i]=Low[i]-35*Point;
}


}
   return(0);
  }
//+------------------------------------------------------------------+
Файлы:
wprfast.mq4  3 kb
 
А почему у тебя цикл начинается с int i=3 ?
 
Roger >>:
А почему у тебя цикл начинается с int i=3 ?

Вот блин точно. Вот почему данные давал за три бара назад. Каркас брал от мультивальтного фрактала и не заметил.

А как сделать чтобы он сразу обновлял данные? а то приходится сного выводить индикатор на график?

 
Так ноль поставишь, сразу и будет обновлять.
 
Спасибо, Roger!
 

Подскажите, возможно ли в МТ4 (или программно) ограничить прием котировок не каждый тик, а,допустим, раз в минуту?

Идет ли прием во время выполнения процедуры Sleep()?

 
gorby777 писал(а) >>

Подскажите, возможно ли в МТ4 (или программно) ограничить прием котировок не каждый тик, а,допустим, раз в минуту?

Идет ли прием во время выполнения процедуры Sleep()?

Ограничить прием котировок нельзя. Но можно обрабатывать котировки с определенной периодичностью.

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

 
Vinin >>:

Ограничить прием котировок нельзя. Но можно обрабатывать котировки с определенной периодичностью.

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

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

 
gorby777 >>:

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

Если Вам критичен трафик, то самый эффективный способ - ограничить число используемых символов в окне "Обзор рынка".

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