MetaTrader 5 Python User Group - メタトレーダーでPythonを使用する方法 - ページ 64

 
ckeiderling :

皆さん、こんにちは。


イギリス人が来たけど、気にしないでね。 このような場合、どのようにすればよいのでしょうか?

Maxiumsの記事からヒントを得て、MetaTrader5のPythonライブラリを使っています。 メモリの取り扱いに問題があることに気づきました。

mt5 libを使用してDataframeを作成すると、結果のDataframeは期待通りに動作します。 私はこれを、ティックを収集し、様々な分析を行った後、操作したdfを出力する関数 内で行いました。

しかし、DataFrameを作成する関数を再実行すると、前のインスタンスからメモリが蓄積され続けていることに気づきました。

mt5.copy_ticks_range () と mt5.copy_rates_range () を使用しても同じ問題が発生します。 メモリをクリアするためにカーネルをリセットする必要があるんだ。

データフレームを作成する行以外のコードをすべて削除しても、同じ問題が発生します。 例えば、こんな感じです。

def vel (symbol, lookback, lookforward, start_date, end_date, quantile_size):

ticks = pd.DataFrame (mt5.copy_ticks_range (symbol, datetime (start_date.year, start_date.month, start_date.day), datetime (end_date.year, end_date.month, end_date.day), mt5.COPY_TICKS_ALL), columns = [ 'time', 'bid', 'ask', 'last', 'volume', 'time_msc', 'flags', 'volume_real' ] ).

これを何回か実行すると、メモリ使用量が毎回27MiBずつ増えていく。

Line # Mem usage Increment Line Contents ================================ 126.3 MiB 126.3 MiB def vel (symbol, lookback, lookforward, start_date, end_date, quantile_size): 153.3 MiB 26.9 MiB ticks = pd.DataFrame (mt5.copy_ticks_range (symbol, datetime (start_date.year, start_date .month, start_date.day), .


行番号 メモ使用量 インクリメント行内容

デバッグを手伝ってほしい場合は、MVCEをフルに使う必要があります。このスニペットだけでは不十分です。

 
ckeiderling:

皆さん、こんにちは。


このような場合、私は、あなたがここにイギリス人の男性を気にしないことを望みます。 ウェブで検索するのに多くの時間を費やして成功しなかったので、いくつかのガイダンスを探しています。

Maxiumsの記事からヒントを得て、MetaTrader5のPythonライブラリを使用しています。 メモリ処理に問題があることに気づきました。

mt5 libを使用してDataframeを作成すると、結果のDataframeは期待通りに動作します。私はこれを、ティックを収集し、様々な分析を行った後、操作したdfを出力する関数 内で行いました。

しかし、DataFrameを作成する関数を再実行すると、前のインスタンスからメモリが蓄積され続けていることに気づきました。

mt5.copy_ticks_range () と mt5.copy_rates_range () を使用しても同じ問題が発生します。メモリをクリアするためにカーネルをリセットする必要があるんだ。

データフレームを作成する行以外のコードをすべて削除しても、同じ問題が発生します。例えば、こんな感じです。

def vel (symbol, lookback, lookforward, start_date, end_date, quantile_size):

ticks = pd.DataFrame (mt5.copy_ticks_range (symbol, datetime (start_date.year, start_date.month, start_date.day), datetime (end_date.year, end_date.month, end_date.day), mt5.COPY_TICKS_ALL), columns = [ 'time', 'bid', 'ask', 'last', 'volume', 'time_msc', 'flags', 'volume_real' ] ).

これを何回か実行すると、メモリ使用量が毎回27MiBずつ増えていく。

Line # Mem usage Increment Line Contents ====================== 126.3 MiB 126.3 MiB def vel (symbol, lookback, lookforward, start_date, end_date, quantile_size): 153.3 MiB 26.9 MiB ticks = pd.DataFrame (mt5.copy_ticks_range (symbol, datetime (start_date.year, start_date.month, start_date.day), .


行番号 メモ使用量 インクリメント行内容

https://docs.python.org/3/library/gc.html を使ってみてください。

https://stackabuse.com/basics-of-memory-management-in-python/

 

皆さん、こんにちは。
MetaTrader5.Buy() / Sell() で注文しようとすると、このエラーが発生するようになった。

order_open = mt5.Buy(シンボル, ボリューム)

File "C:\Python3.7.4***", line 313, in Buy

r.retcode != TRADE_RETCODE_REQUOTE かつ r.retcode !=TRADE_RETCODE_PRICE_OFF の場合。

AttributeError: 'NoneType' オブジェクトには 'retcode' という属性がありません。


修正方法を教えてください。

ファイル:
 
AxxelTrader:

皆さん、こんにちは。
MetaTrader5.Buy()/Sell()で注文を出そうとすると、このようなエラーが表示されるようになった。

order_open = mt5.Buy(シンボル, ボリューム)

File "C:\Python3.7.4***", line 313, in Buy

r.retcode != TRADE_RETCODE_REQUOTE かつ r.retcode != TRADE_RETCODE_PRICE_OFF の場合。

AttributeError: 'NoneType' オブジェクトには 'retcode' という属性がありません。


修正方法を教えてください。

r = mt5.Buy(...)
if r is None:
    print(mt5.last_error())
else:
    if r.retcode ...
 

お使いの端末のビルドをお教えください。

ベータ版へのアップデートはお済みですか?

 
MetaQuotes:

お使いの端末のビルドをお教えください。

ベータ版へのアップデートはお済みですか?

MetaTrader5パッケージバージョン:5.0.31にアップデートしました。

mt5.Buy(), mt5.Sell(),mt5.order_send(requests) のいずれでも発生します。

また、"retcode "属性がないことも書いています。

 
AxxelTrader:

MetaTrader5パッケージバージョン:5.0.31にアップデートしました。

mt5.Buy(), mt5.Sell(),mt5.order_send(requests) 関数のいずれでも発生します。

また、"retcode "属性がないことも書いています。

質問は、端末版についてでした。

 
Renat Fatkhullin:

質問は、端末のバージョンについてでした。

MT5バージョン:5.00ビルド2361 2020年3月8日

 
AxxelTrader:

MT5バージョン:5.00ビルド2361 2020年3月8日

ベータ版へのアップグレードをお願いします。

新機能は ベータ版のみの提供です。

 
Renat Fatkhullin:

ベータ版へのアップグレードをお願いします。

新機能は ベータ版のみの提供です。

バージョン2432にアップグレードしました。
しかし、エラーはまだ残っています...。
違うブローカーでも試しましたが...。

ファイル: