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

 
Rosh:
これではいけないと思います。ソースコードが必要な場合は、サービスデスクに お問い合わせください。

私はサービスデスクを把握しようとしますが、明確に私のクラスが正しく書かれている、私はクラスへの1つのポインタを宣言した場合ので - すべてOK、不正なメモリ割り当てのために2つ以上のエラー、私はクラスの型の変数を作成し、すべてOK、私はクラスの型の10変数を作成 - すべてOKあまりにも、私は新しい演算子を使用しないためです。

大体、コンストラクタを呼び出すときにメモリを確保するのは難しくないのですが、残念ながら、コンストラクタに少なくとも1つのパラメータを渡すことができないんです

 
Lizar:

ChartIndicatorAdd() 関数でチャートにインジケータを 追加しています。さて、どの関数を使えばチャートから削除できるのかがわかりません。

そのような可能性はありません。

また、IndicatorReleaseはここでは役に立ちません。

 
IgorM:


コンストラクタが呼ばれたときにメモリを確保するのはそれほど難しくありませんが、残念なことに、コンストラクタに少なくとも1つのパラメータを渡すことができません。

初期化のための特別な関数を作成し、従来のコンストラクタにあるようなことをすべて行う。そして、宣言の直後に呼び出すか(自動的に生成されたオブジェクトの場合)、new 演算子を 呼び出す(動的に生成されたオブジェクトの場合)。
Документация по MQL5: Основы языка / Операторы / Оператор создания объекта new
Документация по MQL5: Основы языка / Операторы / Оператор создания объекта new
  • www.mql5.com
Основы языка / Операторы / Оператор создания объекта new - Документация по MQL5
 
Rosh:
初期化のための特別な関数を作成し、従来のコンストラクタにあるようなことをすべて行う。そして、宣言の直後に呼び出すか(自動的に生成されるオブジェクトの場合)、new 演算子を 呼び出す(動的に生成されるオブジェクトの場合)。

そうすれば、ArrayResize()を使ってメモリを確保することができますし、ポインタを扱う際に正しいメモリ割り当てが保証されるからです。

OK、メモリ確保のためのパラメータをコンストラクタに渡す方法がない、対処した、約束できないのが残念だ

SZY: MQL5では演算子のオーバーロードを見つけられませんでした。C++ではvoid operator +();http://www.programmersclub.ru/24/- trifleですが、私は1995年にBorland C++で使っていました。

 
IgorM:

HH: MQL5では演算子のオーバーロードを見つけられませんでした。C++ではvoid operator +(); http://www.programmersclub.ru/24/ - trifleで、1995年にBorland C++で使ったことがあります。

過負荷という ことはない。

オーバーロード

同じクラス内に、名前は同じだがパラメータの数が異なる2つ以上のメソッドを定義することができる。このとき、メソッドは オーバーロードと呼ば れ、その処理を メソッドオーバーローディングと 呼びます。メソッドのオーバーロードは、ポリモーフィズムを 実装する方法の一つである。クラスにおけるメソッドのオーバーロードは、関数のオーバーロードと 同じ規則に従います。

呼び出すべき関数に完全に一致するものがない場合、コンパイラは次の3つのレベルを順次検索します。

  1. クラスのメソッドの中から検索します。
  2. ベースクラスのメソッドを、最も近い祖先から順に検索します。
  3. 残りの機能から検索する。

どのレベルでも完全に一致するものがなく、異なるレベルで複数の適切な関数が見つかった場合、最も低いレベルで見つかった関数が使用されます。 1つのレベル内で複数の適切な関数が存在することはありません。

MQL5では、演算子のオーバーロードはありません。

 

バランスラインとエクイティを過去データから「復元」するためのソリューションをご存知の方はいらっしゃいますか?

本当にこんな小説が必要なのか...。

追記

実は、バランスについてはある程度考えているのですが、エクイティについては疑問ばかりです。:(

 
Interesting:

バランスラインとエクイティを過去データから「復元」するためのソリューションをご存知の方はいらっしゃいますか?

本当にこんな小説が必要なのか...。

追記

実は、バランスについてはある程度考えているのですが、エクイティについては疑問ばかりです。:(


取引リストをエクスポートしてExpert Advisorを作成 し、アクションを繰り返してテスターで実行することができます)
 
mrProF:
トレードのリストをエクスポートして、アクションを繰り返すExpert Advisorを書き、テスターで実行してみるとよいでしょう)

そうではないんです。EA内部で、ヒストリカルデータに基づくものだけが必要です。

バランスラインは、取引履歴から単純に復元することができ、ほとんど問題はない。

バランスに影響を与えるトレードのリストを作成し、それをもとにバランスカーブを構築します。

複雑なのは、エクイティカーブの構築です。そのためには、どのような取引が行われ、オープンポジションに何が起こり、それがエクイティにどのような影響を与えたかを計算する必要があります。

これらはすべて、一定の時間間隔(例えば、新しいデイリーを形成する瞬間やサーバー時間の00:00など)で行われる必要があります。

追記

この問題は、リアル口座 またはデモ口座(以前に取引が行われた口座)に接続されたExpert Advisorの内部でバランスとエクイティラインを復元(構築)することである。

同時に、Expert Advisorは、このデータをファイルから読み込むことができなくなります。

 
Interesting:

そうではないんです。EA内部で、ヒストリカルデータにのみ必要です。

mql4.comのデータベースで、Equityインジケータを検索してください。

計算方法は変わりませんので、貿易会計を変更するだけです。

 
komposter:

mql4.comのデータベースで、Equityインジケータを検索してください。

計算方法は変わりませんので、貿易会計を変更するだけです。

ありがとうございます、拝見させていただきます。