Print("Первый ArrayResize вернул ",ArrayResize( TickTemp, 1000000, 0 ));
Print("Размер массива после ПЕРВОГО ArrayResize ",ArraySize( TickTemp )," Используем памяти. ",MQLInfoInteger(MQL_MEMORY_USED));
Print("Второй ArrayResize вернул ",ArrayResize( TickTemp, 500000, 0 ));
Print("Размер массива после ВТОРОГО ArrayResize ",ArraySize( TickTemp )," Используем памяти. ",MQLInfoInteger(MQL_MEMORY_USED));
その結果がこちらです。
Первый ArrayResize вернул 1000000
Размер массива после ПЕРВОГО ArrayResize1000000 Используем памяти. 58
Второй ArrayResize вернул 500000
Размер массива после ВТОРОГО ArrayResize500000Используем памяти. 58
handle_A = iCustom(Symbol(),0,"my_used\\my_A7C");
if(handle_A == INVALID_HANDLE) // проверяем наличие хендла индикатора
{
Print("Не удалось получить хендл индикатора handle_A"); // если хендл не получен, то выводим сообщение в лог об ошибкеreturn(INIT_FAILED); // завершаем работу с ошибкой
}
else
{
Print("Получен хендл индикатора handle_A");
ChartIndicatorAdd(ChartID(),0,handle_A); // подключаем индикатор к графику
}
意味がわかるかどうか教えてください。
意味がわかるかどうか教えてください。
フェルトペンの味を議論しているようなものです。
ArrayResize関数を使って 動的配列のサイズを変更 すると、EAが使用するメモリ量が減らないのか教えてください。( MQLInfoInteger(MQL_MEMORY_USED)関数で確認しています。
以下はそのコードです。
その結果がこちらです。
正直なところ、私としてはちょっと意外な結果です。2番目のケースでは、プログラムが使用するメモリが2倍少なくなると予想したのです。
テスターで可視化するために、独自のテンプレートを適用することは可能ですか?専門家の名前を使ったテンプレートではなく、デフォルトで。
新しいタイムテーブルを開く。その上に何かをスケッチする。出来上がったグラフを右クリック - テンプレートを保存 ...-> tester.tpl
これで、作成したテンプレートでビジュアルテストが 実行されます。
新しいタイムテーブルを開く。その上に何かをスケッチする。出来上がったグラフを右クリック - テンプレートを保存 ...-> tester.tpl
これで、作成したテンプレートでビジュアルテストが 実行されます。
ありがとうございました。
もうひとつ質問です。iCustomを使わずにカスタムインジケーターを プログラムで確認するにはどうしたらいいですか?FileIsExistと同じ。
チャート上のインジケータの総数を要求し、短いインジケータ名でループ内を検索します。
チャート上のインジケーターの総数を照会し、ループ内で短いインジケーター名を検索します。
明確にすること。チャート上ではなく、一般的に。セット」の中にインジケーターがあるかどうかを調べること。インジケータフォルダ内。
例えば、私のインジケータAが別のカスタムインジケータ Bを使用する場合、Aを起動するときにBのハンドルを取得しなければ、Aは起動しません。
しかし、Aを使ってフクロウを起動すると、Aは起動しないし、にもかかわらずフクロウは閉じない。
明確にすること。チャート上ではなく、一般的に。インジケーターが「セット」になっているかどうかを調べること。インジケータフォルダ内。
また、これは何のためにあるのか、明確に教えてください。