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

 
tol64:
ティックとリアルボリューム(ある場合)。

とか、ティックとリアルの違いって何だろう?

 
soroko:

チークと本物の違いは何ですか?

ティックは取引数、リアルはサイズに基づく
 
zfs:
tickは取引数、realは取引サイズに基づく

では、なぜ本物はどこでも0と表示されるのでしょうか?

 
soroko:

では、なぜ本物はどこでも0と表示されるのでしょうか?

データなし、FXの実数値は不明、これはフォートのような他の取引所の場合
 
zfs:
データなし、FXでは実際の取引量は不明、これはフォートのような他の取引所の場合です。

探す手間を省いてくれてありがとうございました)

 
さて、本題の質問ですが、価格がラインを横切る側を知るために、過去5回の価格を配列に 記入するには、どの関数を使用すればよいのでしょうか?ありがとうございました。
 
soroko:
それはわかるのですが、配列の中で価格をずらすにはどう したらいいのでしょう。ArrayCopy関数で試したところ、0,0または同じBidが渡されました。また、膨大なコードが気になるのですが、1つの関数で全部できないのでしょうか?
ループの中で要素ごとに
 
soroko:
さて、本題の質問ですが、価格がラインを横切る側を知るために、過去5回の価格を配列に 記入するには、どの関数を使用すればよいのでしょうか?ありがとうございました。
プログラミングの基礎知識を身につける必要があります。
 

チャート上にないインジケータのパラメータが取得 できない。以下は、不要なものをすべて取り除いたコードで、インジケータのパラメータを取得する行はヘルプからコピーしたものです。インジケーター自体は1時間足チャートに付いているのですが、5分足で動作させたいのです。GetLastError()でエラー4006が発生しますが、何も問題ないようです...。

int m_MA_M5;

int OnInit()
  {
  
m_MA_M5 = iMA(NULL, PERIOD_M5, 12, 0, MODE_SMA, PRICE_CLOSE);

if (m_MA_M5 <=0 )
{
   Print("Error create MA");
   return (INIT_FAILED);
}
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
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[])
  {
//---

   if (prev_calculated == rates_total)
      return (rates_total);

   
          MqlParam parameters[];
          ENUM_INDICATOR indicator_type;
          int params=IndicatorParameters(m_MA_M5,indicator_type,parameters);
          
          if (params<0)
          {
            Print("Error geted data Last Error=", GetLastError());
          }else{
          
         	 //--- заголовок сообщения
	          string par_info="Short name M5"+", type "
                          +EnumToString(ENUM_INDICATOR(indicator_type))+"\r\n";
        	  //--- 
	          for(int p=0;p<params;p++)
        	    {
	             par_info+=StringFormat("parameter %d: type=%s, long_value=%d, double_value=%G,string_value=%s\r\n",
                                    p,
                                    EnumToString((ENUM_DATATYPE)parameters[p].type),
                                    parameters[p].integer_value,
                                    parameters[p].double_value,
                                    parameters[p].string_value
                                    );
        	    }
	          Print(par_info);
    
   	}
   
//--- return value of prev_calculated for next call
   return(rates_total);
  }
//+------------------------------------------------------------------+
 
こんにちは!私はmt4で書かれたEAを持って いますが、mt5に変換することができます。
理由: