[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 108

 

こんにちは。

indicator_minimumと indicator_maximumの プロパティをプリプロセッサに一旦定数に設定するのではなく、好きな時に変更する方法はありませんか?ドキュメントを読んでも役に立つことが見つからない。

 
Solree:

こんにちは。

indicator_minimumと indicator_maximumの プロパティをプリプロセッサに一旦定数に設定するのではなく、好きな時に変更する方法はありませんか?ドキュメントを読んでも役に立つことが見つからない。

インジケーターの 設定で、「共通」タブ。MQLソフトでは無理です。
 
alsu:
インジケーターの設定で、「一般」タブを選択します。MQLソフトは使用できません。
それは残念だ...。ご返信ありがとうございました。
 
alsu:
インジケーターの設定で、「一般」タブを選択します。MQLソフトは使用できません。
できます。でも、悪い意味で。追加バッファーを介して真:動作中の値より小さい最小値を設定することはできません。
 
Zhunko:
できます。曲がっただけ。追加バッファを使用する。ただし、ワーキングミニマムより小さい値を設定することはできません。
また、最大値をプリセット値より上に設定することはできません))
 
alsu:
そして、あらかじめ設定された最大値よりも高くすることもできません))。

ずん子
はい、できます。歪んでいるだけ。追加バッファーによりただし、ワーキングミニマムを下回る設定は不可能とする。

なぜかというと、すべてが内部でプログラム制御されているのであれば、好きなように変更し、制御すればよいからです。

EMPTYに値を切ってもいいし、バッファを広げてもいい。

 
sergeev:

なぜかというと、すべて内部でプログラム制御されているのであれば、好きなように変更・制御すればよいからです。

値をEMPTYに切りたい、またはその逆にバッファを広げたい。

バッファーに回答しました。

縦方向のスイープを担当するバッファが1つあるんです。グラフィカルなオブジェクトで線を出力しています。そのため、すべてのものが双方向にきちんとスケールするのです。

 
もう少し詳しく教えてください。これを使ったコードの一部ですが、よろしければ :)
 
こんばんは、またまた疑問が湧いてきました。以下はそのコードの一部です。
#property indicator_separate_window
#property indicator_buffers 2
#property indicator_color1 Blue
#property indicator_color2 Red
#property indicator_width1 1
#property indicator_width2 1

extern string Symbol1.Name = "EURUSD";     // Название инструмента 1
extern bool   Symbol1.Reverse = false;     // Является ли инструмент 1 реверсивным (с обратной корреляцией) 
                                           // по отношению к остальным инструментам
extern string Symbol2.Name = "EURUSD";     // Название инструмента 2
extern bool   Symbol2.Reverse = false;     // Является ли инструмент 2 реверсивным (с обратной корреляцией) 

extern int MA.Slow = 80;                   // Период медленной МА

// Буферы для отображения данных
double Buf1[];    // Первый инструмент
double Buf2[];    // Второй инструмент

// Параметры графических объектов        
string Label.Name = "label";  
int wndNum;                                // Номер подокна индикатора
string wndName;                            // Наименование окна
string oSymb1,oSymb2;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init() { 
  // Задаем имена графическим объектам
  oSymb1=Symbol1.Name;
  oSymb2=Symbol2.Name;

  // Формируем свойства графиков индикатора
  IndicatorBuffers(2);
  
  SetIndexStyle(0,DRAW_LINE);
  SetIndexBuffer(0,Buf1);
  SetIndexLabel(0,Symbol1.Name);

  SetIndexStyle(1,DRAW_LINE);
  SetIndexBuffer(1,Buf2);
  SetIndexLabel(1,Symbol2.Name);

  return(0);
}

//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()  {
  // Удаляем все графические объекты
  DeleteObject(oSymb1);
  DeleteObject(oSymb2); 
  return(0);  
}

//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start() {
  // Подсчет количества баров для построения индикатора
  int limit; int counted_bars=IndicatorCounted();
  if(counted_bars<0) return(-1);
  if(counted_bars>0) counted_bars--; 
  limit=Bars-counted_bars;
  
  // Определяем параметры окна индикатора
  wndNum=WindowFind(WindowExpertName());
  wndName=WindowExpertName()+wndNum; 
  //------------------------------------------------------------------ 
  // Отрисовка ценовых линий: рисуем и синхронизируем по наличию баров
  for(int i=0; i<limit; i++) { 
    Buf1[i]= iMA(Symbol1.Name,0,MA.Slow,0,MODE_SMA,PRICE_CLOSE,i); }
    
  for (i=0; i<limit; i++) {
    Buf2[i]= iMAOnArray(Buf1,0,MA.Slow,0,MODE_SMA,i); }
インジケータウィンドウにBuf1を全く表示させないようにするには?
 
Arles:
こんばんは、またまた疑問が湧いてきました。以下はコードの一部です。Buf1をインジケータウィンドウに全く表示しないようにするにはどうしたらよいでしょうか。

私たちは変わらなければならない

  SetIndexStyle(0,DRAW_NONE);
  SetIndexBuffer(0,Buf1);
  SetIndexLabel(0,Symbol1.Name)