記事「手動のチャート作成および取引ツールキット(第III部)最適化と新しいツール」についてのディスカッション

 

新しい記事「手動のチャート作成および取引ツールキット(第III部)最適化と新しいツール」はパブリッシュされました:

この記事では、キーボードショートカットを使用してチャート上にグラフィカルオブジェクトを描画するというアイデアをさらに発展させます。ライブラリに新しいツールが追加されました。これには、任意の頂点を通る直線や、反転時間とレベルの評価を可能にする一連の長方形が含まれます。また、この記事では、パフォーマンス向上のためにコードを最適化する可能性を示しています。実装例が書き直され、他の取引プログラムと一緒にShortcutsを使用できるようになりました。初心者より少し上回るコード知識レベルが必要とされます。

最初の機能は、より短い時間枠でのラインシフト効果に関連しています。通常の方法で線を引くと、時間枠を切り替えるときに次のようなものが表示されます。

D1ラインが終了 H4ラインが終了

D1の極値と正確に一致する線の左端がH4の左にシフトしているため、極値とは一致しません。一日の極値が一日の始まりに当たる必要がないので、これは明らかな効果です。より高い精度が必要な場合は、手動で描画するときに、線をほぼプロットしてから、端を調整するために短い時間枠に切り替えることができます。

この解決策は、1つまたは2つのチャートがある場合に利用できます。20ある場合はどうなるでしょうか。100の場合は?これは煩わしくなりえます。

プログラムには自動描画機能があるので、すべてのオブジェクトを描画するときにこの雑用をプログラムに任せることができます。

作者: Oleh Fedorov

 

英語版のコンパイルに問題がある場合があります。ファイル "Utilites.mqh "のトランスレータがスペース記号を別のものに変えてしまうのです。

そのため、コンパイル中に "Declaration without type "というエラーが表示されたら、このメッセージが表示されている文字列をダブルクリックしてください。次に、間違った記号を1つだけ選択し(いつものようにメインコードとコメントの間にある)、Ctrl+Hを 押すか、メインメニューから検索 -> 置換を 選択します。

上の行(検索)にはIDEが「間違った」記号を挿入し、下の行(置換)には単純なスペースを挿入します。そして「すべて置換」ボタンを押します。

さて、最後の操作はコンパイル(Ctrl+F7)です。

エラーを修正する方法 ""

そして、できるだけ早くモデレーターに正しいファイルを送るようにします。

 

こんにちは。私もマニュアル派で、このようなものを探していました。

しかし、私は通常1つのツールの複数のウィンドウ(タイムフレーム)を複数のモニターで開いています。

MQLで、これらの
描画されたオブジェクトを、ツールの開いているすべてのウィンドウに表示させる可能性はありますか?例えば、Tigertradeや他のプラットフォームで行われているように。

例えば、5mで描画し、同じレベルが1mのウィンドウに表示されます。

MQLにそのようなツールがないことに驚いています。


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

 
okskreen61 #:

こんにちは。僕もハンドトラック運転手で、こういうのを探していたんだ。

しかし、私は通常、1つのツールの複数のウィンドウ(時間枠)を複数のモニターで開いています。

これらの
描画されたオブジェクトを、ツールの開いているすべてのウィンドウに表示させるMQLの可能性はありますか?例えば、Tigertradeや他のプラットフォームで行われているように。

例えば、私が5mでレベルを描画し、同じレベルが1mのウィンドウに表示されます。

MQLにこのようなツールがないのは驚きです。


ありがとうございます。

一番簡単な方法はテンプレートを作ることです。それに、kodobaseのどこかで似たようなものを見ました(インジケータかスクリプトの形で)。
 

ファイル "Utilites.mqh "には101のエラーがある:

'New_Bar_First_Start' - 型のない宣言 Utilites.mqh 80 5

'mode' - 期待されるコンマ Utilites.mqh 80 25

'New_Bar_First_Start' - 型のない宣言 Utilites.mqh 1491 26

'mode' - カンマが期待される Utilites.mqh 1491 46

'mode' - 宣言されていない識別子 Utilites.mqh 1511 18

'Is_Select_On_Create' - 宣言されていない識別子 Graphics.mqh 307 45

'Print_Warning_Messages' - 宣言されていない識別子 Graphics.mqh 249 8

'Print_Warning_Messages' - 宣言されていない識別子 Graphics.mqh 361 8

'CMouse' is not a class, struct or union Graphics.mqh 940 26

'Bar' - 宣言されていない識別子 Graphics.mqh 940 34

'Bar' - 期待される何らかの演算子 Graphics.mqh 940 34

'(' - セミコロンが予期される Graphics.mqh 940 37

')'- expression expected Graphics.mqh 940 38

'allPrefixes' - 宣言されていない識別子 Graphics.mqh 944 37

'[' - 配列が必要です Graphics.mqh 944 48

'CMouse' is not a class, struct or union Graphics.mqh 959 6

'Below' - 宣言されていない識別子 Graphics.mqh 959 14

'Below' - 期待される何らかの演算子 Graphics.mqh 959 14

'(' - アンバランスな左括弧 Graphics.mqh 959 5

')'- 期待される表現 Graphics.mqh 959 20

')'- 予期しないトークン Graphics.mqh 959 21

if' にマッチしない不正な 'else' Graphics.mqh 968 3

variable 'tmp_price' not used Graphics.mqh 950 3

variable 'tmp_time' not used Graphics.mqh 954 3

'Simple_Vertical_Style' - 宣言されていない識別子 Graphics.mqh 420 26

'Simple_Vertical_Width' - 宣言されていない識別子 Graphics.mqh 422 26

'Simple_Horizontal_Style' - 宣言されていない識別子 Graphics.mqh 430 28

'Simple_Horizontal_Width' - 宣言されていない識別子 Graphics.mqh 432 28

'CMouse' is not a class, struct or union Graphics.mqh 434 14

'Window' - 宣言されていない識別子 Graphics.mqh 434 22

'Window' - 期待される何らかの演算子 Graphics.mqh 434 22

')'- 予期しないトークン Graphics.mqh 434 29

'Print_Warning_Messages' - 宣言されていない識別子 Graphics.mqh 439 10

'DEBUG_MESSAGE_PREFIX' - 宣言されていない識別子 Graphics.mqh 442 15

'allPrefixes' - 宣言されていない識別子 Graphics.mqh 451 9

'[' - 必須配列 Graphics.mqh 451 20

'Print_Warning_Messages' - 宣言されていない識別子 Graphics.mqh 462 10

'DEBUG_MESSAGE_PREFIX' - 宣言されていない識別子 Graphics.mqh 464 15

'CMouse' is not a class, struct or union Graphics.mqh 469 39

'Price' - 宣言されていない識別子 Graphics.mqh 469 47

'Price' - 期待される何らかの演算子 Graphics.mqh 469 47

'(' - ':' コロン記号が予想される Graphics.mqh 469 52

')'- 予想される表現 Graphics.mqh 469 53

':'- 予期しないトークン Graphics.mqh 469 55

'(' - expression expected Graphics.mqh 469 52

'=' - オペランドが予想されます Graphics.mqh 469 24

式は無効です Graphics.mqh 469 57

'CMouse' is not a class, struct or union Graphics.mqh 470 37

'Time' - 宣言されていない識別子 Graphics.mqh 470 45

'Time' - 期待される何らかの演算子 Graphics.mqh 470 45

'(' - ':' コロン記号が予想される Graphics.mqh 470 49

')'- expression expected Graphics.mqh 470 50

':'- 予期しないトークン Graphics.mqh 470 52

'(' - expression expected Graphics.mqh 470 49

'=' - オペランドが予想されます Graphics.mqh 470 23

式は効果なし Graphics.mqh 470 54

初期化されていない変数 'Current_Object_Time' の使用の可能性 Graphics.mqh 478 5

初期化されていない変数 'Current_Object_Price' の使用の可能性 Graphics.mqh 479 5

'Print_Warning_Messages' - 宣言されていない識別子 Graphics.mqh 516 8

'DEBUG_MESSAGE_PREFIX' - 宣言されていない識別子 Graphics.mqh 518 13

'DEBUG_MESSAGE_PREFIX' - 宣言されていない識別子 Graphics.mqh 573 11

'DEBUG_MESSAGE_PREFIX' - 宣言されていない識別子 Graphics.mqh 610 11

'allPrefixes' - 宣言されていない識別子 Graphics.mqh 672 37

'[' - 配列必須 Graphics.mqh 672 48

'allPrefixes' - 宣言されていない識別子 Graphics.mqh 674 39

'[' - 要配列 Graphics.mqh 674 50

unknown' から 'string' への暗黙の変換 Graphics.mqh 674 39

'CMouse' is not a class, struct or union Graphics.mqh 676 19

'Bar' - 宣言されていない識別子 Graphics.mqh 676 27

'Bar' - 期待される何らかの演算子 Graphics.mqh 676 27

'(' - セミコロンが予期される Graphics.mqh 676 30

')'- expression expected Graphics.mqh 676 31

'CMouse' is not a class, struct or union Graphics.mqh 681 6

'Below' - 宣言されていない識別子 Graphics.mqh 681 14

'Below' - 期待される何らかの演算子 Graphics.mqh 681 14

'(' - アンバランスな左括弧 Graphics.mqh 681 5

')'- 期待される表現 Graphics.mqh 681 20

')'- 予期しないトークン Graphics.mqh 681 21

if' と一致しない不正な 'else' Graphics.mqh 687 3

variable 'levels_descriptions' not used Graphics.mqh 666 10

variable 'time1' not used Graphics.mqh 675 12

variable 'time2' not used Graphics.mqh 675 19

'Pitchfork_Shiff_Colour' - 宣言されていない識別子 Graphics.mqh 771 23

'Pitchfork_Shiff_Width' - 宣言されていない識別子 Graphics.mqh 772 23

'Pitchfork_Shiff_Style' - 宣言されていない識別子 Graphics.mqh 773 23

'Pitchfork_Reverce_Colour' - 宣言されていない識別子 Graphics.mqh 779 25

'Pitchfork_Reverce_Width' - 宣言されていない識別子 Graphics.mqh 780 25

'Pitchfork_Reverce_Style' - 宣言されていない識別子 Graphics.mqh 781 25

'Pitchfork_Main_Colour' - 宣言されていない識別子 Graphics.mqh 787 25

'Pitchfork_Main_Width' - 宣言されていない識別子 Graphics.mqh 788 25

'Pitchfork_Main_Style' - 宣言されていない識別子 Graphics.mqh 789 25

'CMouse' is not a class, struct or union Graphics.mqh 824 26

'Price' - 宣言されていない識別子 Graphics.mqh 824 34

'Price' - 期待される何らかの演算子 Graphics.mqh 824 34

'(' - semicolon が予期される Graphics.mqh 824 39

')'- expression expected Graphics.mqh 824 40

'CMouse' is not a class, struct or union Graphics.mqh 825 21

'Bar' - 宣言されていない識別子 Graphics.mqh 825 29

'Bar' - 期待される何らかの演算子 Graphics.mqh 825 29

'(' - セミコロンが予期される Graphics.mqh 825 32

')'- expression expected Graphics.mqh 825 33

'CMouse' is not a class, struct or union Graphics.mqh 829 6

'Below' - 宣言されていない識別子 Graphics.mqh 829 14

'Below' - 期待される何らかの演算子 Graphics.mqh 829 14

'(' - アンバランスな左括弧 Graphics.mqh 829 5

')'- 期待される表現 Graphics.mqh 829 20

')'- 予期しないトークン Graphics.mqh 829 21

if' にマッチしない不正な 'else' Graphics.mqh 833 3

変数 'base' が使用されていない Graphics.mqh 827 19

'Short_Level_Length_In_Pixels' - 宣言されていない識別子 Graphics.mqh 1050 6

'Short_Level_Length_Pix' - 宣言されていない識別子 Graphics.mqh 1053 20

101 エラー、11 警告 101 12


 
このコードは残念ながら1つのユニットなので、事前にGlobalVariables.mqhとMouse.mqhをリンクしておかないと、Utilites.mqhファイルを使うことができません。これは、Utilites.mqhファイルで直接行うか、必要なクラスを使用するコードで行うことができます。入力変数もGlobalVariables.mqhに含まれていることに注意してください。コード実行中にこれらのパラメーターを見たくない場合は、その前にある "input "という単語を削除する ことができますが、変数自体は残さなければなりません。