初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 922

 
Artyom Trishkin:

CArrayObj: Add() 配列に、別の CArrayObj 配列を追加するだけです。

パラメータ変換不可

ところで、どうでもいいことですが配列に追加する私のオブジェクトは、CArrayObjを 継承したクラスです。

class CCustomClass : public CArrayObj
{
}




CCustomClass obj1;
CCustomClass obj2;
...

CArrayObj objects_array;
objects_array.Add(obj1); 
さて、最後の行で悪態をついています - パラメータの変換は許可されていません。
 
objects_array.Add(GetPointer(obj1)); 
動いている、ポインタを持っていないことに気づかなかった。
 
TaywinLannister:

フォーラムメンバーの皆様、助けてください!!!

価格ステップを変数に代入したい。

int V=SymbolInfoInteger(Symb,SYMBOL_POINT);

error: 'SymbolInfoInteger' - 関数呼び出しに適用できるオーバーロードが1つもありませんでし た。

また、私のエラーは何ですか?


int V=(int)SymbolInfoInteger(Symb,SYMBOL_POINT)とする。

だから、試してみてください。

 
foreXteller:

フォーラムの皆様へ

アドバイスお願いします!!!

MetaTrader 5のウィンドウにはBidと Askの 値が表示され、(私の理解では)これが勝敗を決定します。

しかし、私の戦略をテストするために履歴の分値段を使用しようとすると、これらの引用符には Bidと Askの 値が含まれておらず、 OPEN」「HIGH」「LOW」「CLOSE」「TICKVOL」 VOL」「SPREAD」の値が表示されます。この値から Bidと Askを どう取るか、またスプレッドをどう計算するかはよくわからない。

すべてが絶対的にクリアなのです。分履歴の引用をしようとすると」というのは具体的にどういうことか、もう少し詳しく記述してください。具体的に何をしているのか、何をしたいのか。

 
TaywinLannister:

フォーラムメンバーの皆様、助けてください!!!

価格ステップを変数に代入したい。

int V=SymbolInfoInteger(Symb,SYMBOL_POINT);

error: 'SymbolInfoInteger' - 関数呼び出しに適用できるオーバーロードが1つもありませんでし た。

また私のミスか


SymbolInfoIntegerの ヘルプです。

1.プロパティの値を直接的に返す。

long  SymbolInfoInteger( 
   string                    name,      // символ 
   ENUM_SYMBOL_INFO_INTEGER  prop_id    // идентификатор свойства 
   );

2.関数の成功に応じて、true または false を返す。成功すれば、最後のパラメータで参照渡しされた宛先変数に、プロパティの値が格納される。

bool  SymbolInfoInteger( 
   string                    name,      // символ 
   ENUM_SYMBOL_INFO_INTEGER  prop_id,   // идентификатор свойства 
   long&                     long_var   // сюда примем значение свойства 
   );


つまり、ORlong ORbool です。

 
TaywinLannister:

フォーラムメンバーの皆様、助けてください!!!

価格ステップを変数に代入したい。

int V=SymbolInfoInteger(Symb,SYMBOL_POINT);

error: 'SymbolInfoInteger' - 関数呼び出しに適用できるオーバーロードが1つもありませんでし た。

私のエラーは何だったっけ?


double V=SymbolInfoDouble(Symb,SYMBOL_POINT);

Point は double 型の値である。intで受信した場合、値は0となる。

 
Vladimir Karputov:

SymbolInfoIntegerの ヘルプです。

1.プロパティの値を直接的に返す。

2.関数の成功に応じて、true または false を返す。成功すれば、最後のパラメータで参照渡しされた宛先変数に、プロパティの値が格納される。


つまり、ORlong ORbool です。

了解です、ありがとうございます)

 
#property copyright "Copyright 2018, Sergey S Morozov"
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict

//#property indicator_separate_window    // Индик. рисуется в новом окне
#property indicator_chart_window    // Индик. рисуется в основном окне

#property indicator_buffers 1       // Количество буферов
#property indicator_color1 Red     // Цвет первой линии

extern int History  =50;            // Колич.баров в расчётной истории
extern int Aver_Bars=5;             // Количество баров для расчёта

double ArrayBuff[];

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

int OnInit()
{
   SetIndexBuffer(0,ArrayBuff);
   SetIndexStyle (0,DRAW_LINE,STYLE_SOLID,1);
   return(INIT_SUCCEEDED);
}

int OnCalculate(

                const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])

  {

      int i,                           // Индекс бара
      n,                               // Формальный параметр
      Counted_bars;                    // Количество просчитанных баров 
      double
      Sum_H,                           // Сумма значений High за переиод
      Sum_L;                           // Сумма значений Low  за переиод
   //--------------------------------------------------------------------
      Counted_bars=IndicatorCounted(); // Количество просчитанных баров
      i=Bars-Counted_bars-1;           // Индекс первого непосчитанного
      if (i>History-1)                 // Если много баров то ..
         i=History-1;                  // ..рассчитывать заданное колич.
      while(i>=0)                      // Цикл по непосчитанным барам
        {
         Sum_H=0;                      // Обнуление в начале цикла
         Sum_L=0;                      // Обнуление в начале цикла
         for(n=i;n<=i+Aver_Bars-1;n++) // Цикл суммирования значений
           {
            Sum_H=Sum_H + High[n];     // Накопление суммы макс.значений
            Sum_L=Sum_L + Low[n];      // Накопление суммы мин. значений
           }
         ArrayBuff[i]=(Sum_H-Sum_L)/Aver_Bars;  // Знач. 0 буфера на i-ом баре
         i--;                                   // Расчёт индекса следующего бара
        }

   return(rates_total);

  }
//+------------------------------------------------------------------+

始めたばかりで、まだこの言語でどう書けばいいのかわからないんです。しかし、問題は、新しいウィンドウで、グラフが表示される場合です。でも、今のものでは表示できない...。私のエラーは何ですか?私自身は書けなかったし、ここに例もないことを考えると。しかも、明らかにSetChartData(point1,point2)のような関数を介さずに、勝手に発生している............。

そして、変数は設定されているようですが(indicator_chart_window)、やはりうまく いきません...。

Открой новые возможности в MetaTrader 5 с сообществом и сервисами MQL5
Открой новые возможности в MetaTrader 5 с сообществом и сервисами MQL5
  • www.mql5.com
Задавайте вопросы по техническому анализу, обсуждайте торговые системы и улучшайте свои навыки программирования торговых стратегий на языке MQL5. Общайтесь и обменивайтесь опытом на форуме с трейдерами всего мира и помогайте ответами новичкам — наше сообщество развивается вместе с вами. Как прописать расписание торговли робота? Здравствуйте...
 
Vladimir Karputov:

絶対に何でもありです。分履歴の引用をしようとしたとき」とは、具体的にどのようなことか、もう少し詳しく記述してください。具体的に何をしているのか、何をしたいのか。

履歴をダウンロードするには、MetaTrader 5をロードし、 ドル記号の アイコンをクリックしてください: "Symbol List Display" (or you can pressCtrl U).シンボル」ウィンドウが表示されます。SPECIFICATION "タブで、希望の通貨ペア(例:GBPCHF)を見つけてください。BARs」タブでは、分相場(M1)と必要な期間の開始と終了の日付を設定します。REQUEST "ボタンをクリックすると、csv ファイルがダウンロードされ、メタトレーダーや独自のプログラムでストラテジーのテストに使用することができます。

EXCEL を使って、このファイルの内容を見ることができます。最初の行には、ファイルの情報、すなわち「日付、時刻」が表示され、次に OPEN」、「HIGH」、「LOW」、「CLOSE」、「TICKVOL」、「VOL」、SPREAD」が表示されます。

このデータの意味はよくわかるのですが、MetaTrader 5が使っている、このデータからBIT ASKを 作るにはどうしたらいいのでしょうか?

 
mt5でシンボルに関する情報を確認できる場所を教えてください。mt4ではstrategy testerで 確認できたと記憶していますが、mt5のtesterではこの機能が見当たりません。
理由: