Ответ
 
Опции темы
Старый 09.02.2014, 15:32   #2581 (permalink)
Местный знаток
За призовое место в конкурсе 

 
Аватар для ansol
 
Регистрация: 22.04.2010
Сообщений: 2,009
Репутация: 828
ansol - ansol - ansol - ansol - ansol - ansol - ansol -
Сказал(а) спасибо: 236
Поблагодарили 842 раз(а) в 554 сообщениях
Поинты: 1308
Проблема в том, что мой тупой советник очень сильно зависит от ДЦ и если я исправлю(или не исправлю) советник, то могу сильно угореть на бабло
ansol на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 09.02.2014, 15:32   #2582 (permalink)
Почётный гражданин
 
Аватар для qqmber
 
Регистрация: 20.01.2013
Сообщений: 530
Репутация: 386
qqmber - qqmber - qqmber - qqmber -
Сказал(а) спасибо: 57
Поблагодарили 386 раз(а) в 254 сообщениях
Поинты: 439
Сообщение от ansol Посмотреть сообщение
Да! И если метаквоты правы, то вы знаете, от какого ДЦ эта папка, да?
Я вот и не знаю. Помогите!
В папке лежит origin.txt

Последний раз редактировалось NSerega; 09.02.2014 в 16:37.
qqmber вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 09.02.2014, 15:35   #2583 (permalink)
Местный знаток
За призовое место в конкурсе 

 
Аватар для ansol
 
Регистрация: 22.04.2010
Сообщений: 2,009
Репутация: 828
ansol - ansol - ansol - ansol - ansol - ansol - ansol -
Сказал(а) спасибо: 236
Поблагодарили 842 раз(а) в 554 сообщениях
Поинты: 1308
Сообщение от qqmber Посмотреть сообщение
В папке лежит origin.txt
Это я заметил!
Только этот файл сам не открывается даже при входе в папку.

Последний раз редактировалось NSerega; 09.02.2014 в 16:39.
ansol на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 09.02.2014, 15:37   #2584 (permalink)
Разрушитель Граалей :)
 
Аватар для ShadowCandle
 
Регистрация: 22.04.2012
Адрес: Россия
Сообщений: 1,986
Репутация: 2391
ShadowCandle ShadowCandle ShadowCandle ShadowCandle ShadowCandle ShadowCandle ShadowCandle ShadowCandle ShadowCandle ShadowCandle ShadowCandle
Сказал(а) спасибо: 2,177
Поблагодарили 2,393 раз(а) в 1,045 сообщениях
Поинты: 936
Сообщение от ansol Посмотреть сообщение
Врать нехорошо!
Ничего похожего нет и не было никогда! Если приложение называется "Уродыинста", то и папка будет называться в "документс энд сеттингз" как "уродыинста", не не как в вышеприведенном примере!
Вот это:
2E6A005861382433BE12963DE9029B61
Придумали идиоты метаквоты.
Попробуйте доказать обратное
А вам не кажется, что вы сами нарываетесь на такое отношение, я вам говорю как есть, а вы меня просите что-то вам доказывать? Я обязан это делать? Я вам пытаюсь помочь прояснить ситуацию, а вы меня начинаете проверять на правду?
С таким отношением флаг вам в руки...

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Никогда не спорьте с идиотами. Вы опуститесь до их уровня, где они задавят вас своим опытом (С) Марк Твен

Последний раз редактировалось NSerega; 09.02.2014 в 16:38.
ShadowCandle на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
AlexeyVik (09.02.2014)
Старый 09.02.2014, 15:39   #2585 (permalink)
Местный знаток
За призовое место в конкурсе 

 
Аватар для ansol
 
Регистрация: 22.04.2010
Сообщений: 2,009
Репутация: 828
ansol - ansol - ansol - ansol - ansol - ansol - ansol -
Сказал(а) спасибо: 236
Поблагодарили 842 раз(а) в 554 сообщениях
Поинты: 1308
Вообще, борьба с исходниками выглядит уныло. Когда-нибудь этот позор уйдет с лица Земли, возможно, вместе с человечеством.
Например, если я не хочу, чтобы мой бутерброд съели, то я его не буду выкладывать в коридоре. Таким образом, у меня его(бутерброд) можно только забрать с уголовно наказуемыми деяниями, например, морду набить.
ansol на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
eevviill (10.02.2014)
Старый 09.02.2014, 16:57   #2586 (permalink)
Прохожий
 
Аватар для hmpr
 
Регистрация: 02.10.2012
Сообщений: 2
Репутация: 1
hmpr
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Поинты: 4
Здравствуйте. Помогите решить такую задачу: при написании индикатора необходимо, чтобы он прибавлял значение индикатора нулевого бара (например столбец MACD) к значению индикатора 1-го, 1-го к 2-го и т.д. Как это можно реализовать? Уже неделю бьюсь безрезультатно. Помогите пожалуйста.
hmpr вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 09.02.2014, 17:49   #2587 (permalink)
Dom
 
Аватар для Dom
 
Регистрация: 09.03.2009
Сообщений: 1,032
Репутация: 2472
Dom Dom Dom Dom Dom Dom Dom Dom Dom Dom Dom
Сказал(а) спасибо: 204
Поблагодарили 2,473 раз(а) в 783 сообщениях
Поинты: 178
Подскажите пожалуйста, кто знает, как понять строку arrays passed by reference only(массивы передаются только по ссылке).Это после компиляции советника в новом билде.
Dom вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 09.02.2014, 17:56   #2588 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,252
Репутация: 1962
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 347
Поблагодарили 1,891 раз(а) в 1,068 сообщениях
Поинты: 1270
Отправить сообщение для Ugar с помощью ICQ
Сообщение от hmpr Посмотреть сообщение
Здравствуйте. Помогите решить такую задачу: при написании индикатора необходимо, чтобы он прибавлял значение индикатора нулевого бара (например столбец MACD) к значению индикатора 1-го, 1-го к 2-го и т.д. Как это можно реализовать? Уже неделю бьюсь безрезультатно. Помогите пожалуйста.
Так как 0 бар меняется, придётся пересчитывать все бары что бы они то же менялись.
Значит меняем limit=Bars-counted_bars; на limit=Bars;

В MACD быры перебираются от 0. Значит при расчёте всех остальных баров, значение 0 уже посчитано, нужно просто прибавить.
Вместо
Код:
for(int i=0; i<limit; i++)
      MacdBuffer[i]=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i);
делаем
Код:
for(int i=0; i<limit; i++)
{     MacdBuffer[i]=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i);
if(i>0)MacdBuffer[i]=MacdBuffer[i]+MacdBuffer[0];
}
Как то так.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 09.02.2014, 18:04   #2589 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,252
Репутация: 1962
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 347
Поблагодарили 1,891 раз(а) в 1,068 сообщениях
Поинты: 1270
Отправить сообщение для Ugar с помощью ICQ
Сообщение от Dom Посмотреть сообщение
Подскажите пожалуйста, кто знает, как понять строку arrays passed by reference only(массивы передаются только по ссылке).Это после компиляции советника в новом билде.
Должно работать и так. Если раздражает, можно поставить & перед именем массива в той строке.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
Dom (09.02.2014), R2911 (07.06.2014)
Старый 09.02.2014, 18:32   #2590 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,517
Репутация: 3643
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,109
Поблагодарили 3,647 раз(а) в 1,468 сообщениях
Поинты: 2004
Сообщение от Ugar Посмотреть сообщение
Сообщение от hmpr Посмотреть сообщение
Здравствуйте. Помогите решить такую задачу: при написании индикатора необходимо, чтобы он прибавлял значение индикатора нулевого бара (например столбец MACD) к значению индикатора 1-го, 1-го к 2-го и т.д. Как это можно реализовать? Уже неделю бьюсь безрезультатно. Помогите пожалуйста.
Так как 0 бар меняется, придётся пересчитывать все бары что бы они то же менялись.
Значит меняем limit=Bars-counted_bars; на limit=Bars;

В MACD быры перебираются от 0. Значит при расчёте всех остальных баров, значение 0 уже посчитано, нужно просто прибавить.
Вместо
Код:
for(int i=0; i<limit; i++)
      MacdBuffer[i]=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i);
делаем
Код:
for(int i=0; i<limit; i++)
{     MacdBuffer[i]=iMA(NULL,0,FastEMA,0,MODE_EMA,PRICE_CLOSE,i)-iMA(NULL,0,SlowEMA,0,MODE_EMA,PRICE_CLOSE,i);
if(i>0)MacdBuffer[i]=MacdBuffer[i]+MacdBuffer[0];
}
Как то так.
Андрей, ты наверное сегодня чуток перебрал, или я ничего не понял из твоего кода. Зачем такие нагрузки на комп?
Почему не использовать дополнительный буфер IndicatorBuffers(3); где #property indicator_buffers 2 (для MACD) и в него писать сумму показаний нулевого и первого баров. Дальше эти значения можно использовать для расчётов.
А дальше по необходимости, если надо эти показания рисовать, то можно добавить #property indicator_buffers 3 и эти значения будут отображаться.
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Ugar (09.02.2014)
Старый 09.02.2014, 19:02   #2591 (permalink)
Dom
 
Аватар для Dom
 
Регистрация: 09.03.2009
Сообщений: 1,032
Репутация: 2472
Dom Dom Dom Dom Dom Dom Dom Dom Dom Dom Dom
Сказал(а) спасибо: 204
Поблагодарили 2,473 раз(а) в 783 сообщениях
Поинты: 178
Сообщение от Ugar Посмотреть сообщение
Должно работать и так. Если раздражает, можно поставить & перед именем массива в той строке.
Понял, спасибо.
Dom вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 09.02.2014, 19:04   #2592 (permalink)
Прохожий
 
Аватар для secotr
 
Регистрация: 09.02.2014
Сообщений: 2
Репутация: 2
secotr
Сказал(а) спасибо: 1
Поблагодарили 1 раз в 1 сообщении
Поинты: 4
Помогите плиз! Перестала работать функция FileWriteArray... в файл записывает без данных ((( После обновления работа с файлами не корректная...
Код:
void OnTimer()
  {
//---
      int total = OrdersTotal();
      ArrayResize(orders_arr, total);
      
      for(int i=0; i<total; i++)
      {
         if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
         {
            orders_arr[i].num_account = AccountNumber();
            orders_arr[i].num_order = OrderTicket();
            orders_arr[i].symbol = OrderSymbol();
            orders_arr[i].order_type = OrderType();
         }
         Print(orders_arr[i].num_account," ",orders_arr[i].num_order," ",orders_arr[i].symbol," ",orders_arr[i].order_type);
      }
      
      ResetLastError();
      int handle=FileOpen(FileName,FILE_WRITE|FILE_BIN);
      if(handle!=INVALID_HANDLE)
      {
         FileSeek(handle,0,SEEK_SET);
         FileWriteArray(handle,orders_arr,0,WHOLE_ARRAY);
         FileClose(handle);
      }
      else Print("Failed to open the file, error ",GetLastError());
      
   
  }
Может я конечно где-то туплю...
secotr вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Ugar (10.02.2014)
Старый 09.02.2014, 19:06   #2593 (permalink)
Элитный участник
 
Аватар для Ugar
 
Регистрация: 13.03.2009
Сообщений: 2,252
Репутация: 1962
Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar Ugar
Сказал(а) спасибо: 347
Поблагодарили 1,891 раз(а) в 1,068 сообщениях
Поинты: 1270
Отправить сообщение для Ugar с помощью ICQ
Сообщение от AlexeyVik Посмотреть сообщение
Андрей, ты наверное сегодня чуток перебрал, или я ничего не понял из твоего кода. Зачем такие нагрузки на комп?
Почему не использовать дополнительный буфер IndicatorBuffers(3); где #property indicator_buffers 2 (для MACD) и в него писать сумму показаний нулевого и первого баров. Дальше эти значения можно использовать для расчётов.
А дальше по необходимости, если надо эти показания рисовать, то можно добавить #property indicator_buffers 3 и эти значения будут отображаться.
Мой вариант проще в реализации. Если человек задаёт вопросы, думаю ему это немаловажно.
Твой вариант конечно экономнее по ресурсам компа. Хотя и в этом варианте можно ограничить длину буфера, для ещё большей экономии.

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Глубокое понимание процессов помогает в работе, но сильно мешает в отдыхе.
http://forexsystems.ru/signaturepics/sigpic3798_1.gif
Чужие программы не переделываю!
Ugar на форуме   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
AlexeyVik (09.02.2014)
Старый 09.02.2014, 20:45   #2594 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,517
Репутация: 3643
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,109
Поблагодарили 3,647 раз(а) в 1,468 сообщениях
Поинты: 2004
Сообщение от secotr Посмотреть сообщение
Помогите плиз! Перестала работать функция FileWriteArray... в файл записывает без данных ((( После обновления работа с файлами не корректная...

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

Код:
void OnTimer()
  {
//---
      int total = OrdersTotal();
      ArrayResize(orders_arr, total);
      
      for(int i=0; i<total; i++)
      {
         if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
         {
            orders_arr[i].num_account = AccountNumber();
            orders_arr[i].num_order = OrderTicket();
            orders_arr[i].symbol = OrderSymbol();
            orders_arr[i].order_type = OrderType();
         }
         Print(orders_arr[i].num_account," ",orders_arr[i].num_order," ",orders_arr[i].symbol," ",orders_arr[i].order_type);
      }
      
      ResetLastError();
      int handle=FileOpen(FileName,FILE_WRITE|FILE_BIN);
      if(handle!=INVALID_HANDLE)
      {
         FileSeek(handle,0,SEEK_SET);
         FileWriteArray(handle,orders_arr,0,WHOLE_ARRAY);
         FileClose(handle);
      }
      else Print("Failed to open the file, error ",GetLastError());
      
   
  }
[свернуть]
Может я конечно где-то туплю...
Обрати внимание на
Цитата:
раньше файлы всегда открывались в режиме FILE_SHARE_READ, FILE_SHARE_WRITE, теперь желательный режим открытия нужно указывать явно.
Это из справки. Может в этом проблема? Пока я не касался этого. Советник в котором есть запись в файл работает ещё на 509 билде. Сегодня тоже запустился без обновления. Теперь до следующих выходных будет жить в 509.
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 09.02.2014, 21:16   #2595 (permalink)
Прохожий
 
Аватар для secotr
 
Регистрация: 09.02.2014
Сообщений: 2
Репутация: 2
secotr
Сказал(а) спасибо: 1
Поблагодарили 1 раз в 1 сообщении
Поинты: 4
Сообщение от AlexeyVik Посмотреть сообщение
Обрати внимание на
Это из справки. Может в этом проблема? Пока я не касался этого. Советник в котором есть запись в файл работает ещё на 509 билде. Сегодня тоже запустился без обновления. Теперь до следующих выходных будет жить в 509.
Увы... Если с FILE_WRITE файл записывается, хотя и пустой, то с FILE_SHARE_WRITE вообще никакой реакции... причем handle нормальный! Так же проблема если вместо массива писать построчно с FILE_TXT, вообще не открывается и выдает 5004 ошибку... Пипец они накрутили...
secotr вне форума   Ответить с цитированиемОтветить с цитированием  
Старый 10.02.2014, 06:28   #2596 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,517
Репутация: 3643
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,109
Поблагодарили 3,647 раз(а) в 1,468 сообщениях
Поинты: 2004
Сообщение от secotr Посмотреть сообщение
Увы... Если с FILE_WRITE файл записывается, хотя и пустой, то с FILE_SHARE_WRITE вообще никакой реакции... причем handle нормальный! Так же проблема если вместо массива писать построчно с FILE_TXT, вообще не открывается и выдает 5004 ошибку... Пипец они накрутили...
Нам обоим стоит быть повнимательней. Из справки
Цитата:
Записывает в файл типа BIN массивы любых типов, кроме строковых (может быть массив структур, не содержащих строки и динамические массивы).
В твоём массиве orders_arr[i].symbol = OrderSymbol();
А FILE_SHARE_WRITE мне кажется используется совместно с FILE_WRITE в комбинации флагов. Но учитывая наши потребности вряд-ли будет необходимость совместного использования файла.

Последний раз редактировалось AlexeyVik; 10.02.2014 в 06:32.
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
2 пользователя(ей) сказали cпасибо:
secotr (10.02.2014), Ugar (10.02.2014)
Старый 10.02.2014, 07:44   #2597 (permalink)
Заблокирован
За второе место в конкурсе 

 
Аватар для eevviill
 
Регистрация: 30.07.2009
Сообщений: 5,474
Репутация: 9022
eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill
Сказал(а) спасибо: 13,680
Поблагодарили 9,022 раз(а) в 3,179 сообщениях
Поинты: 1105
Отправить сообщение для eevviill с помощью Skype™
Сообщение от Dom Посмотреть сообщение
Подскажите пожалуйста, кто знает, как понять строку arrays passed by reference only(массивы передаются только по ссылке).Это после компиляции советника в новом билде.
Сам начал разбиратся. Еле накопал информацию и казалось уже понял. Но тут наткнулся на пример с журнала fortrader. Хороший пример. Но правильный на 95 или 100%.

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

Передача параметров в функцию по ссылке (по адресу)
Эта вещь прекрасно известна программистам на любом из универсальных языков программирования,
например, на C, а ещё более на C++. Напишем самый простейший советник
(файл t2.mq4 — здесь и далее имена тестовых примеров в прилагаемом архиве), и поместим его на
график любой валютной пары:
PHP код:
int start() {
static 
int nTick 0;
IncnTick );
Alert«новый тик № » nTick );
}
//—————————————
void Incint n ) { n++; } 
Результатом выполнения будет непрерывное повторение одного и того же результата: «новый тик №0»… Переданное в функцию значение n изменяется там, но это не производит
никакого влияния на внешнее окружение функции (вызвавшую функцию
start()) — в функцию передаётся копия переменной nTick, так обычно работает вызов функций в MQL4.
PHP код:
Добавим один символ (&) в описание функции Inc() :
void Incint) { n++; }
Выполнение советника радикально изменится:
новый тик № 1
новый тик № 2
новый тик № 3
… 
Значок & указал, что в функцию нужно передать не копию, а оригинал переменной nTick, и все изменения, проделанные над этой переменной внутри функции, будут отражаться
на значении этой переменной снаружи функции. Такое
поведение называют побочный эффект функции.
[свернуть]

Мне кажется что в первом варианте не
будет алерт выдавать постоянно новый тик 0. Или будет?

Всё. Понял.
Если в функции написать nTick++; то будет увеличиватся значение в алерте. А так просто поработали с данными передаными и не изменили сами данные. Если надо менять сами данные которые передаются то перед вводной переменной в функции надо ставить &

Последний раз редактировалось eevviill; 10.02.2014 в 07:56.
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Dom (10.02.2014)
Старый 10.02.2014, 08:05   #2598 (permalink)
Программист mql4 mql5
 
Аватар для AlexeyVik
 
Регистрация: 19.11.2009
Сообщений: 2,517
Репутация: 3643
AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik AlexeyVik
Сказал(а) спасибо: 1,109
Поблагодарили 3,647 раз(а) в 1,468 сообщениях
Поинты: 2004
Сообщение от eevviill Посмотреть сообщение
Сам начал разбиратся. Еле накопал информацию и казалось уже понял. Но тут наткнулся на пример с журнала fortrader. Хороший пример. Но правильный на 95 или 100%.

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

Передача параметров в функцию по ссылке (по адресу)
Эта вещь прекрасно известна программистам на любом из универсальных языков программирования,
например, на C, а ещё более на C++. Напишем самый простейший советник
(файл t2.mq4 — здесь и далее имена тестовых примеров в прилагаемом архиве), и поместим его на
график любой валютной пары:
PHP код:
int start() {
static 
int nTick 0;
IncnTick );
Alert«новый тик № » nTick );
}
//—————————————
void Incint n ) { n++; } 
Результатом выполнения будет непрерывное повторение одного и того же результата: «новый тик №0»… Переданное в функцию значение n изменяется там, но это не производит
никакого влияния на внешнее окружение функции (вызвавшую функцию
start()) — в функцию передаётся копия переменной nTick, так обычно работает вызов функций в MQL4.
PHP код:
Добавим один символ (&) в описание функции Inc() :
void Incint) { n++; }
Выполнение советника радикально изменится:
новый тик № 1
новый тик № 2
новый тик № 3
… 
Значок & указал, что в функцию нужно передать не копию, а оригинал переменной nTick, и все изменения, проделанные над этой переменной внутри функции, будут отражаться
на значении этой переменной снаружи функции. Такое
поведение называют побочный эффект функции.
[свернуть]

Мне кажется что в первом варианте не
будет алерт выдавать постоянно новый тик 0. Или будет?

Всё. Понял.
Если в функции написать nTick++; то будет увеличиватся значение в алерте. А так просто поработали с данными передаными и не изменили сами данные. Если надо менять сами данные которые передаются то перед вводной переменной в функции надо ставить &
Если в функции написать nTick++; то будет ошибка компиляции потому что переменная nTick локальна для функции start() не смотря на то что объявлена статической.
AlexeyVik на форуме   Ответить с цитированиемОтветить с цитированием  
Старый 10.02.2014, 08:10   #2599 (permalink)
Заблокирован
За второе место в конкурсе 

 
Аватар для eevviill
 
Регистрация: 30.07.2009
Сообщений: 5,474
Репутация: 9022
eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill eevviill
Сказал(а) спасибо: 13,680
Поблагодарили 9,022 раз(а) в 3,179 сообщениях
Поинты: 1105
Отправить сообщение для eevviill с помощью Skype™

По умолчанию Класы, структуры


Клас это база данных про определённый объект?
Если да, то по упрощенному это обычная функция которая возвращает-хранит данные про объект?
Если да то зачем класы?
eevviill вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
Milord (10.02.2014)
Старый 10.02.2014, 13:24   #2600 (permalink)
Местный знаток
 
Аватар для Milord
 
Регистрация: 26.03.2011
Сообщений: 596
Репутация: 705
Milord - Milord - Milord - Milord - Milord - Milord - Milord -
Сказал(а) спасибо: 897
Поблагодарили 702 раз(а) в 192 сообщениях
Поинты: 547
Сообщение от Ugar Посмотреть сообщение
В том то и дело что пока, требуются небольшие корректировки.
Запросто могут, в одном из следующих билдов ещё улучшить, выкинув большинство "устаревших" функций.
я их критиковал и буду критиковать, за их тупизм и наглость, за их хамство на их форуме, либо игнор и бан за повторные вопросы от трейдеров и пользователей...

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
тестю советники, иногда пишу и дорабатываю их ...
ПУТЬ ДЛИННОЙ В 10000 МИЛЬ НАЧИНАЕТСЯ С 1 ШАГА (Лао Цзы)

Последний раз редактировалось NSerega; 11.02.2014 в 15:55.
Milord вне форума   Ответить с цитированиемОтветить с цитированием  
Пользователь сказал cпасибо:
eevviill (10.02.2014)
Ответ

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


Опции темы

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

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



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


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