Ответ
 
Опции темы
Старый 04.05.2014, 11:32   #2801 (permalink)
Новичок форума
 
Аватар для Andy200577
 
Регистрация: 20.06.2012
Сообщений: 57
Репутация: 9
Andy200577
Сказал(а) спасибо: 3
Поблагодарили 8 раз(а) в 6 сообщениях
Поинты: 90
Подскажите пожалуйста ответ на следующий думаю простой вопрос относительно чтения текстового файла. Предположим его содержание простой произвольный набор символов в 3 строки:
21sdfsdf
3323dscdc
fg3vg7hhy

Почему то никак не удаётся добиться, чтобы читались все строки кроме первой:
int handle;
handle=FileOpen("11.txt",FILE_TXT|FILE_READ);
Print(FileReadString(handle));
if (handle != -1) FileClose(handle);

В описании FileReadString написано - "Читает из файла строку с текущего положения файлового указателя." А что такое текущее положение указателя? Каким образом нужно перебирать строки для чтения?
Заранее спасибо.
Andy200577 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 04.05.2014, 11:44   #2802 (permalink)
Местный знаток
 
Аватар для zhserg
 
Регистрация: 16.12.2012
Адрес: Россия, Сибирь
Сообщений: 508
Репутация: 724
zhserg - zhserg - zhserg - zhserg - zhserg - zhserg - zhserg -
Сказал(а) спасибо: 39
Поблагодарили 721 раз(а) в 301 сообщениях
Поинты: 127
Отправить сообщение для zhserg с помощью Skype™
Сообщение от Andy200577 Посмотреть сообщение
Каким образом нужно перебирать строки для чтения?
С помощью цикла. в документации ведь и пример есть. Вот
PHP код:
      //--- прочитаем данные из файла
      
while(!FileIsEnding(file_handle))
        {
         
//--- узнаем сколько символов использовано для записи времени
         
str_size=FileReadInteger(file_handle,INT_VALUE);
         
//--- прочитаем строку
         
str=FileReadString(file_handle,str_size);
         
//--- распечатаем строку
         
PrintFormat(str);
        } 

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
zhserg.ru советники, скрипты, индикаторы на заказ
zhserg на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 05.05.2014, 18:27   #2803 (permalink)
Прохожий
 
Аватар для terron2006
 
Регистрация: 05.03.2014
Сообщений: 2
Репутация: 1
terron2006
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Поинты: 6
Мастера помогите разобраться с функцией закрытия ордеров в наглядной форме на примере советника, ибо иначе до меня не доходит
Ниже код советника, сам советник и индикатор, просьба написать в советнике закрытие ордера, к примеру при закрытии свечи на которой произошел вход в сделку.
Код:
//+------------------------------------------------------------------+
//|                                                   Experts111.mq4 |
//|                                                             dums |
//|                                                                  |
//+------------------------------------------------------------------+
#property copyright "dums"
#property link      ""
#property version   "1.00"
#property strict
extern int    WATR_K = 10;
extern double WATR_M = 4.0;
extern int    ATR=21;
extern int Magic = 123;
extern double Lot=0.01;
extern int SL = 50;
extern int TP = 150;
double Up,Down;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
int kolpos=0;
   Up=iCustom(Symbol(),0,"WATR",WATR_K,WATR_M,ATR,0,0);
   Down=iCustom(Symbol(),0,"WATR",WATR_K,WATR_M,ATR,1,0);
//---
   for(int pos=0; pos<OrdersTotal(); pos++)
     {
      OrderSelect(pos,SELECT_BY_POS,MODE_TRADES);
      if(OrderSymbol()==Symbol() && OrderMagicNumber()==Magic)
         kolpos++;

     }
   if(kolpos==0)

     {
      if(Down<=Ask && Close[1]<Down)
         OrderSend(Symbol(),OP_BUY,Lot,Ask,10,Ask-SL*Point,Ask+TP*Point,NULL,Magic,0,Green);

     }
   return;   
  }
//+------------------------------------------------------------------+
Вложения:
Тип файла: mq4 Experts111.mq4 (2.0 Кб, 10 просмотров)
Тип файла: mq4 WATR.mq4 (5.1 Кб, 9 просмотров)
terron2006 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 09.05.2014, 17:39   #2804 (permalink)
Прохожий
 
Аватар для jekk
 
Регистрация: 14.01.2014
Сообщений: 1
Репутация: 1
jekk
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Поинты: 2

По умолчанию МА 240 ее уровни +200 и - 200 в MQL 4


Доброе время суток! Помогите, пожалуйста. Как можно прописать в советнике сигнал пересечение цены с уровнем +200 (МА 240) на покупку и с уровнем -200 на продажу. Кто знает можно в личку E-mail: vannaja@bk.ru Благодарю заранее! С уважением, Евгений!
jekk вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 10.05.2014, 08:46   #2805 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,255
Репутация: 1963
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,892 раз(а) в 1,069 сообщениях
Поинты: 1276
Отправить сообщение для Ugar с помощью ICQ
Сообщение от jekk Посмотреть сообщение
Доброе время суток! Помогите, пожалуйста. Как можно прописать в советнике сигнал пересечение цены с уровнем +200 (МА 240) на покупку и с уровнем -200 на продажу. Кто знает можно в личку E-mail: vannaja@bk.ru Благодарю заранее! С уважением, Евгений!
Что не ясно, как уровни вычислить или как условие пересечения прописывать?

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 14.05.2014, 13:55   #2806 (permalink)
Активный участник
 
Аватар для Капиталист
 
Регистрация: 30.04.2011
Сообщений: 115
Репутация: 64
Капиталист
Сказал(а) спасибо: 144
Поблагодарили 63 раз(а) в 29 сообщениях
Поинты: 68
Здравствуйте доктора скажите пожалуйста Что означает эта ошибка
08:23:12.277 '261910': order buy stop 0.01 EURUSD opening at 1.37209 sl: 0.00000 tp: 0.00000 failed [Invalid S/L or T/P]
08:23:12.481 '261910': pending order buy stop 0.01 EURUSD at 1.37209 sl: 0.00000 tp: 0.00000
И если можете ребята пожалуйста компельните советника под новый билд, а то он совсем не компелируется то есть компилится с ошибками у меня на сервере на 625 билде не знаю в чём проблема может быть в этой ошибке и на ошибки в коде проверте если не сложно?
спасибо:
Вложения:
Тип файла: mq4 ,ShockBar v.1.3 (1).mq4 (145.2 Кб, 6 просмотров)

Последний раз редактировалось Капиталист; 14.05.2014 в 14:22.
Капиталист на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 15.05.2014, 06:14   #2807 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,255
Репутация: 1963
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,892 раз(а) в 1,069 сообщениях
Поинты: 1276
Отправить сообщение для Ugar с помощью ICQ
Сообщение от Капиталист Посмотреть сообщение
Здравствуйте доктора скажите пожалуйста Что означает эта ошибка
08:23:12.277 '261910': order buy stop 0.01 EURUSD opening at 1.37209 sl: 0.00000 tp: 0.00000 failed [Invalid S/L or T/P]
08:23:12.481 '261910': pending order buy stop 0.01 EURUSD at 1.37209 sl: 0.00000 tp: 0.00000
Скорее всего советник пытается ставить отложенный ордер слишком близко к текущей цене, не проверив возможно ли это.
Вряд ли это связано с новым билдом, скорее всего этой проверки программист вообще не предусматривал. Исправление ошибок, связанных с тем что не компилируется на новом билде, вряд ли поможет от этой ошибки.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Капиталист (15.05.2014)
Старый 01.06.2014, 08:06   #2808 (permalink)
◅ ♛ ♠ ♣ ♥ ♦ ♛ ▻
 
Аватар для tommy27
 
Регистрация: 16.10.2011
Адрес: Новосибирск
Сообщений: 1,054
Репутация: 3189
tommy27 tommy27 tommy27 tommy27 tommy27 tommy27 tommy27 tommy27 tommy27 tommy27 tommy27
Сказал(а) спасибо: 2,326
Поблагодарили 3,184 раз(а) в 875 сообщениях
Поинты: 570
Отправить сообщение для tommy27 с помощью Skype™
Надеюсь не все ещё разъехались по отдыхаловкам и дачам.. нужна помощь:
Не знаю как сделать в индикаторе так, чтобы он сравнивал несколько идущих друг за другом сигналов от его же двух буферов и в новом буфере ставил бы или не ставил стрелки по всей истории показаний, в зависимости от результата сравнения.. как бы объяснить получше... попробую на примере использования индикатора фракталов для отрисовки стрелки в надежде на продолжение тренда - на картинке.
qqmber ранее выкладывал функции для определения параметров заданной стрелки:
PHP код:
//////
int ArrowUpN(int n) {
int cnt=0;
for(
int i=0i<200i++) {
   if(
Up[i]!=0cnt++;
   if(
cnt==n) return(i+2); 
   }
return(-
1);
}
//////
int ArrowDoN(int n) {
int cnt=0;
for(
int i=0i<200i++) {
   if(
Dn[i]!=0cnt++;
   if(
cnt==n) return(i+2); 
   }
return(-
1);

можно сделать с их помощью, но тогда по моему при запуске индюка будет анализироваться только последние фракталы, а надо чтоб анализ с отрисовкой стрелок был по всей истории. HELP!
Миниатюры:
Нажмите на изображение для увеличения
Название: HELP.png
Просмотров: 15
Размер:	29.6 Кб
ID:	166384  
tommy27 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 01.06.2014, 18:45   #2809 (permalink)
◅ ♛ ♠ ♣ ♥ ♦ ♛ ▻
 
Аватар для tommy27
 
Регистрация: 16.10.2011
Адрес: Новосибирск
Сообщений: 1,054
Репутация: 3189
tommy27 tommy27 tommy27 tommy27 tommy27 tommy27 tommy27 tommy27 tommy27 tommy27 tommy27
Сказал(а) спасибо: 2,326
Поблагодарили 3,184 раз(а) в 875 сообщениях
Поинты: 570
Отправить сообщение для tommy27 с помощью Skype™
Вот такие мысли появились: ...допустим, что все фракталы хранятся в одном буфере индюка, тогда может быть сделать массив размером к примеру [1000] и загнать туда Time[] всех баров с фракталами, а потом в отдельном цикле уже определять - если значение выше хая значит верхний, ниже-нижний и далее сравнивать соседние ячейки на предмет нужной конфигурации... как то так.. или может есть вариант проще.. а если лучше так, то как..?
tommy27 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 01.06.2014, 20:58   #2810 (permalink)
Почётный гражданин
 
Аватар для Alekcc
 
Регистрация: 09.04.2014
Сообщений: 117
Репутация: 487
Alekcc - Alekcc - Alekcc - Alekcc - Alekcc -
Сказал(а) спасибо: 335
Поблагодарили 486 раз(а) в 90 сообщениях
Поинты: 34

По умолчанию индикаторы


Добрый вечер.
Подскажите пожалуйста , что нужно делать при таком коде и ошибках при переводе в 646 билд.
Заранее благодарен.
============================
IndicatorShortName("5_34_5");

SetIndexDrawBegin(0,TrendBuffer);
SetIndexDrawBegin(1,LoBuffer);

return(0);
}
===================================
'TrendBuffer' - invalid array access 5_34_5.mq4 44 24
'LoBuffer' - invalid array access 5_34_5.mq4 45 24
2 error(s), 0 warning(s) 3 1
Alekcc вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 02.06.2014, 08:45   #2811 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,255
Репутация: 1963
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,892 раз(а) в 1,069 сообщениях
Поинты: 1276
Отправить сообщение для Ugar с помощью ICQ
Сообщение от Alekcc Посмотреть сообщение
Добрый вечер.
Подскажите пожалуйста , что нужно делать при таком коде и ошибках при переводе в 646 билд.
Заранее благодарен.
============================
IndicatorShortName("5_34_5");

SetIndexDrawBegin(0,TrendBuffer);
SetIndexDrawBegin(1,LoBuffer);

return(0);
}
===================================
'TrendBuffer' - invalid array access 5_34_5.mq4 44 24
'LoBuffer' - invalid array access 5_34_5.mq4 45 24
2 error(s), 0 warning(s) 3 1
В этом коде ничего не надо делать.
Приводить надо весь код. А начинать искать ошибки стоит с 44 и 45 строчек.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Alekcc (02.06.2014)
Старый 02.06.2014, 14:04   #2812 (permalink)
◅ ♛ ♠ ♣ ♥ ♦ ♛ ▻
 
Аватар для tommy27
 
Регистрация: 16.10.2011
Адрес: Новосибирск
Сообщений: 1,054
Репутация: 3189
tommy27 tommy27 tommy27 tommy27 tommy27 tommy27 tommy27 tommy27 tommy27 tommy27 tommy27
Сказал(а) спасибо: 2,326
Поблагодарили 3,184 раз(а) в 875 сообщениях
Поинты: 570
Отправить сообщение для tommy27 с помощью Skype™
Загнал дату и цену фракталов в массивы, а значения в них с появлением очередного фрактала почему то не обновляются, только если ТФ попереключать обновятся. Что не так сделал?

Скрытый текст

PHP код:
//+------------------------------------------------------------------+
//|                                                    iFractals.mq4 |
//+------------------------------------------------------------------+

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 RoyalBlue
#property  indicator_width1  1
#property  indicator_width2  1

//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[],buf;

double bufUpPrice[500];  //массив цен Up фракталов
double bufUpDate[500];   //массив дат Up фракталов
double bufDownPrice[500];   //массив цен Down фракталов
double bufDownDate[500]; //массив дат Down фракталов
int Up 0//счетчик Up фракталов
int Down 0;  //счетчик Down фракталов
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   
SetIndexStyle(0DRAW_ARROW);
   
SetIndexArrow(0,217);
   
SetIndexBuffer(0ExtMapBuffer1);
   
SetIndexEmptyValue(00.0);
   
SetIndexStyle(1DRAW_ARROW);
   
SetIndexArrow(1218);
   
SetIndexBuffer(1ExtMapBuffer2);
   
SetIndexEmptyValue(10.0);
//---- name for DataWindow and indicator subwindow label
   
IndicatorShortName("iFractals");
   
SetIndexLabel(0"iFractalsUp");
   
SetIndexLabel(1"iFractalsDn");
//----
   
return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   
int counted_bars IndicatorCounted();
//----
     
int limit;
  
//---- последний посчитанный бар будет пересчитан
     
if(counted_bars 0
         
counted_bars--;
     
limit Bars counted_bars;
  
//---- основной цикл
     
for(int i 2limiti++)
       {
         
ExtMapBuffer1[i] = iFractals(NULL0MODE_UPPERi);
         
buf=iFractals(NULL0MODE_UPPERi);
         if (
buf!=0)
          {
            
Up++;
            
bufUpPrice[Up]=iFractals(NULL0MODE_UPPERi);
            
bufUpDate[Up]=Time[i];
          }
         
ExtMapBuffer2[i] = iFractals(NULL0MODE_LOWERi);
         
buf=iFractals(NULL0MODE_LOWERi);
         if (
buf!=0)
          {
            
Down++;
            
bufDownPrice[Down]=iFractals(NULL0MODE_LOWERi);
            
bufDownDate[Down]=Time[i];
          }
          
        
        }
    
    if(
IsNewBar()){RefreshRates();coment();}
        
//----
   
return(0);
  }
//+------------------------------------------------------------------+
////////////////////
bool IsNewBar()
 {
  static 
int nBars 0;
  if (
nBars == 0
   {
    
nBars Bars;
    return(
false);
   }
  if (
nBars != Bars)
   {
    
nBars Bars;
    return(
true);
   }
  return(
false);
 }
////////////////////
void coment()
{
 
string st=
            
bufUpPrice[1]+" - "+bufUpDate[1]+"\n"+
            
bufUpPrice[2]+" - "+bufUpDate[2]+"\n"+
            
bufUpPrice[3]+" - "+bufUpDate[3]+"\n"+
            
            
bufDownPrice[1]+" - "+bufDownDate[1]+"\n"+
            
bufDownPrice[2]+" - "+bufDownDate[2]+"\n"+
            
bufDownPrice[3]+" - "+bufDownDate[3];
         
Comment(st);
 

[свернуть]
tommy27 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 04.06.2014, 13:40   #2813 (permalink)
Активный участник
 
Аватар для kot287
 
Регистрация: 14.06.2012
Сообщений: 129
Репутация: 89
kot287
Сказал(а) спасибо: 118
Поблагодарили 88 раз(а) в 52 сообщениях
Поинты: 110
Уважаемые! Нет ли у кого фукции корреляции 2-х ФИ?
kot287 на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 04.06.2014, 14:24   #2814 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,525
Репутация: 3645
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,113
Поблагодарили 3,649 раз(а) в 1,470 сообщениях
Поинты: 2007
Сообщение от tommy27 Посмотреть сообщение
Загнал дату и цену фракталов в массивы, а значения в них с появлением очередного фрактала почему то не обновляются, только если ТФ попереключать обновятся. Что не так сделал?

Скрытый текст

PHP код:
//+------------------------------------------------------------------+
//|                                                    iFractals.mq4 |
//+------------------------------------------------------------------+

#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 Red
#property indicator_color2 RoyalBlue
#property  indicator_width1  1
#property  indicator_width2  1

//---- buffers
double ExtMapBuffer1[];
double ExtMapBuffer2[],buf;

double bufUpPrice[500];  //массив цен Up фракталов
double bufUpDate[500];   //массив дат Up фракталов
double bufDownPrice[500];   //массив цен Down фракталов
double bufDownDate[500]; //массив дат Down фракталов
int Up 0//счетчик Up фракталов
int Down 0;  //счетчик Down фракталов
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   
SetIndexStyle(0DRAW_ARROW);
   
SetIndexArrow(0,217);
   
SetIndexBuffer(0ExtMapBuffer1);
   
SetIndexEmptyValue(00.0);
   
SetIndexStyle(1DRAW_ARROW);
   
SetIndexArrow(1218);
   
SetIndexBuffer(1ExtMapBuffer2);
   
SetIndexEmptyValue(10.0);
//---- name for DataWindow and indicator subwindow label
   
IndicatorShortName("iFractals");
   
SetIndexLabel(0"iFractalsUp");
   
SetIndexLabel(1"iFractalsDn");
//----
   
return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   
int counted_bars IndicatorCounted();
//----
     
int limit;
  
//---- последний посчитанный бар будет пересчитан
     
if(counted_bars 0
         
counted_bars--;
     
limit Bars counted_bars;
  
//---- основной цикл
     
for(int i 2limiti++)
       {
         
ExtMapBuffer1[i] = iFractals(NULL0MODE_UPPERi);
         
buf=iFractals(NULL0MODE_UPPERi);
         if (
buf!=0)
          {
            
Up++;
            
bufUpPrice[Up]=iFractals(NULL0MODE_UPPERi);
            
bufUpDate[Up]=Time[i];
          }
         
ExtMapBuffer2[i] = iFractals(NULL0MODE_LOWERi);
         
buf=iFractals(NULL0MODE_LOWERi);
         if (
buf!=0)
          {
            
Down++;
            
bufDownPrice[Down]=iFractals(NULL0MODE_LOWERi);
            
bufDownDate[Down]=Time[i];
          }
          
        
        }
    
    if(
IsNewBar()){RefreshRates();coment();}
        
//----
   
return(0);
  }
//+------------------------------------------------------------------+
////////////////////
bool IsNewBar()
 {
  static 
int nBars 0;
  if (
nBars == 0
   {
    
nBars Bars;
    return(
false);
   }
  if (
nBars != Bars)
   {
    
nBars Bars;
    return(
true);
   }
  return(
false);
 }
////////////////////
void coment()
{
 
string st=
            
bufUpPrice[1]+" - "+bufUpDate[1]+"\n"+
            
bufUpPrice[2]+" - "+bufUpDate[2]+"\n"+
            
bufUpPrice[3]+" - "+bufUpDate[3]+"\n"+
            
            
bufDownPrice[1]+" - "+bufDownDate[1]+"\n"+
            
bufDownPrice[2]+" - "+bufDownDate[2]+"\n"+
            
bufDownPrice[3]+" - "+bufDownDate[3];
         
Comment(st);
 

[свернуть]
Фракталы на нулевом баре не бывают. Или на втором, но может и пропасть или на третьем, не пропадёт. Соответственно фрактал надо искать на i+2 или i+3 баре.
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 04.06.2014, 14:58   #2815 (permalink)
◅ ♛ ♠ ♣ ♥ ♦ ♛ ▻
 
Аватар для tommy27
 
Регистрация: 16.10.2011
Адрес: Новосибирск
Сообщений: 1,054
Репутация: 3189
tommy27 tommy27 tommy27 tommy27 tommy27 tommy27 tommy27 tommy27 tommy27 tommy27 tommy27
Сказал(а) спасибо: 2,326
Поблагодарили 3,184 раз(а) в 875 сообщениях
Поинты: 570
Отправить сообщение для tommy27 с помощью Skype™
Сообщение от AlexeyVik Посмотреть сообщение
Фракталы на нулевом баре не бывают. Или на втором, но может и пропасть или на третьем, не пропадёт. Соответственно фрактал надо искать на i+2 или i+3 баре.
так и есть:
PHP код:
for(int i 2limiti++) 
в общем то решение уже нашел, но почему не обновляются массивы всё таки не пойму, хоть они уже и не нужны, но хотелось бы разобраться на будущее

Последний раз редактировалось tommy27; 04.06.2014 в 15:02.
tommy27 вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 04.06.2014, 16:05   #2816 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,525
Репутация: 3645
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,113
Поблагодарили 3,649 раз(а) в 1,470 сообщениях
Поинты: 2007
Сообщение от tommy27 Посмотреть сообщение
так и есть:
PHP код:
for(int i 2limiti++) 
в общем то решение уже нашел, но почему не обновляются массивы всё таки не пойму, хоть они уже и не нужны, но хотелось бы разобраться на будущее
Ну я не подумал что можно и так написать, поэтому и не обратил внимания.
Код:
int counted_bars = IndicatorCounted(); 
//---- 
     int limit; 
  //---- последний посчитанный бар будет пересчитан 
     if(counted_bars > 0)  
         counted_bars--; 
     limit = Bars - counted_bars; 
  //---- основной цикл 
     for(int i = 2; i < limit; i++) 
       { 
int counted_bars = IndicatorCounted() это количество посчитанных баров. Соответственно когда все бары посчитаны то limit будет равен нулю. А ты цикл поставил от i = 2 пока i меньше нуля... Да ещё и увеличение i++

Последний раз редактировалось AlexeyVik; 04.06.2014 в 16:07.
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
Dom (05.06.2014), tommy27 (05.06.2014)
Старый 05.06.2014, 17:01   #2817 (permalink)
Местный знаток
 
Аватар для abuuuuuu
 
Регистрация: 08.08.2013
Сообщений: 287
Репутация: 717
abuuuuuu - abuuuuuu - abuuuuuu - abuuuuuu - abuuuuuu - abuuuuuu - abuuuuuu -
Сказал(а) спасибо: 3,099
Поблагодарили 716 раз(а) в 162 сообщениях
Поинты: 16
как написать стрелочный советник или у кого то есть шаблон только не предлагайте exp_icustom заранее благодарен
abuuuuuu вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 06.06.2014, 14:29   #2818 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,255
Репутация: 1963
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 349
Поблагодарили 1,892 раз(а) в 1,069 сообщениях
Поинты: 1276
Отправить сообщение для Ugar с помощью ICQ
Сообщение от abuuuuuu Посмотреть сообщение
как написать стрелочный советник или у кого то есть шаблон только не предлагайте exp_icustom заранее благодарен
1 варинт:
a) Выучить язык программирования
б) сформулировать алгоритм работы советника
в) написать и проверить

2 варинт:
а) сформулировать алгоритм работы советника
б) Обратиться с просьбой написать бесплатно в ветку
Предложения по автоматизации торговли
в) Подождать. Может кому то из программистов станет интересно, тогда напишут.

Есть ещё платный вариант, но ему здесь не место.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
abuuuuuu (06.06.2014), zhserg (06.06.2014)
Старый 07.06.2014, 04:34   #2819 (permalink)
Местный знаток
За призовое место в конкурсе 

 
Аватар для ansol
 
Регистрация: 22.04.2010
Сообщений: 2,009
Репутация: 829
ansol - ansol - ansol - ansol - ansol - ansol - ansol -
Сказал(а) спасибо: 236
Поблагодарили 843 раз(а) в 554 сообщениях
Поинты: 1308
Сообщение от abuuuuuu Посмотреть сообщение
как написать стрелочный советник или у кого то есть шаблон только не предлагайте exp_icustom заранее благодарен
"Стрелочный" - это что значит? Может вам следует с объекта "стрелка" брать данные и на ейной основе открывать сделки? Оно?
Тогда посмотрите список объектов в свойствах графика и выберите нужные(которые "стрелки")
Или объясняйте толком, что нужно
ansol на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 07.06.2014, 06:08   #2820 (permalink)
Местный знаток
 
Аватар для abuuuuuu
 
Регистрация: 08.08.2013
Сообщений: 287
Репутация: 717
abuuuuuu - abuuuuuu - abuuuuuu - abuuuuuu - abuuuuuu - abuuuuuu - abuuuuuu -
Сказал(а) спасибо: 3,099
Поблагодарили 716 раз(а) в 162 сообщениях
Поинты: 16
Сообщение от ansol Посмотреть сообщение
"Стрелочный" - это что значит? Может вам следует с объекта "стрелка" брать данные и на ейной основе открывать сделки? Оно?
Тогда посмотрите список объектов в свойствах графика и выберите нужные(которые "стрелки")
Или объясняйте толком, что нужно
есть стрелочный индикатор по нему нужно написать советника но как это сделать я не знаю
abuuuuuu вне форума   Ответить с цитированиемОтветить с цитированием  
Ответ

Метки
mql4, mql4 помощь, вопросы mql4


Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Выкл.
Pingbacks are Выкл.
Refbacks are Выкл.



Текущее время: 05:57. Часовой пояс GMT.


Перевод: zCarot
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.
SEO by vBSEO