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

 

mt5で以下のような問題を発見しました。ボリューム・インジケータは、デフォルトでヒストグラムの中で最も細い線の太さ になっています。しかし、他の線の太さを選択しようとすると、最大値まで増えてしまいます。 つまり、中間値を選択することは不可能です。

何か解決する方法はないでしょうか?ブローカーに問い合わせたところ、彼も同じようなことを言っています。
 
MQL_User:

mt5で以下のような問題を発見しました。ボリューム・インジケータは、デフォルトでヒストグラムの中で最も細い線の太さ になっています。しかし、他の線の太さを選択しようとすると、最大値まで増えてしまいます。つまり、中間値を選択することができないのです。

これを解決する方法はあるのでしょうか?ブローカーに問い合わせたところ、彼も同じようなことを言っています。

DRAW_HISTOGRAM 描画タイプを持つすべてのインジケータでは、線幅はチャートの水平スケールに依存します。


 

ありがとうございます。

こちらではそのように実装されているとは知りませんでした。

太さをグラフの縮尺に 依存しないようにする方法はありますか?つまり、厚み2を選択すれば(あるいはコードで割り当てれば)、どのスケールでも同じになるのです。

 
Alexey Kozitsyn:

仮に絵が正方形だとします。学校の幾何学で知る限り、その対角線は45度の角度をなしている。右下のポイントでは、値は= 0になります(そうです)。左上=90(である)。では、なぜ右上の値がこのような値になっているのかというと、正直なところ、45あたりを期待していたのですが......。

なぜ、正方形から角度が測定されると思うのですか?

角度は、チャートの 価格と目盛りを 基準に測定されます。

1画素あたり1ポイントになるようにすれば、45度のチャートが完成します。

 
MQL_User:

ありがとうございます。

こちらではそのように実装されているとは知りませんでした。

太さをグラフの縮尺に 依存しないようにする方法はありますか?つまり、厚み2を選択すれば(あるいはコードで割り当てれば)、どのスケールでも同じになるのです。

標準ではありません。

 
アルチョム・トリシキン

Стандартно - нет.

でも、ずっと思っていたんです。トレンドラインを引くしかなさそうです...。他に選択肢はないと思います。

何かと面倒なことが多いので...。

 
MQL_User:
アルチョム・トリシキン

でも、ずっと思っていたんです。トレンドラインを引くしかなさそうです...。他に選択肢はないと思います。

面倒くさそう...。

いじっている」のだから、スレッドを読んだ方がいい。

Canvas - это круто!
Canvas - это круто!
  • 2018.02.16
  • www.mql5.com
Поставил себе задачу: коротким кодом эффектно продемонстрировать возможности пользовательской графики через класс CCanvas...
 

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

バグ、バグ、質問

fxsaber, 2020.03.31 10:49

このスクリプトをコンパイルすると、マシン上のすべての作業を停止させることができます。
// ALT+G на mqh-файле - зависание ME.
#include <fxsaber\HistoryTicks\Data_String.mqh> // https://www.mql5.com/ru/code/20298

void OnStart()
{
  string Str;
  
  int i = DATA_STRING::FromString(Str);
}

コンパイル時にハングアップし、metaeditor64.exeが毎秒1ギガバイトのメモリを余計に消費します。

また、ALT+GでMEがハングアップする。ビルド2374。


この危険なことは、2375年にも関係しているのです。

 

ここで変なバグが発生しました。

暗号がある。

void funcL(const long id)
{
  Print(id);
}

void OnStart()
{
  funcL(rand() + (rand() << 32));
}

デバッガで、コンパイルの最適化をオフにすると、乱数が出ます。最適化をオンにすると、安定して0を表示します。

 
間違いなのか?
#define  MACROS(A) #A

void OnStart()
{
  Print(MACROS(Close BUY)); // CloseBUY - нет пробела.
}