エラー、バグ、質問 - ページ 2192

 
Dmytro Zelenskyy:

ええ、それは火を見るより明らかです。

画像の下にあるのは、ピクセルとバーで構成された実数です。


"カラムの幅が基準で、画面解像度の一定割合、つまりピクセル単位で幅をとるか、何らかの増分ではめ込んで いるのだと思います..."

そして、どのように?


フルスクリーン版とウィンドウズ版では、価格スケールの後ろに隠されているバーの数が違うことに実験的に気づきました...。

 

これは、スクリプトの冒頭のコードです。

ChartSetInteger(handle,CHART_SCALE,4);

しかし、それはコード全体の途中までしか機能せず、スリップなどには効果がないことがわかりました。

これは、さらなるコードによって明らかにされる

// определяем сколько показывает на графике баров - потребуется для определения ширины скриншота
   int vis_bar=(int)ChartGetInteger(0,CHART_VISIBLE_BARS);Print("По ширине графика отображено баров=",vis_bar);

vis_barの値は、スクリプトを実行する前に設定されたズームによって変化しますが、これはズームが強制的に設定されている場合は起こらないはずです。

 
Dmytro Zelenskyy:

ええ、それは火を見るより明らかです。

画像の下にあるのは、ピクセルとバーで構成された実数です。


"カラムの幅が基準で、画面解像度の一定割合、つまりピクセル単位で幅をとるか、何らかの増分ではめ込んで いるのだと思います..."

そして、どのように?

正直なところ、なぜ問題視するのかわかりません。問題が解決されつつあるように思います。多くのフォーラムユーザーがすぐに解決してくれることでしょう。

 
fxsaber:

正直なところ、なぜ問題視するのか理解できません。問題が解決されつつあるように思います。フォーラムのメンバーなら、すぐに解決できる人がたくさんいるはずです。

3人では解けません :)助けていただけますか?

 
Aleksey Vyazmikin:

3人では決められない :)手伝ってくれる?

古参に頼もう、やろうと思えばすぐ書けるだろう。

 
fxsaber:

昔の人に聞いてみよう、書こうと思えばすぐ書けるだろう。

いいアイデアですね、「ストロベリーライブ」とでも呼ぶべきでしょうか!?:)

これまでのところ、ズームによって価格スケールの後ろに表示される補正バーが異なることが分かっています。

if (Zoom==0)ZoomX=52;
if (Zoom==1)ZoomX=27;
if (Zoom==2)ZoomX=15;
if (Zoom==3)ZoomX=8;
if (Zoom==4)ZoomX=5;
if (Zoom==5)ZoomX=3;

現在のチャートでどのズームが使われているか調べるには?

 
Aleksey Vyazmikin:

現在のチャートのズームを確認する方法は?

トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム

mql5言語の特徴、微妙なニュアンスとコツ

fxsaber さん 2018.04.13 11:14

int GetBarSize( const ulong Chart = 0 )
{
  return(1 << (int)ChartGetInteger(Chart, CHART_SCALE));
}
 
fxsaber:

これはローソク足やバーの間の距離をピクセル単位で表したもので、質問者は「バー」や「ローソク足」のグラフプリミティブの幅を測定したいのです(何を求めているのか、私には理解できませんでした)。

 
fxsaber:

私たちはこれを乗り越えてきたのです :)

私の質問に対して、とても正しい答えが返ってきました

int Zoom=ChartGetInteger(handle,CHART_SCALE,0);
 
スクリプトを使ってスクリーンショットを撮ったときに、スクリプトの名前と右上のアイコンを一般的に削除する方法をご存知の方はいらっしゃいますか?