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

 

レナートさん、推薦コメントなどお願いします。

私にとっての難題について、最後のページでhttps://www.mql5.com/ru/forum/160683/page1434#comment_21634884

3つのトレミーナから提供されるロボットのプリント、その中に2つのパスがあります。
 

口座への資金追加方法と資金引き出し方法(トップアップと引き出しボタンの位置)を教えてください。

 
feniok83:

取引口座への入金方法と出金方法(入金・出金ボタンはどこですか)を教えてください。

証券会社のホームページの個人口座へ。

 

mql5バッファのプロパティを 設定する際、プロパティの順番に依存性はありますか?

SetIndexBuffer(0,Buffer1,INDICATOR_DATA);
SetIndexBuffer(1,Buffer2,INDICATOR_CALCULATIONS);
SetIndexBuffer(2,Buffer3,INDICATOR_DATA);

それとも、最初に日付を指定して、次に計算をするのでしょうか?

SetIndexBuffer(0,Buffer1,INDICATOR_DATA);
SetIndexBuffer(1,Buffer2,INDICATOR_DATA);
SetIndexBuffer(2,Buffer3,INDICATOR_CALCULATIONS);

バッファのインデックスで タイプが変わるのは明らかで、考慮していない。
気になるのは、プロパティの並びそのものです。
プロパティの並びが正しさに影響するのかしないのか?

この問題は、次のような状況から発生しました。
1つのプログラムの中で、2つ目の指標を1つ目の指標の値で計算しようとします。
(4 , Buffer5, INDICATOR_DATA)
に2つ目のインジケータの結果を表示しようとするのですが、表示されません。
Buffer5[]を印刷して確認したところ、プリンターではすべて正しく 表示されています。問題は表示することにあることがわかりました。
どこを掘ればいいのかわからない。#
Buffer1 と
Buffer2 は表示されますが、Buffer5 が表示されません。
ダイナミックプロパティPlotIndexSetInteger()を使ってみましたが、同じ結果でした。

Buffer1 とBuffer2
シリーズとして設定し値を記録 for(int i=limit; i>=0; i--) Buffer5 を通常の配列として設定し
値を記録 for(int i=pos; i<total-1; i++) すなわち、すべてのバッファの値が左から右へ書き込まれます。ここは特に問題ないはずです。エラーや警告はありません。どこを掘ればいいのか?

#property indicator_buffers 7
#property indicator_plots   3

//--------------------------------------------------
//indicator1
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrGoldenrod
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1

#property indicator_type2   DRAW_LINE
#property indicator_color2  clrGoldenrod
#property indicator_style2  STYLE_SOLID
#property indicator_width2  1

#property indicator_type3   DRAW_NONE
#property indicator_type4   DRAW_NONE

//indicator2
#property indicator_type5   DRAW_ARROW
#property indicator_color5  clrGoldenrod
#property indicator_style5  STYLE_DOT
#property indicator_width5  1

#property indicator_type6   DRAW_NONE
#property indicator_type7   DRAW_NONE

//--------------------------------------------------
//indicator1 buffers
SetIndexBuffer(0, Buffer1,   INDICATOR_DATA);
SetIndexBuffer(1, Buffer2,   INDICATOR_DATA);
SetIndexBuffer(2, Buffer3,   INDICATOR_CALCULATIONS);
SetIndexBuffer(3, Buffer4,   INDICATOR_CALCULATIONS);
//indicator2 buffers 
SetIndexBuffer(4, Buffer5,   INDICATOR_DATA);
SetIndexBuffer(5, Buffer6,   INDICATOR_CALCULATIONS);
SetIndexBuffer(6, Buffer7,   INDICATOR_CALCULATIONS);
 
Roman:

mql5バッファのプロパティを 設定する際、プロパティの順番に依存性はありますか?

それとも、最初に日付を指定して、次に計算をするのでしょうか?

バッファのインデックスで タイプが変わるのは明らかで、考慮していない。
気になるのは、プロパティの並びそのものです。
プロパティの並びは正しさに影響するのか、しないのか?

データバッファとカラーバッファの 順序だけが正しさに影響する。

一般的に、ビルドに2-3-4個のバッファがある場合、それらは一列に並んでいるはずです。

あなたの例では違いはありませんが、バッファ番号とビルド番号を混同しないように、2番目のオプションがある方がすっきりします。

 
Alexey Viktorov:

データバッファとカラーバッファの シーケンスのみが影響を受けます。

一般的に、ビルドに2-3-4個のバッファがある場合、それらは一列に並んでいるはずです。

あなたの例では違いはありませんが、バッファ番号とビルド番号を混同しないように、2番目のオプションがある方がすっきりします。

私はこの一連のバッファープロパティを設定しました。

#property indicator_buffers 7
#property indicator_plots   3

//--------------------------------------------------
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrGoldenrod
#property indicator_style1  STYLE_SOLID
#property indicator_width1  1

#property indicator_type2   DRAW_LINE
#property indicator_color2  clrGoldenrod
#property indicator_style2  STYLE_SOLID
#property indicator_width2  1

#property indicator_type3   DRAW_ARROW
#property indicator_color3  clrGoldenrod
#property indicator_style3  STYLE_DOT
#property indicator_width3  1

#property indicator_type4   DRAW_NONE
#property indicator_type5   DRAW_NONE
#property indicator_type6   DRAW_NONE
#property indicator_type7   DRAW_NONE

//--------------------------------------------------
//indicator1 buffers
SetIndexBuffer(0, Buffer1, INDICATOR_DATA);
SetIndexBuffer(1, Buffer2, INDICATOR_DATA);
SetIndexBuffer(2, Buffer5INDICATOR_DATA);
SetIndexBuffer(3, Buffer3, INDICATOR_CALCULATIONS);
SetIndexBuffer(4, Buffer4, INDICATOR_CALCULATIONS);
SetIndexBuffer(5, Buffer6, INDICATOR_CALCULATIONS);
SetIndexBuffer(6, Buffer7, INDICATOR_CALCULATIONS);

I.e. 最初にすべての表示されたINDICATOR_DATA、次にすべてのINDICATOR_CALCULATIONS
#プロパティはシーケンスに編集されます
そしてなんと、すべての3つのバッファが表示されます。
依存関係があることがわかりました。まず、すべての日付を入れ、次にすべての計算をします。

 
Roman:

バッファープロパティの並びを以下のように設定しました。

すなわち、最初にすべての表示されたINDICATOR_DATA 、次にすべてのINDICATOR_CALCULATIONS
#property edited to sequence
そしてなんと、3つのバッファがすべて表示されています。
最初にすべての日付、次にすべての計算を配置する依存関係があることが判明しました。

実験したわけではありませんが、不整合に宣言されたマッピングバッファでも動作させることは可能だと思います。飽きたら実験してみます。(忘れなければ)です。

このセリフだけ

#property indicator_type4   DRAW_NONE
#property indicator_type5   DRAW_NONE
#property indicator_type6   DRAW_NONE
#property indicator_type7   DRAW_NONE
は不要です。バッファ4-7は補助的なものとして宣言されており、コンストラクションとは一切関係がない。
 
Alexey Viktorov:

実験したわけではありませんが、矛盾して宣言されたマッピングバッファでも動作させることは可能だと思います。飽きたら実験してみます。(忘れなければ)です。

これらの行のみ

私は不要だと考えています。バッファ4-7は補助的なものとして宣言されており、コンストラクションとは無関係である。

コメントアウトしてみました

#property indicator_type4   DRAW_NONE
#property indicator_type5   DRAW_NONE
#property indicator_type6   DRAW_NONE
#property indicator_type7   DRAW_NONE

と表示されるようになり、3つの構文とも不正確になりました。
コメントアウトを解除したら、すべてが正常に戻りました。
コンパイラに必要なことがわかったのです。

 
Roman:

それは、すべての日付を最初に置き、次にすべての計算をするという依存関係があることが判明したのです。

そうですね、レギュラーバッファ(ヒストグラム-矢印-線)の順番も重要です。
最近、「バグ」を探すのに数時間を費やしました。シンプルなバッファがすべてチャートに表示されない理由です。

バッファが何十個もある場合、新しいバッファを追加するのは面倒です。

 
Taras Slobodyanik:

そうですね、通常のバッファ(ヒストグラム-矢印線)の整合性も重要です。
最近、「バグ」を探すのに数時間を費やしました。なぜ、シンプルなバッファがすべてチャートに表示されないのか。

バッファが何十個もあると、新しいバッファを追加するのが面倒なんです。

そう、インジケータ・バッファを持つ言語のロジックは、ベストとは言えないのです。どこかで見たのですが、µl単位のインジケーターバッファは、正しい順序で完全に記述する必要があるそうです。そして、これは正しいことであり、便利なことではありません。