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

 
Artyom Trishkin:

結局何が必要なのかはっきりしない--妙な思いもある。


これは、同じ問題を解決しながら、1つの記事に2つの質問をしています :-)

1.データを返すべき関数からオブジェクト作成 エラーを返す方法

2.毎回PositionsTotalを使用せずに、指定されたシンボルのポジションをループする方法はありますか?

 
psyman:


これは、同じ問題を解決しながら、1つの記事に2つの質問をしています :-)

1.データを返すべき関数からオブジェクト作成 エラーを返す方法

2.毎回PositionsTotalを使用せずに、指定されたシンボルのポジションをループする方法はありますか?

1.オブジェクトを作成し、成功時には真を、エラー時には偽を返すだけのはずのオブジェクト作成関数が、なぜ他のものを返さなければならないのでしょうか?そうではないはずです。関数は一つのことを行い、その結果を返さなければならない。あるいは、モンスターを作るなら、変数を介してデータを参照で返す。

2.どのような種類のアカウントを持っているかによって異なります。

3.ただ、最後にヘルプを開く - そこには、たくさんの「不思議な発見」があります。

 
Artyom Trishkin:

1.オブジェクトを作成して、成功したらtrueを、失敗したらfalseを返すだけのオブジェクト作成関数が、なぜ他のものを返す必要があるのでしょうか?そうではないはずです。関数は一つのことを行い、その結果を返すべきものです。あるいは、モンスターを作るなら、変数を介してデータを参照で返す。

2.どのような種類のアカウントを持っているかによって異なります。

3.最後にヘルプを開くだけ-そこには「不思議な発見」がいっぱい


なるほど、ありがとうございます!コードを簡略化してみます。

アカウントタイプはヘッジです。

簡単そうに見えるかもしれませんが、ヘルプを読んだ後に出てくる質問で、そこにすべての詳細が書かれているわけではなく、記事やここで詳細を探す必要があります。

 
Roman Shiredchenko:

同志たちよ - 正しさの指標を見よ。1つの公式があります。 Value = (Open[0]-SMA(P,n))/SMA(P,n))*100%.

チャートの上に置くと......全部計算してプロットしてくれるんです。電卓でその値を確認しようとすると、描いた値と一致しない......。

ここでは例として、Open 1,0178, MA(13) 1,0182 を ((1,0178-1,0182)/1,0182) という計算式で計算しています。* 100% - 電卓の結果は-0.0393です。そしてMT4のチャートには-0.0929が表示されています。コードのエラーか、電卓がそこの値を正しく計算していないのでしょうか?よろしくお願いします。インジケーターを添付します。

Open[0]式で持っているのは、そういうことなんですね。

 
Alekseu Fedotov:

計算式にOpen[0]があるので、そのように設計されているのですね。

まあ、そうなんですけどね。そうやって初値を見て いると......。オープナーやクローズがある...ごちゃごちゃ
 
Seric29:
int Mas[1][2][2] という形式の4次元配列に値を入れる方法、配列の各セルに値を割り当てる 方法、この場合、2次元配列 int Arr[1][2]={3,4}; 4次元を埋める方法...?

構造体の配列を使えば、プログラムの実行が何倍も簡単、明快、かつ生産的になる

struct My_St
{
   datetime tm; 
   int      mg;    
   double   tp;     
   double   sl;     
};
My_St st[];
 

私はいくつかの道具を、分析的にラベル付けして持っています。

配色を変えたい。

手作業ではなく、気の利いた方法で行いたい。

例えば、手持ちのテキストがすべて黒で、白にしたいのですが、何か方法はありますか?

ありがとうございました。

 
Roman Shiredchenko:
まあ、そうなんですけどね。そうやって初値を見て いると......。そこには、オープナーとクローズがあるように見えますが......。ごちゃごちゃ

どうでしょう、その発想は。


ここで何を考えたのか。

任意のバーの値を取る場合(履歴 =5000; // 計算された履歴のバーの数から)

であれば、同じバーのオープンが、ゼロになることはありません。

あなたの式(Open[0]-SMA(P,n))/SMA(P,n) *100%)


ローマン、グッドラック

 
Igor Makanu:

多次元配列は通常、ループで正しい値を入力します。間違えにくく、4次元配列の場合はこのようになるはずですが、間違っている可能性もあります。

いや、間違ってはいない。 私の間違いは、このように書いたことだ。

A[1][2][4][2] = {{{1,2}, {0,2}, {1,2}, {1,2}},{{1,2}, {1,2}, {1,2}, {1,2}}}, 

こんな風に書けばよかったんだ。

A[1][2][4][2] = {{{{1,2}, {0,2}, {1,2}, {1,2}},{{1,2}, {1,2}, {1,2}, {1,2}}}}, 

端に4つのブラケットがあり、私は3つ持っているのですが、こんな風に読みます。

A[1] - означает 1ну строку, один ярус
A[1][2] 2ка в следующих скобочках говорит о том что мы имеем дело с 2мя 3ёх-мерными массивами, другими словами, это как 2 параллельных мира
A[1][2][4][2] - последующие [4][2] описываю 3ёхмерный массив, т.е. каждый из массивов имеет 4 столбца, и в каждом по 2 значения вот пример
{{1,2}, {0,2}, {1,2}, {1,2}} 4 столбца в каждом по значения

一般的には、ありがとうございます。長生きしたら、それで仕事しますよ。

 
Seric29:

関数に構造体を渡すと、構造体ごとに関数を書かなければならないので、関数が静的すぎて汎用性に欠ける。しかし、構造体には良い面もあって、異なる型の配列を構造体にまとめて、1つの多次元配列 全体として読むことができるのですが、残念ながらその方法が示されているこのサイトへのリンクをなくしてしまいました。私は構造のフィールドにアクセスするためのポイントよりもグローバル変数の宣言は、また、私はクラスを理解していない場合、私は構造、はるかに少ないテキストで非常に良いしていない真実を伝えるために、私は最後の少しより理解し、材料を何度も読み直し、非常に複雑で面倒な説明、あまりにも科学的フレーズを説明で使用されているので、私は基本的に材料の多くを理解していない、と何正確に動的オブジェクトも私に行われることができます。