MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1283 1...127612771278127912801281128212831284128512861287128812891290...1953 新しいコメント Valeriy Yastremskiy 2020.10.26 15:36 #12821 MakarFX:EAがサーバーに与える 負荷はどのように判断すればよいですか?1ティックごとに、アスク、ビッド、スプレッド、TICKVALUEを尋ねます。 私の理解が正しければ、プロファイラーが役に立ちます。しかし、負荷は同じではないことを理解しておく必要があります。リクエストの実行に費やされる時間やCPUの負荷のことです。1つのウィンドウに1つのシンボルにつき1つのExpert Advisorがあれば、OKです。しかし、1台のマシンで10台の端末に40シンボルなどで120個のウィンドウがあると、マシンがフリーズする可能性があります)。 Valeriy Yastremskiy 2020.10.26 15:48 #12822 Aleksei Stepanenko:どうだろう、バトルでやってみるのもいいかもしれない。あるいは、オプションでINT_MAX?はい、そうやって計算しています。また、土日を含むデートからデートまでが別物です。 ポイント・パー・セカンド、はい読み取れます。また、TFが低いと速度が速くなり、航続距離が短くなります。 _ ;qstr7_41;_;EURUSD;_TF_;1; Имя файла ;QstrV.csv; Локальное время ;2020.10.23 15:34:25 2020.10.23 14:34:20; [i]= ;13; VTrend[i] = ;25; SumVTrend= ;97; AbsVTrend= ;341; pos= ;8;SumVTrendPos= ;339; neg= ;7; SumVTrendNeg= ;-345 2020.10.23 14:34:20; [i]= ;2; VTrend1[i] = ;272; SumVTrend1= ;17; AbsVTrend1= ;137; pos1= ;2;SumVTrendPos1= ;-84; neg1= ;2; SumVTrendNeg1= ;-84 _ ;qstr7_41;_;EURUSD;_TF_;5; Имя файла ;QstrV.csv; Локальное время ;2020.10.23 15:34:36; 2020.10.23 14:34:31; [i]= ;15; VTrend[i] = ;414; SumVTrend= ;47; AbsVTrend= ;124; pos= ;9;SumVTrendPos= ;160; neg= ;8; SumVTrendNeg= ;-82 2020.10.23 14:34:31; [i]= ;2; VTrend1[i] = ;-32; SumVTrend1= ;63; AbsVTrend1= ;83; pos1= ;2;SumVTrendPos1= ;37; neg1= ;2; SumVTrendNeg1= ;-32 _ ;qstr7_41;_;EURUSD;_TF_;1440; Имя файла ;QstrV.csv; Локальное время ;2020.10.26 15:42:42; 2020.10.26 14:42:42; [i]= ;14; VTrend[i] = ;-26; SumVTrend= ;3; AbsVTrend= ;9; pos= ;9;SumVTrendPos= ;9; neg= ;7; SumVTrendNeg= ;-11 2020.10.26 14:42:42; [i]= ;1; VTrend1[i] = ;-7; SumVTrend1= ;-7; AbsVTrend1= ;7; pos1= ;1;SumVTrendPos1= ;0; neg1= ;2; SumVTrendNeg1= ;-7 Igor Makanu 2020.10.26 16:08 #12823 Valeriy Yastremskiy:私の理解が正しければ、プロファイラーが役に立ちます。しかし、負荷が違うことを理解する必要があります。これは、クエリの実行に費やされる時間、あるいはマシンのCPU負荷である。1つのウィンドウに1つのシンボルにつき1つのExpert Advisorがあれば、OKです。また、1台のマシンで10台の端末に40シンボルなどで120個のウィンドウがあると、マシンがフリーズする可能性があります)。 MQL4からの端末データを何度もアクセスする必要がある場合は、OrderSelecthttps://www.mql5.com/ru/forum/342989#comment_16743716 とすることは既に説明しました。 同じように現在の価格を取得するテストができます - 出力は1秒間に数百万回増加するので、同様に1ティックあたり100500回使用することができると思います マーケットウォッチウィンドウに表示されるシンボルの数が多ければ多いほど、端末の負荷も大きくなります。 つまり、端末を賢く使えば、何もフリーズすることはありません。マーケットウォッチウィンドウには、使用する10個のシンボルがあります。 同時に開くことのできるチャートの数は確認していませんが、ヒストリーを1000本までに制限すれば、数十個のチャートウィンドウを問題なく開くことができると思います。 ANDREY 2020.10.26 16:30 #12824 皆さん、ごきげんよう。 mql5の勉強を始めました(mql4の後)。mql4には、日付と時間という機能グループがあります。5に同じグループがあります。しかし、この5つの機能群は、4つの機能群に比べると、かなり少なくなっています。5には、現在の時、分、秒の値を返す関数はありません。などの機能があります。 例えば、4番目には、現在の時間の値を返すHour()関数があった。5にはそのような機能はありません。 QUESTION 5のどの関数がHour() と類似しているか、また4のDate and Time関数グループの他の関数で5の類似グループに ないものはどれか。 よろしくお願いします。 Valeriy Yastremskiy 2020.10.26 16:33 #12825 Igor Makanu:MQL4から端末データに繰り返しアクセスする必要があるかどうかは、すでに説明したとおりですが、次にOrderSelecthttps://www.mql5.com/ru/forum/342989#comment_167437161秒間に数百万回出力が増加するので、1ティックあたり100500回使うことも可能だと思います。マーケットウォッチウィンドウに表示されるシンボルの数が多ければ多いほど、端末の負荷は大きくなり、それぞれ異なるシンボルからデータを呼び出すと、ラグも発生しますつまり、端末を賢く使えば、何もフリーズすることはありません。マーケットウォッチウィンドウには、使用する10個のシンボルがあります。同時に開くことのできるチャートの数は確認していませんが、ヒストリーを1000本までに制限すれば、おそらく数十個のチャートウィンドウを問題なく開くことができると思います。 (ご指摘ありがとうございました)))つまり、合理的な要求であればすべてがうまくいくはずで、つまり低コストの(実行時間とCPU負荷の点で)要求であることを意味します。) Igor Makanu 2020.10.26 16:35 #12826 ANDREY:皆さん、ごきげんよう。mql5の勉強を始めました(mql4の後)。mql4には、日付と時間という機能グループがあります。5に同じグループがあります。しかし、この5つの機能群は、4つの機能群に比べると、かなり少なくなっています。5には、現在の時、分、秒の値を返す関数はありません。などの機能があります。 例えば、4番目には、現在の時間の値を返すHour()関数があった。5にはそのような機能はありません。 QUESTION5のどの関数がHour()と 類似しているか、また4の日付と時刻の関数グループから、5の類似グループにない他の関数 があるか。よろしくお願いします。use https://www.mql5.com/ru/docs/dateandtime/timecurrent第二版関数呼び出しdatetime TimeCurrent( MqlDateTime& dt_struct // переменная типа структуры ); 一般に、https://www.mql5.com/ru/docs/dateandtime/timetostruct Valeriy Yastremskiy 2020.10.26 16:39 #12827 4Kのためのヒント。チャート上のマウスクリック座標を返す方法、できればバー番号で返したい。スクリプトが投げられた座標を見つけることしかできません。 Igor Makanu 2020.10.26 16:41 #12828 Valeriy Yastremskiy:ありがとうございます、思い出しました)))はい、当時は理解できなかったことがたくさんあります)ただ、合理的な要求ではすべてがうまくいくはずだと言いたかったのです。 これらはコスト(実行時間やCPU負荷)の安い要求です)。 は コードが "汚い "と、どんなシステムでも台無しにすることができる また、Ask/Bid価格へのアクセスが1tickあたり数十回でも発生するような合理的な使い方であれば、EAの性能に影響はありません(最大1~2%程度)。 つまり、1tickあたり数千回Ask/Bidにアクセスするアルゴリズムであれば、リソース(またはシステム機能の呼び出し/端末の環境)の使用ロジックは...となるはずです。アルゴリズムそのものを見直すか、アルゴリズム計算の前に一度Ask/Bidの 値を覚えておく必要がありそうです。 Valeriy Yastremskiy: 4kについてアドバイスをお願いします。チャート上でマウスをクリックした座標を戻る方法、できればバー番号で。スクリプトを投げた座標だけを探す。 おそらくChartXYToTimePrice https://docs.mql4.com/ru/chart_operations/chartxytotimeprice を探します。 only discussedhttps://www.mql5.com/ru/forum/353726 こちらもクリックについて議論しているスレッドですhttps://www.mql5.com/ru/forum/344607 Valeriy Yastremskiy 2020.10.26 17:02 #12829 Igor Makanu:もし、アルゴリズムが1ティックあたり数千回のAsk/Bid価格を参照することを意味しているとしたら......。アルゴリズム自体を見直すか、アルゴリズム算出前に一度Ask/Bidの値を覚えておく必要がありそうです。おそらく、ChartXYToTimePrice https://docs.mql4.com/ru/chart_operations/chartxytotimeprice を探してみてください。only discussedhttps://www.mql5.com/ru/forum/353726こちらもクリックについて議論しているスレッドですhttps://www.mql5.com/ru/forum/344607 一般に、ティックで価格を取得した場合、それが重要でなければ、OnTickの終わりまでそれを使って作業することができます。そして、スリップ防止に役立つリミッター)。 ローソク足をクリックして、その値をファイルに書き出したかったのです。 チャートイベント_マウス_ムーブ Igor Makanu 2020.10.26 17:39 #12830 Valeriy Yastremskiy:一般に、ティックで価格を取得した場合、重要でなければOnTickの終わりまでそれを使って作業することができます。また、滑り止めのためのリミッター)ローソク足をクリックして、その値をファイルに保存したいのですが。 チャートイベント_マウス_ムーブ それで棒グラフの値段や時間を決めたいのかもしれませんね。void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam) { if(id == CHARTEVENT_CLICK) { int window = 0; datetime time; double price; if(ChartXYToTimePrice(0, (int)lparam, (int)dparam, window, time, price)) { Print("time = ", time, " ,price = ", price); } } } というか、これらはチャート上の時間+価格の値におけるマウスクリックの座標であり、バーはiBarShift() で定義されるべきものです。 1...127612771278127912801281128212831284128512861287128812891290...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
EAがサーバーに与える 負荷はどのように判断すればよいですか?
1ティックごとに、アスク、ビッド、スプレッド、TICKVALUEを尋ねます。
私の理解が正しければ、プロファイラーが役に立ちます。しかし、負荷は同じではないことを理解しておく必要があります。リクエストの実行に費やされる時間やCPUの負荷のことです。1つのウィンドウに1つのシンボルにつき1つのExpert Advisorがあれば、OKです。しかし、1台のマシンで10台の端末に40シンボルなどで120個のウィンドウがあると、マシンがフリーズする可能性があります)。
どうだろう、バトルでやってみるのもいいかもしれない。あるいは、オプションでINT_MAX?
はい、そうやって計算しています。
また、土日を含むデートからデートまでが別物です。
ポイント・パー・セカンド、はい読み取れます。また、TFが低いと速度が速くなり、航続距離が短くなります。
私の理解が正しければ、プロファイラーが役に立ちます。しかし、負荷が違うことを理解する必要があります。これは、クエリの実行に費やされる時間、あるいはマシンのCPU負荷である。1つのウィンドウに1つのシンボルにつき1つのExpert Advisorがあれば、OKです。また、1台のマシンで10台の端末に40シンボルなどで120個のウィンドウがあると、マシンがフリーズする可能性があります)。
MQL4からの端末データを何度もアクセスする必要がある場合は、OrderSelecthttps://www.mql5.com/ru/forum/342989#comment_16743716 とすることは既に説明しました。
同じように現在の価格を取得するテストができます - 出力は1秒間に数百万回増加するので、同様に1ティックあたり100500回使用することができると思います
マーケットウォッチウィンドウに表示されるシンボルの数が多ければ多いほど、端末の負荷も大きくなります。
つまり、端末を賢く使えば、何もフリーズすることはありません。マーケットウォッチウィンドウには、使用する10個のシンボルがあります。
同時に開くことのできるチャートの数は確認していませんが、ヒストリーを1000本までに制限すれば、数十個のチャートウィンドウを問題なく開くことができると思います。
皆さん、ごきげんよう。
mql5の勉強を始めました(mql4の後)。mql4には、日付と時間という機能グループがあります。5に同じグループがあります。しかし、この5つの機能群は、4つの機能群に比べると、かなり少なくなっています。5には、現在の時、分、秒の値を返す関数はありません。などの機能があります。
例えば、4番目には、現在の時間の値を返すHour()関数があった。5にはそのような機能はありません。
QUESTION
5のどの関数がHour() と類似しているか、また4のDate and Time関数グループの他の関数で5の類似グループに ないものはどれか。
よろしくお願いします。
MQL4から端末データに繰り返しアクセスする必要があるかどうかは、すでに説明したとおりですが、次にOrderSelecthttps://www.mql5.com/ru/forum/342989#comment_16743716
1秒間に数百万回出力が増加するので、1ティックあたり100500回使うことも可能だと思います。
マーケットウォッチウィンドウに表示されるシンボルの数が多ければ多いほど、端末の負荷は大きくなり、それぞれ異なるシンボルからデータを呼び出すと、ラグも発生します
つまり、端末を賢く使えば、何もフリーズすることはありません。マーケットウォッチウィンドウには、使用する10個のシンボルがあります。
同時に開くことのできるチャートの数は確認していませんが、ヒストリーを1000本までに制限すれば、おそらく数十個のチャートウィンドウを問題なく開くことができると思います。
(ご指摘ありがとうございました)))つまり、合理的な要求であればすべてがうまくいくはずで、つまり低コストの(実行時間とCPU負荷の点で)要求であることを意味します。)
皆さん、ごきげんよう。
mql5の勉強を始めました(mql4の後)。mql4には、日付と時間という機能グループがあります。5に同じグループがあります。しかし、この5つの機能群は、4つの機能群に比べると、かなり少なくなっています。5には、現在の時、分、秒の値を返す関数はありません。などの機能があります。
例えば、4番目には、現在の時間の値を返すHour()関数があった。5にはそのような機能はありません。
QUESTION
5のどの関数がHour()と 類似しているか、また4の日付と時刻の関数グループから、5の類似グループにない他の関数 があるか。
よろしくお願いします。
use https://www.mql5.com/ru/docs/dateandtime/timecurrent
第二版関数呼び出し
一般に、https://www.mql5.com/ru/docs/dateandtime/timetostructありがとうございます、思い出しました)))はい、当時は理解できなかったことがたくさんあります)ただ、合理的な要求ではすべてがうまくいくはずだと言いたかったのです。 これらはコスト(実行時間やCPU負荷)の安い要求です)。
は
コードが "汚い "と、どんなシステムでも台無しにすることができる
また、Ask/Bid価格へのアクセスが1tickあたり数十回でも発生するような合理的な使い方であれば、EAの性能に影響はありません(最大1~2%程度)。
つまり、1tickあたり数千回Ask/Bidにアクセスするアルゴリズムであれば、リソース(またはシステム機能の呼び出し/端末の環境)の使用ロジックは...となるはずです。アルゴリズムそのものを見直すか、アルゴリズム計算の前に一度Ask/Bidの 値を覚えておく必要がありそうです。
4kについてアドバイスをお願いします。チャート上でマウスをクリックした座標を戻る方法、できればバー番号で。スクリプトを投げた座標だけを探す。
おそらくChartXYToTimePrice https://docs.mql4.com/ru/chart_operations/chartxytotimeprice を探します。
only discussedhttps://www.mql5.com/ru/forum/353726
こちらもクリックについて議論しているスレッドですhttps://www.mql5.com/ru/forum/344607
もし、アルゴリズムが1ティックあたり数千回のAsk/Bid価格を参照することを意味しているとしたら......。アルゴリズム自体を見直すか、アルゴリズム算出前に一度Ask/Bidの値を覚えておく必要がありそうです。
おそらく、ChartXYToTimePrice https://docs.mql4.com/ru/chart_operations/chartxytotimeprice を探してみてください。
only discussedhttps://www.mql5.com/ru/forum/353726
こちらもクリックについて議論しているスレッドですhttps://www.mql5.com/ru/forum/344607
一般に、ティックで価格を取得した場合、それが重要でなければ、OnTickの終わりまでそれを使って作業することができます。そして、スリップ防止に役立つリミッター)。
ローソク足をクリックして、その値をファイルに書き出したかったのです。
チャートイベント_マウス_ムーブ
一般に、ティックで価格を取得した場合、重要でなければOnTickの終わりまでそれを使って作業することができます。また、滑り止めのためのリミッター)
ローソク足をクリックして、その値をファイルに保存したいのですが。
チャートイベント_マウス_ムーブ
それで棒グラフの値段や時間を決めたいのかもしれませんね。
というか、これらはチャート上の時間+価格の値におけるマウスクリックの座標であり、バーはiBarShift() で定義されるべきものです。