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

 
sergey1294:
取引は取引であり、実行時間があるため、取引には終了時間がありません。HistoryDealGetInteger(ticket,DEAL_TIME).取引によってポジションが決済された場合、その決済時刻となります。しかし PositionGetInteger 関数には POSITION_TIME識別子 ポジションの開始時間)があるのに、ポジションの終了確認が ないのは不思議です。
網の目から見て、何もおかしなところはない。オープンタイムは最初のトレードの時間であり、次に何が起こるかは神のみぞ知る...です。
 

こんにちは、全商品(600以上、BroCo-Demoサーバー)の履歴をダウンロードしているのですが、300文字目あたりでターミナルがログを書き込んでしまいます。

NI 0 Scripts 12:19:11 script Download_history (EURUSD,H1) loaded successfully.
MJ 3 MemoryException 12:24:20 31703040 bytes not available.
EE 3 MemoryException 12:24:20 31703040 bytes not available.
NM 3 MemoryException 12:24:21 31703040 bytes not available
HD 3 MemoryException 12:25:15 245760 bytes not available.
LL 3 MemoryException 12:25:15 245760 bytes not available
PG 3 MemoryException 12:25:15 245760 bytes not available.

DN 3 MemoryException 12:25:15 245760 bytes not available

データへのアクセスを整理する」で説明したスクリプトを使って履歴をダウンロードしました(少し変更しました - 他の方法では、通貨に対してのみ機能しました)。

ファイル:
 

例えば、.NETの場合はどうなのか、教えてください。

クラス cClass()

{

公開。

cClass2 *pointer。

void fn() { pointer = new cClass2; }.

~クラス()

{

delete(pointer)。// この行はここに必要ですか???

}

}

OnTick()

{

{

cClass var;

} // ここで、動的に確保されたメモリは、削除せずに解放されるのでしょうか?

}

I.e. クラスが破棄されたとき、クラス内の動的に割り当てられたメモリは 解放されるのでしょうか?

 
220Volt:

例えば、私たちは.NET Frameworkを使用していますが、そのヒントを教えてください。

ほぼ同じレイアウトのデストラクタがあり、動作しています。ただ、アクセスする前にディスクリプタが無効かどうか(というより、無いかどうか)をチェックする必要があることです。

ポインターの 使い方についてはRocheの記事もありますし、いろいろと見てみるといいですよ。

 

動的配列で 動作するクラスがあるのですが、デストラクタでの削除もなく、エラーもないのですが、躊躇しています。

Документация по MQL5: Основы языка / Типы данных / Объект динамического массива
Документация по MQL5: Основы языка / Типы данных / Объект динамического массива
  • www.mql5.com
Основы языка / Типы данных / Объект динамического массива - Документация по MQL5
 
220Volt:

動的配列で 動作するクラスがあります。デストラクタに遅延はなく、エラーも発生しません。

そのため、オブジェクトが占有していたメモリは解放されない。

これに関して実験したところ、プログラムを閉じた後のログに、メモリの解放が行われていない(ような)メッセージが表示されました。

そして、定番のAchtung:

new演算子で作成したオブジェクトは、delete 演算子で明示的に 破棄する必要があります。

 

躊躇していた理由がわかりました、配列はdeleteで削除できない、だから削除していなかったのです。C言語をいじっていたから、いろいろと意味不明なことが頭に浮かんできた。

 
220Volt:

躊躇していた理由がわかりました、配列はdeleteで削除できない、だから削除していなかったのです。C言語をいじっていたから、いろいろと意味不明なことが頭に浮かんできた。

動的配列」というのは、「動的オブジェクト」とそれに付随する「記述子」のことかと思いきや。クラスとディスクリプタについてのスレッドの冒頭から判断して。
Документация по MQL5: Основы языка / Типы данных / Объект динамического массива
Документация по MQL5: Основы языка / Типы данных / Объект динамического массива
  • www.mql5.com
Основы языка / Типы данных / Объект динамического массива - Документация по MQL5
 

私のミスです :(

ありがとうございます。

 
220Volt:

私のミスです :(

ありがとうございました。

理由: