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

 
皆さんこんにちは、質問はこれです。
martinと一緒にネットメーカーをやっていますが、1つずつではなく、一般的なもの(すべての注文とグリッドをシグナルとして開く。)ある注文やそのグリッドがトリガーされると、すべてがうまくいくのですが、ある注文やそのグリッドがオープンし、同時に(あるいは後で)別の注文やそのグリッドがオープンすると、マーティンは最初のグリッドを継続するようになります。何が問題なのでしょうか?
 
Artyom Trishkin:

なるほど。でも、仕事、家庭、家族、猫、子供・孫など、暇な時にしか見れないし...。お義母さん、はい...。

そう、猫...。

今日はどこかに出かけてゴキゲンをしてきました。

仰向けで寝るのが好きなスコティッシュの美少女 :)

 
Artyom Trishkin:

Vitalyが直接投稿したコードを見てください。

私の質問は、Vitalyのコードとは関係ありません。今、私は自分でそれを理解しました...それは、ライブラリのコードが再計算の深さ自体を制御することが判明したのです。つまり、最初の実行ではバッファ全体を再計算し、それ以降の実行ではちょうどよい量を再計算する......そういうことをお聞きしたかったのです。私はそういう怠け者なんです。自分で考えるより、聞く方が楽だから......でも、そうせざるを得ない時もあるんです......。

 
Alexey Viktorov:

私の質問は、Vitalyのコードとは関係ありません。今、私は自分でそれを理解しました...それは、ライブラリのコードが再計算の深さ自体を制御することが判明したのです。つまり、最初の実行ではバッファ全体を再計算し、それ以降の実行ではちょうどよい量を再計算する......そういうことをお聞きしたかったのです。私はそういう怠け者なんです。自分で考えるより、聞く方が楽だから......でも、そうせざるを得ない時もあるんです......。

つまり、Vitaliのコードは、あなたが質問したSBのこの機能を複製したのです。しかも、すべてはそこにわかりやすく書かれていて、一瞥すればあなたの質問の答えが理解できるようになっています。

 
Artyom Trishkin:

つまり、Vitalyのコードは、あなたが質問したSBからこの機能を複製したもので、しかも、すべてがすぐ目につくところにあるのです。

原画のすずしさを見たか?

 
Vitaly Muzichenko:

原作のタフさを見たか?

特に比較はしていないんです。私見ですが、どちらのファイルにもスジがあります。しかも、コンディションが空で、バッファに空の値を入れると、コンディションのカッコから外れるという、まったくもってロジックが不明です。まあ、私の仕事はA判定にすることなんですけどね。仕組みはどうでもいい、そのままでいい。

 
Artyom Trishkin:

あまり比較したことがない。どちらのファイルでもごちゃごちゃしていると思います。しかも、コンディションが空で、バッファに空の値を入れると、コンディションのカッコから外れるという、まったくもってロジックが不明です。まあ、私の仕事はA判定にすることなんですけどね。このままにしておきます。

私の課題は、このコードからiMAOnArrayを どのように置き換えるかを理解することです。

つまり、既存のコードにできるだけ変更を加えず、かつ
 
Artyom Trishkin:

つまり、Vitalyのコードでは、この機能はあなたが質問したSBから複製されたものであり、すべてがわかりやすくそこにあるため、一瞥するだけで あなたの質問の答えが理解できるのです。

まあ、握ったんでしょうけど...どうしたらいいんでしょうね。理解しながら、すべてのコードを徹底的に調べなければならないのです。

 
Vitaly Muzichenko:

私の課題は、このコードでiMAOnArrayを どのように置き換えるかを理解することです。

つまり、既存のコードにできるだけ変更を加えず、それを使って

この質問を理解しようとすると、次のような状況が見えてきます。

あなたのコードには、次のように書かれています。

buf_3[i] = iMAOnArray(Array_1, 0, per, 0, MODE_SMMA, i);

とドキュメントに記載されています。

double  iMAOnArray( 
   double       array[],          // массив 
   int          total,            // количество элементов 
   int          ma_period,        // период 
   int          ma_shift,         // сдвиг средней 
   int          ma_method,        // метод усреднения 
   int          shift             // сдвиг 
   );
iMAOnArray

ぜんすう

[in] 計算する要素数。0は配列の全要素を意味 します。

この関数が呼ばれる たびに、配列全体が再計算されることが判明しました。これはまさに私がArtemに尋ねたことです...しかし、mql4では自分で対処しなければならないのに、mql5では加速のためのすべてが提供されていることがわかりました。でも、ちゃんとしたやり方が書いてある情報がないんですよね。


最小限の変更でやり直すことについては、間違っています。アルゴリズムをパクって、やり直す方が簡単ですからね。

 

こんにちは、よろしくお願いします...

   HighForFutureSession=MathMax(high[rates_total-1],high[rates_total-2]);

MathMax は、2 つの数値の最大 値を返します。つまり、2 つの同じ配列 high[rates_total] から、差分が -1 と -2 のバーの最大値を返します?

簡単に言うと、最初の配列が12345で、2番目の配列が1234の場合、関数は5を返すのでしょうか?