mql5言語の特徴、微妙なニュアンスとテクニック - ページ 196 1...189190191192193194195196197198199200201202203...247 新しいコメント Alexey Viktorov 2021.01.15 16:37 #1951 fxsaber:時間がどこから来るのか、示唆がない(私も同じ)。おそらく、時間帯によるのでしょう。これはもう、おもしろくないですね。 当てずっぽう。モスクワを持っています。GMTで1時間もない・・・他の考えもない。 Andrey Khatimlianskii 2021.01.22 15:50 #1952 トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム 端末の自動エラー監視を利用するには? レナート・ファットフーリン, 2021.01.22 16:12 Print(NULL) メソッドを使用して、ログを強制的にディスクにリセットする文書化されていない方法があります。 fxsaber 2021.01.22 16:26 #1953 Andrey Khatimlianskii: トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム 端末の自動エラー監視を利用するには? レナート・ファットフーリン, 2021.01.22 16:12 Print(NULL) を使って強制的にログをディスクにリセットする、文書化されていない方法があります。 カッコイイ! Andrey Khatimlianskii 2021.01.22 23:59 #1954 Andrey Khatimlianskii: fxsaber: カッコイイ! 確認せずに急いでシェア トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム 端末の自動エラー監視を利用するには? アンドレイ・ハチムリアンスキー, 2021.01.23 00:59 Print(NULL); NULL' - 'void' 型の式は不正です。 Aleksei Beliakov 2021.01.23 01:13 #1955 Andrey Khatimlianskii:確認せずにシェアすることを急いだため 文字列を先に0にしてから印刷するとどうなるか fxsaber 2021.02.19 09:36 #1956 チャートの表示(アクティブ化しない)オプション(MT5のみ) // Показывает (не активирует) данный чарт. bool ChartShow( const long Chart ) { const bool IsDocked = ChartGetInteger(Chart, CHART_IS_DOCKED); return(ChartSetInteger(Chart, CHART_IS_DOCKED, !IsDocked) && ChartSetInteger(Chart, CHART_IS_DOCKED, IsDocked) && ChartGetInteger(Chart, CHART_WINDOW_HANDLE)); } 使用例 // Переключает чарты клавишами клавиатуры '<'/'>'. #define KEY_LEFT2 188 // '<' #define KEY_RIGHT2 190 // '>' int GetExpertCharts( long &Charts[], const string ExpertName = NULL ) { int Amount = 0; for (long Chart = ChartFirst(); Chart != -1; Chart = ChartNext(Chart)) if ((ExpertName == NULL ) || (ChartGetString(Chart, CHART_EXPERT_NAME) == ExpertName)) { Amount = ArrayResize(Charts, Amount + 1, 10); Charts[Amount - 1] = Chart; } return(ArrayResize(Charts, Amount)); } long ChartNextShow( const long Chart, const int Step = 1 ) { long ResChart = Chart; long Charts[]; const int Size = GetExpertCharts(Charts); if ((Size > 1) && (bool)(Step % Size)) for (int i = 0; i < Size; i++) if (Charts[i] == Chart) { ResChart = Charts[(i + ((Step > 0) ? Step : (Size - ((-Step) % Size)))) % Size]; ChartShow(ResChart); // https://www.mql5.com/ru/forum/170952/page196#comment_20841674 break; } return(ResChart); } void OnChartEvent( const int id, const long &lparam, const double&, const string& ) { static long Chart = ChartID(); if (id == CHARTEVENT_KEYDOWN) switch ((int)lparam) { case KEY_LEFT2: Chart = ChartNextShow(Chart, -1); // Показали чарт слева break; case KEY_RIGHT2: Chart = ChartNextShow(Chart); // Показали чарт справа break; } } 残念ながら、チャート起動のオプションは見つかりませんでした。表示のみ。 fxsaber 2021.02.19 11:32 #1957 昔からの悩みを解決。 /* // https://www.mql5.com/ru/forum/1111/page2863#comment_18591240 #define VALUE 10 #define MACROS #ifdef MACROS // Нужно VALUE увеличить в два раза. #endif */ // https://www.mql5.com/ru/forum/1111/page2965#comment_20841725 #define MACRO( x, y, z ) enum nn##z { y = x }; #define MACRO2( x, y ) MACRO( x, y, __LINE__ ) // https://www.mql5.com/ru/forum/1111/page2866#comment_18603128 #define VALUE 10 MACRO2(VALUE, VALUE_TMP) // VALUE_TMP - поле enum, поэтому имя не должно повторяться. #undef VALUE #define VALUE (VALUE_TMP * 2) void OnStart() { Print(VALUE); } このオプションの方が良いですね。#define MACRO3(x, y) const int y = x; MACRO3(VALUE, VALUE_TMP)変数を必要としない。すべての値はコンパイル時に設定されます。A100 さん、ありがとうございました。 Alexey Viktorov 2021.02.19 12:40 #1958 fxsaber:残念ながら、チャート起動のオプションは見つかりませんでした。表示のみです。 よくわからないんだけど......そういうことなの?台本なんです。 ps; そして、これは何でしょう? const bool IsDocked = ChartGetInteger(Chart, CHART_IS_DOCKED); ドキュメントを見ても見当たらないのですが...。 ファイル: 200.mq5 2 kb fxsaber 2021.02.19 12:51 #1959 Alexey Viktorov:ps; これは何ですか?ドキュメントを見ても見当たらないのですが...。 チャート上でALT+Dです。 fxsaber 2021.02.19 12:54 #1960 Alexey Viktorov:意味がわからない......これのことですか?台本なんです。 ありがとう、何かやりすぎた。もちろん、上記は今まで実現できなかったチャート管理を手に入れたのです。しかし、私の目標は違っていた。 // Активирует данный чарт. bool ChartActivate( const long Chart ) { return(ChartSetInteger(Chart, CHART_BRING_TO_TOP, true) && ChartGetInteger(Chart, CHART_WINDOW_HANDLE)); } 使用例 // Переключает чарты с одним и тем же советником клавишами клавиатуры '<'/'>'. void ChartNextActivate( const int Step = 1, const bool Expert = true ) { long Charts[]; // https://www.mql5.com/ru/forum/170952/page196#comment_20841674 const int Size = GetExpertCharts(Charts, Expert ? ChartGetString(0, CHART_EXPERT_NAME) : NULL); const long Chart = ChartID(); if ((Size > 1) && (bool)(Step % Size)) for (int i = 0; i < Size; i++) if (Charts[i] == Chart) { // https://www.mql5.com/ru/forum/170952/page197#comment_20845067 ChartActivate(Charts[(i + ((Step > 0) ? Step : (Size - ((-Step) % Size)))) % Size]); break; } return; } void OnChartEvent( const int id, const long &lparam, const double&, const string& ) { if (id == CHARTEVENT_KEYDOWN) switch ((int)lparam) { case KEY_LEFT2: ChartNextActivate(-1); break; case KEY_RIGHT2: ChartNextActivate(); break; } } 1...189190191192193194195196197198199200201202203...247 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
時間がどこから来るのか、示唆がない(私も同じ)。おそらく、時間帯によるのでしょう。
これはもう、おもしろくないですね。
当てずっぽう。モスクワを持っています。GMTで1時間もない・・・他の考えもない。
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
端末の自動エラー監視を利用するには?
レナート・ファットフーリン, 2021.01.22 16:12
Andrey Khatimlianskii:
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
端末の自動エラー監視を利用するには?
レナート・ファットフーリン, 2021.01.22 16:12
カッコイイ!
カッコイイ!
確認せずに急いでシェア
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
端末の自動エラー監視を利用するには?
アンドレイ・ハチムリアンスキー, 2021.01.23 00:59
NULL' - 'void' 型の式は不正です。
確認せずにシェアすることを急いだため
チャートの表示(アクティブ化しない)オプション(MT5のみ)
使用例
残念ながら、チャート起動のオプションは見つかりませんでした。表示のみ。
このオプションの方が良いですね。
変数を必要としない。すべての値はコンパイル時に設定されます。A100 さん、ありがとうございました。
残念ながら、チャート起動のオプションは見つかりませんでした。表示のみです。
よくわからないんだけど......そういうことなの?台本なんです。
ps; そして、これは何でしょう?
ドキュメントを見ても見当たらないのですが...。
ps; これは何ですか?
ドキュメントを見ても見当たらないのですが...。
チャート上でALT+Dです。
意味がわからない......これのことですか?台本なんです。
ありがとう、何かやりすぎた。もちろん、上記は今まで実現できなかったチャート管理を手に入れたのです。しかし、私の目標は違っていた。
使用例