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

 
Top2n:


ありがとうございました。別の質問でよければ、一体どうやって2次元の配列を2つに分割するのか、論理が破綻していますよね?

2次元の配列をインジケータから与える場合、配列の各次元ごとにバッファを作成します。

バッファ0が1次元、バッファ1が2次元です。

そして、通常の方法でEAに取り込んでください。

 
Artyom Trishkin:

2次元の配列をインジケータから与える場合、配列の各次元ごとにバッファを作成します。

バッファ0が1次元、バッファ1が2次元です。

そして、通常の方法でEAに取り込んでください。


ありがとうございます。しかし、次元が1000*1000の場合、どのようにではありません。

では、2次元の配列を2つに分割するにはどうすればよいのでしょうか。

各バーに1次元のデータ配列があるのですが

 
Top2n:


ありがとうございます。でも、次元数が1000*1000なら、無理ですね。

では、どのようにして2次元の配列を2つに分割しているのでしょうか。

各バーに1次元のデータ配列があるのですが

なぜExpert Advisorに供給するために、インジケータですべてを計算する必要があるのですか?Expert Advisorですべて計算すればいいのですから、簡単でしょう。
 
Artyom Trishkin:
なぜ、インジケータで計算を行い、Expert Advisorに渡す必要があるのでしょうか?Expert Advisorですべて計算すればいいのですから、簡単でしょう。


パラメータと価格[] を使用するクラスがあります。

OnCalculate(const int rates_total,
                const int prev_calculated,
                const int begin,
                const double &price[])
   sm.Solve(rates_total,prev_calculated,price);

EAで回避することができない

 
Top2n:


パラメータとして&price[] を使用するクラスがあります。

EAで回避することができない

ドキュメントのタイムシリーズとインジケータへのアクセス」のセクションを注意深く読めば、すべてが明らかになるはず です。

また、「SymbolInfoTick」を使って、EAで価格を取得することも可能です。

Документация по MQL5: Доступ к таймсериям и индикаторам
Документация по MQL5: Доступ к таймсериям и индикаторам
  • www.mql5.com
Доступ к таймсериям и индикаторам - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

皆さん、ごきげんよう。

20のMQL5トピックに目を通しましたが、次の質問に対する回答は見つかりませんでした:FORTS自動取引用のシンプルなMQL5 Expert Advisorのサンプルコードはどこで手に入りますか?

EAはシンプルであればあるほどよい。EAは シンプルであればあるほどよい。

すでにMT5で動作するコードがあります。


以前はTranzac、AmiBroker、いくつかのIT端末で仕事をしたことがあります。MetaTrader 4または5を使用したことがない。

しかし、今のJus2Trade(Finamの子会社らしい)はMT5で、フォートとアメリカの先物にアクセスできるようになっている。

MT5で試したいのですが、正常に動作する正常な例が見当たりません。例題はすべてFXの場合です。

同僚、リンク先を突いてください。

 
Alexey Viktorov:

ドキュメントのタイムシリーズとインジケータへのアクセス」セクションを注意深く読めば、すべてが わかるでしょう。

また、「SymbolInfoTick」を使って、EAで価格を取得することも可能です。


理解できない。
 

良い人、EAでこれらのパラメータをバイパスする方法をアドバイスしてください、私はEAでインジケータ用にカスタマイズされたクラスを使用する方法がわからない

sm.Solve(rates_total,prev_calculated,price);

情報: インジケータ起動時にSMAを使用し、HL/2に適用しています。

 
Top2n:

良い人、EAでこれらのパラメータをバイパスする方法をアドバイスしてください、私はEAでインジケータ用にカスタマイズされたクラスを使用する方法がわからない

情報: インジケータ起動時にSMAを使用し、HL/2に適用しています。

私のEAではrates_totalやprev_calculatedは必要ありません。このわけのわからない表現を踏んでF1を押し、その意味を読み取る。そうすれば、もしかしたら理解できるようになるかもしれない。やはり、すべての行動には意味があるのでしょう。うまくいくかどうかわからないことを、何も考えずにできるわけがない。何かを理解せずに、どうやって使うんだ?

まあ、想像するに、釘を打とうと思ったら、相手のことを理解せずに熊手や顕微鏡で打とうとするのだろう...。

もし、直近の2-3本のバーのiMA指標の値が必要であれば、CopyBufferを通して、前に作成した指標のハンドルで取得することができます。インジケータを作成 し、そのハンドルを取得する際に、その場で

PRICE_MEDIAN

中央値、(高値+安値)/2


そして、ドキュメントに絶対的な分かりやすい例があるのです。

Документация по MQL5: Технические индикаторы / iMA
Документация по MQL5: Технические индикаторы / iMA
  • www.mql5.com
Технические индикаторы / iMA - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Alexey Viktorov:

EAではrates_totalもprev_calculatedも必要ない。このわけのわからない表現を踏んでF1を押し、その意味を読み取る。そうすれば、もしかしたら理解できるようになるかもしれない。結局、すべての行動には意味があるはずなのです。うまくいくかどうかわからないことを、何も考えずにできるわけがない。何かを理解せずに、どうやって使うんだ?

まあ、想像するに、釘を打とうと思ったら、相手のことを理解せずに熊手や顕微鏡で打とうとするのだろう...。

もし、直近の2-3本のバーのiMA指標の値が必要であれば、CopyBufferを通して、前に作成した指標のハンドルで取得することができます。インジケータを作成 し、そのハンドルを取得する際に、その場で

PRICE_MEDIAN

中央値、(高値+安値)/2


そして、ドキュメントに絶対的な分かりやすい例があるのです。


OK、最初の2つのrates_totalともう1つはやりすぎましたが、prece ->&aData[] の代わりに、コピーバフを通して指標ではなく、クラスを統合する必要があります。

クラスは

//+------------------------------------------------------------------+
void  CSMA_Greed::Solve(const int aRatesTotal,const int aPrevCalc,const double  &aData[])
  {
   rt=aRatesTotal; prv=aPrevCalc;
   for(int i=0;i<m_max_period;i++)ArrayResize(d[i].m,rt);
   chsma.Solve(rt,prv,aData,d[m_max_period-1].m);

   for(int i=prv>m_max_period?prv:m_max_period;i<rt;i++)
     {
      temp=d[m_max_period-1].m[i]*m_max_period;
      for(int j=m_max_period-2;j>=0;j--)
        {
         temp-=aData[i-(j+1)];
         d[j].m[i]=temp/(j+1);
        }
     }
  };
理由: