MQLの目利きの方に質問です - ページ 2

 
Rita:

ダニを取り除くと、このようになります。


 

ありがとうございます。ビームが効いている

しかし、インジケータhttps://www.mql5.com/ru/code/8752 はまだ動作していません。縦線、EURUSD+のペア名、「履歴」の部分を描きました。

空のインジケーターウィンドウが開きますが、指定したセクションのエクイティグラフは表示されません。

 
Rita:

ありがとうございます。ビームが効いている

しかし、インジケータhttps://www.mql5.com/ru/code/8752、やはりうまくいきません。縦線、ペアの名前、「履歴」セグメントを設定しました。

空のインジケーターウィンドウが開きますが、指定したセグメントのエクイティグラフは表示されません。

1.線の色を青や赤に設定してみてください。

2.インジケーターの説明書を読み直してみてください。

3.土日は相場がないので、チャート上のPMPで「更新」をして、計算された指標値で指標バッファがいっぱいになるようにしてみてください。

4.何をやってもダメなら...。じゃあ、どうすればいいんだろう。開発元にサポートを依頼する。

 
なるほど。試してみます。
 

ええ、 - いつもありがとうございます。ブルーラインが機能し始めたようです。

 

mt4にはもう一つ不具合があります。

起動時(常に)、および最小化されたMT4ウィンドウを開く時(80%のケース)、MT4のすべてのメニューオプション行が「別の下に」配置され、チャートの高 さが減少している理由が不明です。

時々、とても迷惑です。その定規を常に「後ろ向き」に引きずっていなければならないのです。

なぜこのようなことが起こるのか、どうすればこの不具合を解消できるのか。どなたかアドバイスお願いします。

 
Rita:

起動時(常時)、および最小化したMT4ウィンドウを開いた時

起動時に、すでに起動している端末を起動しようとすると、この現象が発生します。マウスはラジオではないのですか?キーボードで確認し、ショートカットをハイライトして、ランチャーで起動してみてください。

展開した状態では遭遇したことがない。

 

いいえ、マウスはラジオではありません。これは通常、プロセッサに負荷がかかっているときに起こることが分かっています。

続いて、https://www.mql5.com/ru/forum/116261/page15、質問をさせていただきます。

 

こんにちは。

半日かけてもわからない。

下のインジケーターウィンドウの右隅に、分析した商品の名前とそれぞれのラインの色をこのように表示させたいのです。

どうにもこうにも実現できない!つまり、最初のコンパイルでは、これらのテキストマークは右側に表示されます。

MT4の再読み込み後、または新しいインジケータをチャートに インストールした後、テキストが表示されなくなります。:

なぜそんなことになるのか、理解できない。

これらの行を表示する関数を書きました。

void object(string name, string _text, int fontsize, color color_, int value) {
 ObjectCreate(name+ WindowExpertName(), OBJ_LABEL, WindowFind(WindowExpertName()), 0, 0);
 ObjectSetText(name+ WindowExpertName(), _text, fontsize, "Times New Roman", color_);
 ObjectSet(name+ WindowExpertName(), OBJPROP_CORNER, 1);
 ObjectSet(name+ WindowExpertName(), OBJPROP_XDISTANCE, 4);
 ObjectSet(name+ WindowExpertName(), OBJPROP_YDISTANCE, value); 
                                     }

この関数は、各シンボルのSTART関数内でそれぞれ呼んでいます。

 int start() {
     int limit;  int counted_bars=IndicatorCounted();
  //---- проверка на возможные ошибки
     if(counted_bars<0) return(-1);
  //---- последний посчитанный бар будет пересчитан
     if(counted_bars>0) counted_bars-=10;
     limit=Bars-counted_bars;
  //---- основной цикл
     for(int i=0; i<limit; i++)
       {
       Symbol1[i]=.....  ;
       Symbol2[i]= ..... ;
       Symbol3[i]= ..... ; 
       Symbol4[i]= ......;       
       SymbolE[i]= ..... ;      
      
      object("B1", Symbol_1, 10, Color_1, 5);
      object("B2", Symbol_2, 10, Color_2, 15);
      object("B3", Symbol_3, 10, Color_3, 25);
      object("B4", Symbol_4, 10, Color_4, 35);
      object("B5", Symbol_E, 10, Color_5, 45);
     
   }
   return (0);
}
     

何が問題なのでしょうか?INIT 関数内であってもよいのでしょうか?

なぜなら、ログには常に.NETがポップアップしているからです。

 

init関数は、以下のように実装されています。

int init() {
    IndicatorShortName("CC-STOKS ");
   SetIndexStyle(0, DRAW_LINE, STYLE_SOLID, 2, Color_1);
   SetIndexBuffer(0, Symbol1);
   SetIndexStyle(1, DRAW_LINE, STYLE_SOLID, 2, Color_2);
   SetIndexBuffer(1, Symbol2);
   SetIndexStyle(2, DRAW_LINE, STYLE_SOLID, 2, Color_3);
   SetIndexBuffer(2, Symbol3);
   SetIndexStyle(3, DRAW_LINE, STYLE_SOLID, 2, Color_4);
   SetIndexBuffer(3, Symbol4);
   SetIndexStyle(4, DRAW_LINE, STYLE_SOLID, 2, Color_5);
   SetIndexBuffer(4, SymbolE);
   
   return (0);
}