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

 
Maxim Dmitrievsky:

と、仮にONNXのサポートを受けると、インポートしたモデルはMQL本体より遅くなるのでは?

自分で確認するのです。

しかし、ONNXを超える本当のラッパーは、間違いなくC++で、pythonのライブラリ/モジュールとして、そして、特定のビデオカードのドライバ/ライブラリ(それが適切であれば)になることを忘れないでください。

Pythonは効率的なライブラリの呼び出しの間の廊下に過ぎず、かなり高価なデータセットという形で交換しなければならない。

Pythonは単なるライブラリ呼び出しのラッパーであり、それ以上のものではないということを、人々は十分に理解していないのです。Pythonはパワフルでモダンな言語だと思われているようです。しかし、実際にはC++ライブラリ間のバインディングである ;)

また、各ライブラリは、pythonの動的構造(numpyでも)との互換性を確保するために、膨大なコストがかかっています。

 
Renat Fatkhullin:

自分で確認するのです。

しかし、ONNXを超える本当のラッパーは、間違いなくPython用のライブラリ/モジュールの形でC++になり、それから特定のビデオカードのドライバ/ライブラリが(それが適切であれば)なることを忘れてはいけません。

Pythonは効率的なライブラリの呼び出しの間の廊下に過ぎず、かなり高価なデータセットという形で交換しなければならない。

Pythonは単なるライブラリ呼び出しのラッパーであり、それ以上のものではないということを、人々は十分に理解していないのです。Pythonはパワフルでモダンな言語だと思われているようです。しかし、実際にはC++ライブラリ間のバインディングである ;)

そして、それぞれのライブラリは、pythonの動的構造(numpyでも)との互換性を確保するために膨大なコストがかかっています。

調べてみます...まだ詳しく調べていないのですが

pythonはほとんど研究用であることは明らかです。

しかし、すでに訓練されたニューラルネットワークのコードを後から引っ張ってくるのは(しかも研究中に毎回変わる)、どこかに何かを移すというのは、もう非現実的なことです :)

あなたがやりたかったことを、私は十分に理解していないのかもしれません。とにかく、PythonのAPIは十分な可能性を持っています。市場に出せない限りは。

 
Renat Fatkhullin:

Nein.私たちが自己主張をし、言語を選択するのは、テスターを使いこなすためであり、数百万語の言語が必要なのは当然のことなのです。

私たちにとって、C++ - MQL5モジュールでDrittanbieternのライブラリを新たにコンパイルすることは、私たちのアイデアを実現するための非常に重要な作業なのです。そのため、外部LLVMコンパイラをEditorで使用することにしました。

私の質問が正しく翻訳されたかどうか分かりませんが。質問が少し違いますね。

Pythonモジュールはストラテジーテスターの コマンドを受信するのでしょうか?いずれは、それとも絶対にダメ?
 

私も5コペイカを投げ入れます ))))

私がPythonを始めたのは、まさにネットワークを扱うのがずっと簡単だからです(と私には思えるのですが)。その中で、いろいろな展開があります。それを受けて、応用するだけです。そして、ニューラルネットワークを 排除することはできないのです。私見ですが、MQLにはこのエンティティを扱うためのライブラリが必要なだけだと思います...。

 
Almaz:

あなたのPythonのコードが遅くなる例を教えてください。何をするのか、どうやってデータを取得するのか、言葉からはよくわかりません。また、なぜ常にファイルに書き込んでいるのでしょうか?最後にはできないのでしょうか?

Pythonのコードを少し変更しました。tickのリクエストを1日から30日に増やし、ファイルへの書き込みを1行ずつではなく、500行のブロックにまとめました。ランニングタイムが数秒短くなった。指標は何もないところです。

インジケーターのデザインを変更しました。バッファを追加して、一行ずつファイルにデータを書き込んでいった。ダニのリクエストは変わらず、1日。

チャートにインジケーターを 表示させました。

2020.11.29 17:58:07.306 newCandles_F_1.01 (GBPUSD,H2)   00:01:01

このインジケータは、1分以内にすべてのデータをレンダリングし、ファイルに書き込んでいます。

Python - 3時間

MQL - 1分

 

皆様にご挨拶申し上げます。

その理由を教えてください。

csvファイルをdataframeに読み込んでいます。そして、数行を1つにまとめて、新しいcsvファイルに書き込む。

....
csv_framе = pd.read_csv(flname, delimiter=',')
#  тут меняю имя файла
if os.path.isfile(flname):
    os.remove(flname)

rows, cols = csv_framе.shape
for i in range(candles_in_train, rows):
    lst = list()
    for k in range(candles_in_train):
        m = i - candles_in_train + k
        l = list(csv_framе.iloc[m])
        if m < i - 1:
            del l[-1]
        lst += l
    mf.write_csv_data(flname, 'a', lst)

このコードは17秒間動作します。

しかし、新しいcsvフレームに一度にまとめてからファイルにダンプすると、コードの実行時間は1分に増えます。44秒

...
new_frame = pd.DataFrame()

rows, cols = csv_framе.shape
for i in range(candles_in_train, rows):
    lst = list()
    for k in range(candles_in_train):
        m = i - candles_in_train + k
        l = list(csv_fraim.iloc[m])
        if m < i - 1:
            del l[-1]
        lst += l
    #mf.write_csv_data(flname, 'a', lst)
    r, c = new_frame.shape
    if r == 0:
        new_frame = pd.DataFrame([lst])
    else:
        new_frame.loc[r] = lst
new_frame.to_csv(flname, header=None, index=False)

なぜそうなのか?

 

エンコーディングの問題?(Google translator)


 

テーブル(pandas DataFrame)があります。条件によって新しい列を作成する方法:列 "1" < 列 "2" の場合、145 を書き、それ以外の場合は 874 を書きますか?


を追加しました。

によって、とにかく解決しました。

import numpy as np
... np.where(
 
こんにちは、PythonはWinApiに到達するためにMT5で使用することができますか?

具体的には、効果があるかどうかを知りたいのですが、

keybd_event(VK_CONTROL,0,0,0);
 

オフセットの作り方を教えてください。

これが表(データフレーム)です

      time  
2020-11-25
2020-11-26
2020-11-27
2020-11-30 
2020-12-01        

こんな風に作るには

      time             time_1
2020-11-25	   2020-11-26
2020-11-26         2020-11-27
2020-11-27         2020-11-30
2020-11-30         2020-12-01 
2020-12-01         ничего не писать