MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 940

 
Seric29:

問題は、私は配列を取るすべての関数にテンプレートを適用し、テンプレート関数のエクスポートとインポートは、それが各タイプの関数を複製しなければならないでしょう、次元と同じ状況mqlはちょうどそのようにそれらを与えるためにしたくないと再び次元によってそれらを複製する必要がありますオーバーロードの種類が判明したが、追加の引数は必要ではありませんが、これはまた不要なコードである、関数の引数の 増加のためにmqlもちょうどそのように与えることはありませんデータは関数eを重複して持っています。自分で言語を書くことも考えましたが、ロボットの15%を書き、すべてをキャリブレーションし、できるだけ普遍的で高速なパフォーマンスを提供するために1年以上、計算には3年費やしました。ただ、自分の言葉を書くには、人生が足りないんです。こんな感じです。

自分の言葉を持つということは、すごいことです。

でも、まずはMQLを学ぶべきかもしれませんね。

そして、その機能が今も決して小さくはないことがおわかりいただけると思います。

しかし、C++を学べば、プログラミングで困ることは全くありません。

はい、あなたのC++のコードに目を通しましたが、あなたはほとんど何も知らないようですね。

 
Koldun Zloy:

はい、あなたのC++のコード、見てみましたが、あなたはほとんど知らないようですね。

4歳でプログラミングを学んだ方がいい、私はもう26歳だ、偉大なプログラマーになる確率は非常に低い、イーロン・マスクなど9歳でプログラミングができた人を思い出せ、私は少なくとも主要なタスクは果たすだろう。

 

という関数があります。

ArrayCopy

しかし、特定の列をコピーすることはできません。という関数が存在します。

ArrayInitialize

という関数があり、また同じようなナンセンスなことをします。

ArrayFill

が、ここでも列を指定することはできない。自分で書かなければならないのであれば、これらの機能は何の役にも立ちません。

 
Seric29:

プログラミングは4歳から覚えたほうがいいんですよ、もう26歳ですしね。

あ、なんか強いの吸ってる!?)))))

おもちゃで遊びたいだけでなく、おもちゃを床に投げたがるので、4歳からコンピュータプログラミングを教えることはできません。)

26歳にもなって何も学べないのですか? あなたが問題を書き込んでいる3ヶ月の間に、読み始めれば解決したはずです、MQLフォーラムは1-2時間で質問の答えが得られる数少ないフォーラムです、本当に素晴らしいです!。まあ、これがあなたの生き方なんでしょうけど。これ以上ないくらい、あなたの悩みを解決するものが見つかりました。

https://www.mql5.com/ru/forum/3457/page4494#comment_12804114

 
Seric29:

4歳からプログラミングを学んだ方がいい、もう26歳だ、かっこいいプログラマーになれる確率は非常に低い、イーロン・マスクなど9歳でプログラミングができた人を思い出せば、基本的なタスクくらいはこなせるだろう。

4歳から始めたわけでも、9歳から始めたわけでもないんです。

26歳からカッコいいプログラマーになれる確率は非常に高い。

 

私は質問がありますが、なぜこのコードが動作しないのか笑わないでください。

#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
#define  Mkarr(q,w,e,r) switch(ArrayDimension(q)){case 3:q[w][e][r]=15;break;case 2:q[w][e]=15;break;}
int Mas[7],//#else
    Mas2[2][2]={{3,8},{4,17}},
    Mas22[2][2]={{31,128},{94,107}},
    Mas3[2][2][2];

int OnInit()
  {int Perem=ArrayDimension(Mas); 
   Mkarr(Mas2,0,0,0);
   return(INIT_SUCCEEDED);
  }

配列への 間違ったアクセスを言うそれはどのようにケースのすべてのバリエーションがチェックされていないと、何もあまりにもチェックされていない場合しようとすると知っていますか? それはコンパイル時にコードをスキップすることが可能ですか、それは助けにはならない?

 
Seric29:

私は質問がありますが、なぜこのコードが動作しないのか笑わないでください。

配列への 間違ったアクセスを言うそれはどのようにケースのすべてのバリエーションがチェックされていないと何もあまりにもチェックされていない場合は試してみて、エラーをスローします? それはコンパイル時にコードをスキップすることが可能ですか、それは助けないのですか?

笑えない、泣きたくなる。

マクロの使い方がわからないのに、なぜマクロを使うのですか? マクロをアンコンパイルすれば(コピーするだけ!)、エラーの場所がわかるはずです。

SIN: ......「ネズミは泣きながら、サボテンを噛み続けた」(((

 
Igor Makanu:

笑えない、泣きたくなる。

マクロの使い方がわからないのに、なぜマクロを使うのですか? マクロを解凍して(コピーするだけです!)、エラーの場所を確認することができるはずです。

SZY: ......「ネズミは泣いて泣いて、でもサボテンを齧り続けた」((

マクロは任意の項目を取り、コンパイラで処理する際に、1つの同じ項目が同時にtheseとtheseにならないように保護されているのですが、それがあまり理解できません。そのようなアイデアを実現することは可能なのでしょうか?

 
Seric29:

よくわからないのですが、マクロは任意の要素を取り、コンパイラで処理する際に、1つの同じ要素が同時にあれにもこれにもならないように保護されている、そんなことを考えたりします。そのようなアイデアは実現できるのでしょうか?

もう一回マクロ置換をMEで(少なくともメモ帳で!)、それを使う代わりに「プラグイン」して、括弧内のすべてのパラメータをあなたの数字に置き換えてください。

これ以上どう説明したらいいのかわからないくらい...。MQLについて十分に理解していない場合は、Wikiを読んでください。

マクロコマンド

Cプリプロセッサー

 
Igor Makanu:

もう一回マクロ置換をMEで(メモ帳でも!)、それを使う代わりに「プラグイン」して、括弧内のパラメータをすべて自分の数字に置き換える。

以下は、マクロを除いたコードです。

//+------------------------------------------------------------------+
#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//#define Mkarr(q,w,e,r) switch(ArrayDimension(q)){case 3:q[w][e][r]=15;break;case 2:q[w][e]=15;break;}
int Mas[7],//#else
Mas2[2][2]={{3,8},{4,17}},
Mas22[2][2]={{31,128},{94,107}},
Mas3[2][2][2];
int OnInit()
  {
   int Perem=ArrayDimension(Mas);
//   Mkarr(Mas2,0,0,0);
   switch(ArrayDimension(Mas2))
     {
      case 3:Mas2[0][0][0]=15;
      break;
      case 2:Mas2[0][0]=15;
      break;
     }
   return(INIT_SUCCEEDED);
  }

C++/MQLの構文と基本を理解できないのに、なぜ多次元配列の 処理にそんなに時間をかけているのかわかりません、1つの次元で定義された配列を持っていて、それを別の次元で使おうとしています、もちろん私が間違っているかもしれませんが、このトリックはPythonでもうまくいかないはずです、私の意見です。

理由: