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

 

どうか助けてください、まだ理由がわかりません。


このコードは、何らかの理由でコンパイルされます。

class A {};

class B : public A
{
public:
  void f()
  {
    Print(__FUNCTION__);
  }
};

void OnStart()
{
  A a;
  
  ((B*)(&a)).f(); // OK
}

が、実行時にクラッシュしてしまう。コンパイルのバグかと思いきや......大したことない。


しかし、その後、このようなコードを書きました。

#property script_show_inputs

input string FileName = "Alpari_GBPAUD.ZIP";

#include <Zip\Zip.mqh> // https://www.mql5.com/ru/articles/1971

void OnStart()
{
  CZip Zip;

  Zip.LoadZipFromFile(FileName, 0);

  uchar Bytes[];

  ((CZipFile*)Zip.ElementAt(0)).GetUnpackFile(Bytes);
  Print("UnZip - unpack size " + (string)ArraySize(Bytes) + " bytes.");  
}


コンパイルだけでなく、実行にも成功しています。私はどこかでひどく頭が悪いのだろうが、なぜ何の問題もなく動作するのか理解できなかった。

残念ながらローカライズができなかったので、ZIP-bibbleを使った例です。そして、もっとも、それを理解するのは億劫なことだろう。でも、そんなことはどうでもいいんです。

 

ターミナル (1881) は、変数がバイナリ形式である場合、デバッグ時にクラッシュします。

アニメーションを再生してご覧ください。

これはおそらく、ユニオン変数にのみ適用されます

 
Nikolai Semko:

ターミナル (1881) は、変数がバイナリ形式である場合、デバッグ時にクラッシュします。

アニメーションを再生してご覧ください。

これはおそらく、ユニオン変数にのみ適用されます

メッセージをありがとうございました。

修正しました。
この修正は次のビルドに含まれる予定です。

 
fxsaber:

どうか助けてください、まだ理由がわかりません。


このコードは、何らかの理由でコンパイルされます。

が、実行時にクラッシュしてしまう。と思ったのですが、コンパイルのバグなので大したことはありません。

...

A型のオブジェクトへのポインタをB型のオブジェクトへのポインタにキャストしようとしていますが、AはBから継承されないため、明らかなエラーとなります。
 
Ilyas:
A型のオブジェクトへのポインタをB型のオブジェクトへのポインタにキャストしようとしていますが、AはBから継承されないため、明らかなエラーとなります。

これは理解できる。しかし、ZIP-bibbleの例で同じ動作をしても、なぜうまくいくのかがまったくわからないのです。そこはまったく同じ幽霊です。

ZS 解けました。

 

バックライトが消える...にょっきり


ファイル:
Error1.mqh  1 kb
 

MT4で4桁、5桁(特に小型MT4)での結果を テストする際、そのような問題に直面したことがあります。結果は大きく異なり(Expert Advisorに5桁と4桁の認識を実装)、少なくとも取引数は大幅に増加しました。その理由を知っている人、示唆した人はいますか?もしかしたら、符号ではなく、注文執行の種類(通常と成行)に依存するのでしょうか?

追伸:どちらの場合も、引用文はTisckstoryを通して読み込まれました。


Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
Тестирование стратегий - Алгоритмический трейдинг, торговые роботы - MetaTrader 5
  • www.metatrader5.com
Тестер стратегий позволяет тестировать и оптимизировать торговые стратегии (советники) перед началом использования их в реальной торговле. При тестировании советника происходит его однократная прогонка с начальными параметрами на исторических данных. При оптимизации торговая стратегия прогоняется несколько раз с различным набором параметров...
 
こんにちは。Expert Advisorのコードからインジケータの表示設定を 変更することが可能かどうか教えてください。例えば、線の色や太さなどです。よろしくお願いします。
 
SuhanovDM94:
こんにちは。Expert Advisorのコード内からインジケータの表示設定を 変更できるかどうかご存知ですか?例えば、線の色や太さなどです。よろしくお願いします。

できるけど

  1. インジケーター作成時のみ
  2. インジケータの色と線の設定が入力パラメータに含まれている場合のみ(そのようなインジケータの例は、カスタム移動平均の入力 です。)

 
SuhanovDM94:
こんにちは。Expert Advisorのコード内からインジケータの表示設定を 変更できるかどうかご存知ですか?例えば、線の色や太さなどです。あらかじめご了承ください。

なぜ、EAの色や太さを変えたいのですか?性能に何ら影響を与えるものではありません。写真に必要ですか?そこで、インジケーターの設定でテンプレートで変更します。