エラー、バグ、質問 - ページ 1165

 

こんにちは。助けてほしい。ストラテジーテスターのチャートのフォントサイズを小さくして、下の画像(オプション2)のように、チャートを覆わず、チャート全体にフィットするようにする方法をどなたか教えてください。

 
Akromix:

こんにちは。助けてほしい。ストラテジーテスターのチャートのフォントサイズを小さくして、下の画像(オプション2)のように、チャートを覆わず、チャートに完全に収まるようにする方法をどなたか教えてください。

Windowsの設定で標準のシステムフォントサイズを選択するか、あるいは小さくしてみてください。
 
marketeer:
Windowsの設定で標準のシステムフォントサイズを選択するか、あるいは小さくしてみてください。
この変更により、ターミナルウィンドウの名前付きフォントが縮小されるだけで、テスターグラフィックではフォントが縮小されなくなりました。
 
barabashkakvn:

MQL5 Storageで 変更をコミットすると、エラー170004が発生しました。これは2回目です。

コミットする前にアップデートする必要があるのでしょう。
 
TheXpert:
どうやら、コミットする前にアップデートする必要があるようです。
これは処方箋なのでしょうか?役に立つのか?朝、ストレージからアップデートしたばかりで、その後半日作業して、コミット時のエラー#170004は こちらです。
 
barabashkakvn:
これは処方箋なのでしょうか?こういうのって、役に立つんですか?朝、リポジトリからアップデートした後、半日ほど作業して、ここでこのようなエラー#170004を 修正したところです。
まあ、リポジトリが最新でないというのであれば、更新してみるのも論理的な話ですが。
 
TheXpert:
まあ、リポジトリが古いと言われれば、更新してみるのが筋というものでしょう。
私が作業している間に、別のコンピュータが私のリポジトリを更新したような気がします。もちろん、エラー発生後にアップデートを試みました。役に立たなかった。
 

どちらかというと、質問です。

名前から端末の既存のGVを探す。これを通じて、EAが動作しているチャートのIDがインジケータに渡されます。インジケータは別の記号にぶら下がっている。つまり、Expert Advisorが動作しているチャートのIDをインジケータに渡したいのです。こんな風に探しています。

   for(int i=0; i<GlobalVariablesTotal(); i++) {
      string gv_name=GlobalVariableName(i);
      if(StringFind(gv_name,"Multick")<0) continue;
      if(StringFind(gv_name,"chart_id")>0) {
         Print("Нашли такую переменную: "+gv_name);
         string xxx=IntegerToString(long(GlobalVariableGet(gv_name)));
         Print("Значение в ней = "+xxx);
         }
      }
   //2014.07.05 01:54:06.111    ChartsAgent NZDUSD,H1: ID главного = 130392553686025168
   //                                                а истинный ID = 130392553686025170

これは端末が教えてくれることです。


変数を読み取ろうとした。文字列に直接入れたり、ジャーナルに入れたり、違う種類の変数に入れたり......全部同じです。2つも違うんです。

どうしたんですか?

 
artmedia70:

どちらかというと、質問に近いですね。

どうしたんですか?

変数に書き込むコードも見てみたいです(特にいつ、どれくらいの頻度で発生するのか)。
 
marketeer:
変数に書き込むコードも見てみたいです(特にいつ、どれくらいの頻度で発生するのか)。

シンプルに。OnInit()において

   symbol=Symbol();
   tf=Period();
   other.initNames(symbol,tf,Prefix,Magic);  // Создаём префикс и магик

// -------------------------------------------------------------

//----------------------------
   string gv_chart_id_name=Prefix+"_chart_id";
   long chart_id=get.GetChartID(symbol);
   if(chart_id>=0) GlobalVariableSet(gv_chart_id_name,chart_id); // chart_id==0 в тестере
   else graph.Message("Чё-та нету chart_id : Symbol()="+symbol+", chart_id="+IntegerToString(chart_id));
//----------------------------

// -------------------------------------------------------------

//+------------------------------------------------------------------+
   void COtherClass::initNames(string sy, int timeframe, string &prefix, int &mn) {
      string postf="_r", nm=WindowExpertName();
      if(IsDemo()) postf="_d";
      if(IsTesting()) postf="_t";
      if(IsVisualMode()) postf="_v";
      if(IsOptimization()) postf="_o";
      prefix=nm+"_"+sy+"-"+get.GetNameTF(timeframe)+postf;  
      mn=GetMagic(nm+sy,Period()); 
      }
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
   long CGetDataClass::GetChartID(string sy) {
      long id=-1, currChart,prevChart=ChartFirst();
      int i=0,limit=300;
      if(ChartSymbol(prevChart)==sy) id=prevChart;
      else {
         while(i<limit) {
            currChart=ChartNext(prevChart); 
            if(currChart<0) break;          
            if(ChartSymbol(currChart)==sy) {
               id=currChart;
               break;
               }
            prevChart=currChart;
            i++;
            }
         }
      return(id);
   }
//+------------------------------------------------------------------+

このようなものです.