エラー、バグ、質問 - ページ 2194 1...218721882189219021912192219321942195219621972198219922002201...3185 新しいコメント Aleksey Vyazmikin 2018.04.14 19:51 #21931 Dmytro Zelenskyy:真摯な取り組み)) では、画面化したいものに対して、小さなスクリプトを一度実行し、グローバル変数(できれば一時的なグローバル変数)にidを与えてください。 そして、あなたのスクリプトは、idで画面を表示します。賢いやり方だ! ありがとうございました。 Artyom Trishkin 2018.04.14 20:44 #21932 Dmytro Zelenskyy:画面の幅をピクセル単位で正確に計算しても、価格欄の一部を画面が覆ってしまうのです。 また、画面解像度が異なると、通貨の桁数に応じて、私(1280x1024)では50から60と異なる。もう一方の画面では、別のものになります。 それは、このピクセルを画面の幅に足すために、列の幅をどう考えるか?(スクリーンショットでカラムが閉じているものを開く) fxsaberの皆さん、こんにちは。 //+------------------------------------------------------------------+ #define TOSTRING(A) #A + " = " + (string)(A) + "\n" // Ширина вертикальной шкалы графика int GetWidthScale(const long chartID=0) { const string Name=__FUNCTION__+(string)MathRand(); ObjectCreate(chartID,Name,OBJ_CHART,0,0,0); ObjectSetInteger(chartID,Name,OBJPROP_XDISTANCE,-1 e3); const long chart=ObjectGetInteger(chartID,Name,OBJPROP_CHART_ID); const int Res=(int)(ChartGetInteger(chart,CHART_WIDTH_IN_PIXELS) - (ChartSetInteger(chart,CHART_SHOW,false) ? ChartGetInteger(chart,CHART_WIDTH_IN_PIXELS) : 0)); ObjectDelete(chartID,Name); return(-Res); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void OnStart() { Print(TOSTRING(GetWidthScale())); } //+------------------------------------------------------------------+ Dmytro Zelenskyy 2018.04.14 21:07 #21933 Artyom Trishkin:fxsaberよりご挨拶申し上げます。 ケースはマスターに勝る!!! カッコイイ! Aleksey Vyazmikin 2018.04.14 21:36 #21934 Artyom Trishkin:fxsaberからこんにちは。 確かにこのコードは非常に興味深いのですが、問題を解決していないことがわかりました...。 Aleksey Vyazmikin 2018.04.14 21:56 #21935 問題は、特定のバーまでのピクセル数を決定するために使用できる普遍的な関数(任意のズームと異なるスケール幅で動作)を取得する方法が明確でないことである。 Nikolai Semko 2018.04.15 04:37 #21936 Aleksey Vyazmikin: 問題は、特定のバーまでのピクセル数を決定するために使用できるユニバーサル関数(あらゆるズームと異なるスケール幅で動作する)を取得する方法が明確でないことです。さあすべてのヒントはそこに ある。 バー幅は1,2,4,8,16,32の値のみを受け付けます。 奇妙なことに、CHART_POINTS_PER_BAR 識別子は機能しません。 しかし、バーの幅(ピクセル)は簡単に計算することができます。 int WidthBar=int(1<<ChartGetInteger(0,CHART_SCALE)); 左のバーは常に中心から描かれ、右のバーは任意に描かれる。したがって、座標の原点はゼロ(左)である。 Aleksey Vyazmikin 2018.04.15 09:32 #21937 Nikolai Semko:さあすべてのピックがここに あります。 バー幅は1,2,4,8,16,32の値のみ使用可能です。 奇妙なことに、CHART_POINTS_PER_BAR 識別子は機能しません。 しかし、バーの幅(ピクセル)は簡単に計算することができます。 左のバーは常に中心から描かれ、右のバーは任意に描かれます。したがって、座標の原点はゼロ(左)である。これは仮説で、今のところベスト(より正確)なバージョンはこれです。 pp=(double)ChartGetInteger(handle,CHART_WIDTH_IN_PIXELS)/(double)ChartGetInteger(handle,CHART_WIDTH_IN_BARS)*((Shift_Start-Shift_Stop)*(-1)+2)+Schkala+3; が、いくつかの点で失敗しています。 Nikolai Semko 2018.04.15 10:44 #21938 Aleksey Vyazmikin:これは仮説で、今のところベストな(より正確な)選択肢はこれです。 が、ペアで失敗することもある。:))問題を明確に述べる。どんな価値を手に入れたいか? Aleksey Vyazmikin 2018.04.15 11:06 #21939 Nikolai Semko::))問題を明確に述べる。どんな価値を手に入れたいか?日付Aから日付Bまでを含むスクリーンショットが必要です。また、どのようなズームでも正しく機能するはずです。 Aleksey Vyazmikin 2018.04.15 11:40 #21940 スクリーンショットに基づいて、私は別のスレッドを作成し、問題を説明し、私が持っているコードを投稿しました - 私は、専門家に助けを求めています!私は、この問題を解決することができます。 https://www.mql5.com/ru/forum/237291 Организация пакетной обработки задачи по снятия изображений с экрана графика 2018.04.15www.mql5.com Встала у меня задача доработать скрипт https://www.mql5.com/ru/code/936 , который делает скрины... 1...218721882189219021912192219321942195219621972198219922002201...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
真摯な取り組み))
では、画面化したいものに対して、小さなスクリプトを一度実行し、グローバル変数(できれば一時的なグローバル変数)にidを与えてください。
そして、あなたのスクリプトは、idで画面を表示します。
賢いやり方だ!
ありがとうございました。画面の幅をピクセル単位で正確に計算しても、価格欄の一部を画面が覆ってしまうのです。
また、画面解像度が異なると、通貨の桁数に応じて、私(1280x1024)では50から60と異なる。もう一方の画面では、別のものになります。
それは、このピクセルを画面の幅に足すために、列の幅をどう考えるか?(スクリーンショットでカラムが閉じているものを開く)
fxsaberの皆さん、こんにちは。
fxsaberよりご挨拶申し上げます。
ケースはマスターに勝る!!!
カッコイイ!
fxsaberからこんにちは。
確かにこのコードは非常に興味深いのですが、問題を解決していないことがわかりました...。
問題は、特定のバーまでのピクセル数を決定するために使用できるユニバーサル関数(あらゆるズームと異なるスケール幅で動作する)を取得する方法が明確でないことです。
さあすべてのヒントはそこに ある。
バー幅は1,2,4,8,16,32の値のみを受け付けます。
奇妙なことに、CHART_POINTS_PER_BAR 識別子は機能しません。
しかし、バーの幅(ピクセル)は簡単に計算することができます。
左のバーは常に中心から描かれ、右のバーは任意に描かれる。したがって、座標の原点はゼロ(左)である。さあすべてのピックがここに あります。
バー幅は1,2,4,8,16,32の値のみ使用可能です。
奇妙なことに、CHART_POINTS_PER_BAR 識別子は機能しません。
しかし、バーの幅(ピクセル)は簡単に計算することができます。
左のバーは常に中心から描かれ、右のバーは任意に描かれます。したがって、座標の原点はゼロ(左)である。これは仮説で、今のところベスト(より正確)なバージョンはこれです。
が、いくつかの点で失敗しています。
これは仮説で、今のところベストな(より正確な)選択肢はこれです。
が、ペアで失敗することもある。
:))
日付Aから日付Bまでを含むスクリーンショットが必要です。また、どのようなズームでも正しく機能するはずです。
スクリーンショットに基づいて、私は別のスレッドを作成し、問題を説明し、私が持っているコードを投稿しました - 私は、専門家に助けを求めています!私は、この問題を解決することができます。
https://www.mql5.com/ru/forum/237291