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

 
Slawa:
クアッドテスターはOnInit, OnTick, OnDeinitしか持っていません。タイマーなし、チャートイベントなし、エイリアンキャラクターからのティックなし、テスターSleepも機能なし

ご返信ありがとうございました。私が理解する限り、タイマーハンドラを確定させるつもりはないのですね?

 

コンパイラの新バージョン(ビルド1354)でのバグ。

2016.07.08 14:10:04.626 MetaCOT2 COT Absolute Changes (EURUSD,H1) math overflow or undefined calculation detected. Check source code, please

このメッセージはOnInitが呼ばれる前に発生します。複雑なオブジェクトは使用していません。計算も行いません。以前のバージョンではすべて正常に動作していました。

任意のカスタムインジケータの ロード時に表示されます。

 
coderex:
std::coutとstd::cinは必要ですか?

いや、もうとっくに過ぎている。

MQLのprintf()はC++と違って、要求されてもいないのに改行 されるのが不便だった。

 

ここには、いくつかの間違いが一度にあります。

class B;
class A { public:
        virtual B *f() { Print( __FUNCSIG__ ); return &this; }
};
class B : public A { public:
        virtual B *f() { Print( __FUNCSIG__ ); return &this; }
};
void OnStart() 
{
        A a;
        a.f().f();
}

1.ベースクラスから派生クラスへの暗黙の変換。明示的に指定しないと、エラーメッセージが 表示されます。

        virtual B *f() { Print( __FUNCSIG__ ); return (B *)&this; } //(*)
2.実行エラー:結果(ボトムアップ)

B* B::f()
B* A::f()

しかし、これをC++で書き直した場合、結果は

B* A::f()
B* A::f()

 
どちらかというと、ここにもキャストミスがあります。B* に &this をキャストすると、エラーが発生します。プラスアルファで、同じことができるはずなんです。
 
Комбинатор:
どちらかというと、ここにもキャストミスがあります。B* に &this をキャストすると、エラーが発生します。ちなみにプラスでも。
明示的な変換が可能(C++で確認)
 
A100:
明示的な変換が可能(C++で確認)
dynamic_castが必要ですが、動作しますか?
 
Комбинатор:
ここで、dynamic_castが必要になるのですが、うまくいくのでしょうか?
もし
        virtual B *f() { Print( __FUNCSIG__ ); return dynamic_cast<B *>( &this ); }

であれば、実行結果は正しい(下から上へ)。

無効なポインタ アクセス
B* A::f()

 
A100:

例のもう一つのキャストは正しく動作しません。

つまり、ダイナミックキャストに展開されるべきmqlの型変換に 間違いがあり、実際にはそれが起きない、もしくは正しく起きないということです。

 

親愛なる皆様へ

MT4では、ドラッグでストップオーダーを設定する方法がとても便利です。カーソルをトレードラインからドラッグすると、カーソルが置かれている価格でトレードが終了した場合の利益をすぐに確認することができるんです。

私の取引では、同じようなツールをよく使いますが、1つの取引ではなく、あるチャートで開いたすべての取引に対して必要なのです。

つまり、どの価格にカーソルを合わせても、カーソルを合わせた価格ですべての取引が終了した場合のTOTAL PROFITの大きさを表示したいのです。

そして、マウスボタンを離したときに、現在の1トレードのように、すべてのオープントレードがその利益に対して正しいTPとSLに自動的に設定されるとしたら、かなり贅沢なことだと思います。

私が求めすぎているのかもしれませんが、理想的な状況を説明しました。最低限、未決済取引のレベルや数量(取引は全て売りか買いかの一方向)、終値を入力し、所定の価格に達した ときに 全ての取引を決済して得られる利益の合計を出力する計算機が欲しいのです。あるいは、例えば、終値でグループ利益がゼロになる価格を示す水平線の 形をしたインジケータである。現在、電卓で手計算をしていますが、非常に長いので誤差が生じる可能性があります。

自分でマーケットを探そうと思うが、何を探せばいいのかわからない。Expert Advisor、Indicator、Robotなど、どれがいいのでしょうか?もし、既製品がなければ、そのようなツールを書くための注文の条件を相談する用意があります。