Zen-Channel от Alex Silver'а

 
Перетолмачил почти дословно старый индюк от МТ3. Рисует красиво. Может, кому пригодится.
// ---- Оригинальный текст индикатора: ----
/*[[
   Name := Silver-channel нулевой канал по минимумам и максимумам
   Author := Copyright © 2003, VIAC.RU AlexSilver
   Link := http://viac.ru/
   Separate Window := No
   First Color := Violet
   First Draw Type := Line
   Use Second Data := Yes
   Second Color := Violet
   Second Draw Type := Line
   Second Symbol := 218
//]]*/
/* // <---- удалить при компиляции в MQL2 ----
// Период канала (26),  сдвиг нижней границы 38,2% от минимумов, 
// сдвиг верхней границы канала 38,2% от максимумов.
Inputs : SSP(26), KTime(10), KBars(300); 
// KTime - количество тиков, через которое прорисовываются линии канала. 
// 0 - для каждого тика.
// KBars - количество баров для которых прорисовываются индикаторы. 
// Значение 0 - для всех доступных баров.
Variables : shift(0), cnt(0), loopbegin(0), PrevTime(0);
Variables : smin(0), smax(0), SsMax(0), SsMin(0);

if (CurTime-PrevTime)<KTime then exit; 
PrevTime = CurTime; 

SetLoopCount(0);
if KBars=0 then loopbegin = Bars-1 else loopbegin = Kbars;
For shift = loopbegin Downto 0 Begin
 SsMax = High[Highest(MODE_HIGH,shift,SSP)]; // Максимальное значение за период
 SsMin = Low[Lowest(MODE_LOW,shift,SSP)];    // Минимальное значение за период
 SetIndexValue(shift-SSP+1,SsMin);           // рисуем нижнюю границу канала
 SetIndexValue2(shift-SSP+1,SsMax);          // рисуем верхнюю границу канала
End;
*/ // <---- удалить при компиляции в MQL2 ----
//+------------------------------------------------------------------+
//|                                                  Zen-Channel.mq4 |
//|                             Copyright © 2003, VIAC.RU AlexSilver |
//|                                                  http://viac.ru/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2003, VIAC.RU AlexSilver"
#property link      "http://viac.ru/"
//
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 BlueViolet
#property indicator_color2 BlueViolet
//---- input parameters
extern int       SSP = 26;    // см. выше
extern int       KTime = 10;  // см. выше
extern int       KBars = 300; // см. выше
//---- buffers
double UpperBuffer[]; // буфер верхней линии
double LowerBuffer[]; // буфер нижней линии
//---- variables
int shift = 0, cnt = 0, loopbegin = 0, PrevTime = 0;
double smin = 0., smax = 0., SsMax = 0., SsMin = 0.;
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
 {
//---- indicators
  SetIndexStyle(0,DRAW_LINE);
  SetIndexBuffer(0,UpperBuffer);
  SetIndexStyle(1,DRAW_LINE);
  SetIndexBuffer(1,LowerBuffer);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
 {
//---- 
  // Do something here...  
//----
  return(0);
 }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
 {
//---- 
 if ((CurTime()-PrevTime) < KTime) { return(0); } 
 PrevTime = CurTime(); 
 //
 if (KBars == 0) { loopbegin = Bars - 1; } else { loopbegin = KBars - 1; }
 for (shift = loopbegin; shift>=0; shift--)
  {
   // Максимальное значение за период
	SsMax = High[Highest(NULL, 0, MODE_HIGH, SSP, shift)];
	// Минимальное значение за период 
	SsMin = Low[Lowest(NULL, 0, MODE_LOW, SSP, shift)]; 
	// рисуем нижнюю границу канала
	LowerBuffer[shift] = SsMin; 
	// рисуем верхнюю границу канала
	UpperBuffer[shift] = SsMax; 
  }
  Comment("Zen-Channel: ", (SsMax-SsMin)/Point, " pips");
//----
  return(0);
 }
//+------------------------------------------------------------------+
 
Спасибо :)
Кстати, такой вопрос. У меня англоязычная ОС, с поставленным стандартными средствами русским языком. Так вот, все русские комментарии видны после вставки в виде вопросительных знаков. Это лечится? Перестановку винды не предлагать :)
 
Спасибо :)
Кстати, такой вопрос. У меня англоязычная ОС, с поставленным стандартными средствами русским языком. Так вот, все русские комментарии видны после вставки в виде вопросительных знаков. Это лечится? Перестановку винды не предлагать :)
Это уже тысячу раз обсуждалось - ПЕРЕД копированием надо переключиться на русский язык ;)
 
"Век живи, век учись, дураком помрешь..."
...все русские комментарии видны после вставки в виде вопросительных знаков.

У меня много раз была такая фенька. Не помню уже, как справлялся.
Это уже тысячу раз обсуждалось - ПЕРЕД копированием надо переключиться на русский язык ;)

А об этом простом средстве узнал только сейчас. Спасибо! :)))
 
Это уже тысячу раз обсуждалось - ПЕРЕД копированием надо переключиться на русский язык ;)

У меня не работает.
На примере копирования этого индикатора:
В интернет-эксплорере перехожу на русский - копирую - в метаедиторе перехожу на русский - вставляю - знаки вопросов вместо русских букв.
 
У меня не работает.
На примере копирования этого индикатора:
В интернет-эксплорере перехожу на русский - копирую - в метаедиторе перехожу на русский - вставляю - знаки вопросов вместо русских букв.
Вот тут уже не знаю чем помочь...
Попробуй через блокнот - авось получится ;)
 
Попробуем без тегов. Кодировка Кириллица Windows, выставлена в Worde.
<code>
// ---- Оригинальный текст индикатора: ----
/*[[
Name := Silver-channel нулевой канал по минимумам и максимумам
Author := Copyright (c) 2003, VIAC.RU AlexSilver
Link := http://viac.ru/
Separate Window := No
First Color := Violet
First Draw Type := Line
Use Second Data := Yes
Second Color := Violet
Second Draw Type := Line
Second Symbol := 218
//]]*/
/* // <---- удалить при компиляции в MQL2 ----
// Период канала (26), сдвиг нижней границы 38,2% от минимумов,
// сдвиг верхней границы канала 38,2% от максимумов.
Inputs : SSP(26), KTime(10), KBars(300);
// KTime - количество тиков, через которое прорисовываются линии канала.
// 0 - для каждого тика.
// KBars - количество баров для которых прорисовываются индикаторы.
// Значение 0 - для всех доступных баров.
Variables : shift(0), cnt(0), loopbegin(0), PrevTime(0);
Variables : smin(0), smax(0), SsMax(0), SsMin(0);

if (CurTime-PrevTime)<KTime then exit;
PrevTime = CurTime;

SetLoopCount(0);
if KBars=0 then loopbegin = Bars-1 else loopbegin = Kbars;
For shift = loopbegin Downto 0 Begin
SsMax = High[Highest(MODE_HIGH,shift,SSP)]; // Максимальное значение за период
SsMin = Low[Lowest(MODE_LOW,shift,SSP)]; // Минимальное значение за период
SetIndexValue(shift-SSP+1,SsMin); // рисуем нижнюю границу канала
SetIndexValue2(shift-SSP+1,SsMax); // рисуем верхнюю границу канала
End;
*/ // <---- удалить при компиляции в MQL2 ----
//+------------------------------------------------------------------+
//| Zen-Channel.mq4 |
//| Copyright (c) 2003, VIAC.RU AlexSilver |
//| http://viac.ru/ |
//+------------------------------------------------------------------+
#property copyright "Copyright (c) 2003, VIAC.RU AlexSilver"
#property link "http://viac.ru/"
//
#property indicator_chart_window
#property indicator_buffers 2
#property indicator_color1 BlueViolet
#property indicator_color2 BlueViolet
//---- input parameters
extern int SSP = 26; // см. выше
extern int KTime = 10; // см. выше
extern int KBars = 300; // см. выше
//---- buffers
double UpperBuffer[]; // буфер верхней линии
double LowerBuffer[]; // буфер нижней линии
//---- variables
int shift = 0, cnt = 0, loopbegin = 0, PrevTime = 0;
double smin = 0., smax = 0., SsMax = 0., SsMin = 0.;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- indicators
SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,UpperBuffer);
SetIndexStyle(1,DRAW_LINE);
SetIndexBuffer(1,LowerBuffer);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
// Do something here...
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
//----
if ((CurTime()-PrevTime) < KTime) { return(0); }
PrevTime = CurTime();
//
if (KBars == 0) { loopbegin = Bars - 1; } else { loopbegin = KBars - 1; }
for (shift = loopbegin; shift>=0; shift--)
{
// Максимальное значение за период
SsMax = High[Highest(NULL, 0, MODE_HIGH, SSP, shift)];
// Минимальное значение за период
SsMin = Low[Lowest(NULL, 0, MODE_LOW, SSP, shift)];
// рисуем нижнюю границу канала
LowerBuffer[shift] = SsMin;
// рисуем верхнюю границу канала
UpperBuffer[shift] = SsMax;
}
Comment("Zen-Channel: ", (SsMax-SsMin)/Point, " pips");
//----
return(0);
}
//+------------------------------------------------------------------+
</code>
 
Не работает. Но все равно - спасибо. :)
 
Тема: WinXP
Вопрос:
У меня проблема со шрифтами!
Вернее так : рускоязычные имена файлов-папок воспринимаются
нориально,Офис тоже "по-русски может"...
А от в приложениях,где в "титл-барах" и всплывающих меню
русский шрифт - одни знаки вопроса....:-(
Попробовал воспользоваться следующим советом :
"
Запустите апплет Control Panel -> Regional Options. На
закладке General есть два раздела, Settings for the current
user и Language settings for the system. Первый раздел
настраивает локаль для конкретного пользователя и отвечает
за то, в каком виде и на каком языке пишется дата, время,
какие меры длины используются и так далее. В нашем случае
его лучше всего ставить Russian. Второй пункт отвечает, в
том числе, и за системные шрифты, это как раз то, что нам и
нужно. Необходимо убедиться, что там отмечен Cyrillic и
выставить его как default. Откроется окно, Select System
Locale, в котором необходимо выставить Russian. После этого,
при отбражении всех менюшек и сообщений, система будет
использовать русскую кодировку. Конечно же, это никак не
повлияет на латинские буквы...."
Но у меня сей аплет совсем по другому выглядит :
уменя там нет "Settings for the current user и Language
settings for the system".И три закладки "regional options (
Standarts and formats, Location ),Langueges и Advanced...
И так и сяк бился - ничего не помогает...
Не подскажете,как быть ?
Ответ:
Надо попробовать поменять ссылки на NLS'ки. Для этого в
реестре поправить 2 строчки в:
HKEY_LOCAL_MACHINE\System\CurentControlSet\Control\Nls\CodePa
ge а именно 1250 и 1252 - в них надо указать на
использование файла c_1251.nls