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

 
hoz:

 Я написал простой индикатор. Вот код:

В нём только один буфер. Значения индикатора типа double.

В эксперте, решил получить значение индикатра и применить его в торговле в качестве фильтра.

 Вот я написал простой вызов в функции данного буфера индикатора на последнем сформировавшемся баре:

В тестере возвращается значение slope не верное:

Почему так? Тип указан верно.. Вызов тоже вроде как верно. Индиатор работает вообще исправно. Вот лог журнала на тестере, а с реального рынка текущего:

 

 Почему возвращается какое-то число 2147483647 постоянно вместо требуемого ?

Вам возвращается Пустое значение (EMPTY_VALUE), которое и равно 2147483647. Может стоит Ctrl+D и посмотреть данные самого индикатора?
 
hoz:

 Я написал простой индикатор. Вот код:

В нём только один буфер. Значения индикатора типа double.

В эксперте, решил получить значение индикатра и применить его в торговле в качестве фильтра.

 Вот я написал простой вызов в функции данного буфера индикатора на последнем сформировавшемся баре:

В тестере возвращается значение slope не верное:

Почему так? Тип указан верно.. Вызов тоже вроде как верно. Индиатор работает вообще исправно. Вот лог журнала на тестере, а с реального рынка текущего:

 

 Почему возвращается какое-то число 2147483647 постоянно вместо требуемого ?

 

 


Переделал индикатор

2013.02.26 21:22:39     2011.12.30 23:59  D_Aleks_first_pattern EURUSD,H1: slope = -0.0003
2013.02.26 21:22:39     2011.12.30 23:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0003
2013.02.26 21:22:39     2011.12.30 22:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0006
2013.02.26 21:22:39     2011.12.30 21:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0009
2013.02.26 21:22:39     2011.12.30 20:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0011
2013.02.26 21:22:39     2011.12.30 19:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0012
2013.02.26 21:22:39     2011.12.30 18:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.30 17:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0014
2013.02.26 21:22:39     2011.12.30 16:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.30 15:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.30 14:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.30 13:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.30 12:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.30 11:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.30 10:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.30 09:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0012
2013.02.26 21:22:39     2011.12.30 08:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0012
2013.02.26 21:22:39     2011.12.30 07:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0012
2013.02.26 21:22:39     2011.12.30 06:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0012
2013.02.26 21:22:39     2011.12.30 05:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0011
2013.02.26 21:22:39     2011.12.30 04:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0012
2013.02.26 21:22:39     2011.12.30 03:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0012
2013.02.26 21:22:39     2011.12.30 02:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0012
2013.02.26 21:22:39     2011.12.30 01:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0012
2013.02.26 21:22:39     2011.12.30 00:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.29 23:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.29 22:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0014
2013.02.26 21:22:39     2011.12.29 21:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0015
2013.02.26 21:22:39     2011.12.29 20:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0017
2013.02.26 21:22:39     2011.12.29 19:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0018
2013.02.26 21:22:39     2011.12.29 18:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0018
2013.02.26 21:22:39     2011.12.29 17:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0017
2013.02.26 21:22:39     2011.12.29 16:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0016
2013.02.26 21:22:39     2011.12.29 15:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0015
2013.02.26 21:22:39     2011.12.29 14:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0015
2013.02.26 21:22:39     2011.12.29 13:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0014
2013.02.26 21:22:39     2011.12.29 12:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0014
2013.02.26 21:22:39     2011.12.29 11:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0014
2013.02.26 21:22:39     2011.12.29 10:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.29 09:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.29 08:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.29 07:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.29 06:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.29 05:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.29 04:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.29 03:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.29 02:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.29 01:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.29 00:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0013
2013.02.26 21:22:39     2011.12.28 23:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0012
2013.02.26 21:22:39     2011.12.28 22:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.001
2013.02.26 21:22:39     2011.12.28 21:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0007
2013.02.26 21:22:39     2011.12.28 20:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0004
2013.02.26 21:22:39     2011.12.28 19:00  D_Aleks_first_pattern EURUSD,H1: slope = -0.0002
2013.02.26 21:22:39     2011.12.28 18:00  D_Aleks_first_pattern EURUSD,H1: slope = 0
2013.02.26 21:22:39     2011.12.28 17:00  D_Aleks_first_pattern EURUSD,H1: slope = 0
2013.02.26 21:22:39     2011.12.28 16:00  D_Aleks_first_pattern EURUSD,H1: slope = 0.0001
2013.02.26 21:22:39     2011.12.28 15:00  D_Aleks_first_pattern EURUSD,H1: slope = 0.0001
2013.02.26 21:22:39     2011.12.28 14:00  D_Aleks_first_pattern EURUSD,H1: slope = 0.0001
2013.02.26 21:22:39     2011.12.28 13:00  D_Aleks_first_pattern EURUSD,H1: slope = 0.0001
2013.02.26 21:22:39     2011.12.28 12:00  D_Aleks_first_pattern EURUSD,H1: slope = 0.0001
2013.02.26 21:22:39     2011.12.28 11:00  D_Aleks_first_pattern EURUSD,H1: slope = 0.0002
2013.02.26 21:22:39     2011.12.28 10:00  D_Aleks_first_pattern EURUSD,H1: slope = 0.0002
Файлы:
 
Vinin:


Похоже проблема в индикаторе

 


 Вы правы... Но это всего лишь количество баров, которое нужно пересчитать... Странно, почему в данном случает нет возможности получить верное значение.

 Если закомментить данную строку, то всё работает чётко и поправить рассчёт от 0-го бара:

int start()
  {
    int i, countedBars = IndicatorCounted();
    int limit = Bars - countedBars - 1;
    //if (limit > 400) limit = 400;
        
    for(i = limit;i > 0;i--)
    {

Но в предыдущем варианте, при распринтовке то выводилось адекватное значение. А сова брала не адекватное. Почему?

 
hoz:


 Вы правы... Но это всего лишь количество баров, которое нужно пересчитать... Странно, почему в данном случает нет возможности получить верное значение.

 Если закомментить данную строку, то всё работает чётко и поправить рассчёт от 0-го бара:

Но в предыдущем варианте, при распринтовке то выводилось адекватное значение. А сова брала не адекватное. Почему?


Похоже Вы для проверки используете режим визуализации
 
Vinin:

Похоже Вы для проверки используете режим визуализации

Да, и что с того?
 

Помогите найти ошибку, действий не выполняет и ошибку не выдает. Может каких то библиотек у меня не хватает? 

//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
#import "kernel32.dll"
   int _lopen  (string path, int of);
   int _lcreat (string path, int attrib);
   int _llseek (int handle, int offset, int origin);
   int _lread  (int handle, string buffer, int bytes);
   int _lwrite (int handle, string buffer, int bytes);
   int _lclose (int handle);
#import


int start()
 {
 string text ="222222";//текст который собираемся записать или перезаписать в файл
 string pach ="D:\FILE.txt";//путь куда записываем файл или перезаписываем
 WriteFile("D:\FILE.txt", text);//выполнение 
 }
//+------------------------------------------------------------------+
//|  записать содержимое буфера по указанному пути                   |
//+------------------------------------------------------------------+
void WriteFile (string path, string buffer) 
 {
  int count=StringLen(buffer); //Возвращает число символов в строке. 
  int result;
  int handle=_lopen (path,1);
  if(handle<0) //если файл еще не создан то создаем
  {
  handle=_lcreat (path,0);
  result=_lclose (handle);
  }
  handle=_lopen (path,1);     //открываем          
  result=_llseek (handle,0,0);    //ставим указатель      
  result=_lwrite (handle,buffer,count); //записываем
  result=_lclose (handle);       //закрываем файл       
 }
//+------------------------------------------------------------------+  

 Моя система: MT4, Build 451.

Windows 7 Домашняя базовая. 

 
merkulov.artem:

Помогите найти ошибку, действий не выполняет и ошибку не выдает. Может каких то библиотек у меня не хватает? 

 Моя система: MT4, Build 451.

Windows 7 Домашняя базовая. 

распринтуйте handle и result после каждой операции, будете знать что не работает
 
А чем Вас не устраивают стандартные FileXXXXX функции?
 
подскажите как выбрать самый меньший лот среди всех открытых сделок?
 
pasha5282:
подскажите как выбрать самый меньший лот среди всех открытых сделок?


int i, ot = OrdersTotal();
double min=0;
int min_ticket=0;
for(i=0;i<ot;i++)
{
   if(!OrderSelect(i,SELECT_BY_POS)) continue;
   if(OrderType()!=OP_BUY && OrderType()!=OP_SELL) continue;
   if(i==0||min>OrderLots()) {min = OrderLots(); min_ticket=OrderTicket();}
}
Причина обращения: