記事についてのディスカッション - ページ 15

 

こんにちは、

記事をありがとうございます。試してみましたが、なぜかMT5のバックテストではpythonで示されているようなきれいなエクイティカーブ(トレーニング期間でも)が得られません(下記参照)。 あなたの記事のEURUSD EAでバックテストするとうまくいきます。このエラーはどうすれば解決できますか?


削除済み  
konorti:

こんにちは、

記事をありがとうございます。試してみましたが、なぜかMT5のバックテストではpythonで示されているようなきれいなエクイティカーブ(トレーニング期間でも)が得られません(下記参照)。 あなたの記事のEURUSD EAでバックテストするとうまくいきます。このエラーはどうすれば解決できますか?

こんにちは、多分usdjpyの カスタムテスターのMARKUPの問題で、結果が異なります。

削除済み  

ジグザグパターンのような極値(チャートのマークアップ)を検索する新しい方法を追加。

from scipy.signal import argrelextrema

def add_peaks(dataset, order, plot=False):
    ilocs_min = argrelextrema(dataset.close.values,
                              np.less_equal, order=order)[0]
    ilocs_max = argrelextrema(dataset.close.values,
                              np.greater_equal, order=order)[0]
    dataset['low_lbl'] = False
    dataset['high_lbl'] = False
    dataset.loc[dataset.iloc[ilocs_min].index, 'low_lbl'] = True
    dataset.loc[dataset.iloc[ilocs_max].index, 'high_lbl'] = True

    if(plot):
        dataset.close.plot(figsize=(15, 5), alpha=.3)
        dataset[dataset['high_lbl']].close.plot(
            style='.', lw=10, color='red', marker="v")
        dataset[dataset['low_lbl']].close.plot(
            style='.', lw=10, color='green', marker="^")
        plt.show()

    conditions = [
        (dataset['low_lbl'] == False) & (dataset['high_lbl'] == False),
        dataset['low_lbl'] == True,
        dataset['high_lbl'] == True
    ]
    choices = [np.nan, 0, 1]
    dataset['labels'] = np.select(conditions, choices)
    dataset = dataset.drop(['low_lbl', 'high_lbl'], axis = 1)
    dataset = dataset.fillna(method='ffill')
    return dataset.dropna()

pr = add_peaks(pr, 15, plot=True)

パラメータを調整することにより、トレードの頻度を調整することができます。テストによると、極値によるマークアップは最良のアイデアではありません。この記事のアプローチの方がうまくいく。

 
Maxim Dmitrievsky:

こんにちは、多分usdjpyのカスタムテスターのMARKUPに問題があり、結果が異なっています。

ありがとうございます。異なるMARKUP(高い方と低い方)と異なるタイムフレームで試してみましたが、あまりうまくいきませんでした。4Hのタイムフレーム/USDJPYでは良い結果が出ましたが、他のFXペアではそうではなく、何度かテストをやり直しましたが成功しませんでした。EAが常に市場にあるのではなく、強いシグナルがあるときだけ取引をフィルタリングすることは可能ですか?
 

こんにちは、マキシム、

現在の記事は問題ありませんが、限られた計算能力とカーブフィッティングは、このような伝統的な手法の最大の懸念事項であり、したがって、通常、私はこのようなアプローチのテストから遠ざかっています。

DeepMindの "MuZero "のFXへの実装に関する記事を書くことに興味はありますか?

https://deepmind.com/blog/article/muzero-mastering-go-chess-shogi-and-atari-without-rules

https://medium.com/applied-data-science/how-to-build-your-own-muzero-in-python-f77d5718061a

私は基礎レベルのMQL5プログラマーで、ゼロから書くには時間がかかります。

あなたの考えを教えてください。


FXのコーディングで以下のように書くことを定義しますので、それをMQL5のコードに変換してください:

  • 値: 現在のポジションは どの 程度か?
  • 方針: どの 行動を取るのがベストか?
  • 報酬: 最後の行動は どの程度 良かったか?

ありがとうございます。

MuZero: Mastering Go, chess, shogi and Atari without rules
MuZero: Mastering Go, chess, shogi and Atari without rules
  • deepmind.com
In 2016, we introduced AlphaGo, the first artificial intelligence (AI) program to defeat humans at the ancient game of Go. Two years later, its successor - AlphaZero - learned from scratch to master Go, chess and shogi. Now, in a paper in the journal Nature, we describe MuZero, a significant step forward in the pursuit of general-purpose...
 
マキシム、この記事でシグナルを出すのはいいことだ。
削除済み  
elibrarius:
マキシム、この記事にシグナルを出すのはいいことだ。

データの準備という点では、すでにもっと高度な方法があり、私はそれを使って仕事をしている。

すべての記事を監視することは選択肢ではありません。

むしろ科学的で認知的な目的のためだ。

 
列車の開始時刻と停止時刻を変更すると、モデルの バックテストの 結果が悪くなります。
 
mlアルゴリズムのラベルは不均衡なので、GaussMixtureModelを使って価格が生まれるのをシミュレートし、モデルからサンプリングして、より良いmlアルゴリズムを訓練することができます。
 
記事に関しては、私は読んでいないけれど、とても力強いものだと思った。そこで、この場を借りてアドバイスをさせていただくことにした。第一に、この市場のデータソースは、市場のチップの一部、あるいはほんの一部に過ぎず、市場の方向性を決定することができるのは、トレーダーの手にあるチップの大部分であるため、データ収集から期待されるものを達成することは難しく、過去の市場に適合するだけかもしれないものを最適化するために、どのような方法論とアプローチに依存するかということです。第二に、短期間のこの市場はランダムではありません。例として、マルチサイドのトレーダーとショートサイドのトレーダーが2人しかいない場合、一方のショートサイドのN価格は売りに出され、もう一方のショートサイドのN-1価格は売りに出されます。マルチ当事者N-1が購入し、Nの現在の価格は、別のマルチ当事者Nの価格を購入すると仮定すると、理論的には価格にNであるべきで、実際には、空のNのないシングル、集計メカニズムは、取引を見つけるためにN-1に行くので、N-1の現在の価格は、おそらくそう平均です。だから、NとN-1、N+1などはすべて関連しており、完全にランダムではないので、データの最適化は、勢いから良くすることができます。最後に、EAであろうと手動取引であろうと、市場が安定していれば、その富は必然的に特定の市場参加者に移転し、この市場は存在しなくなるため、市場から安定して儲けることは難しい。だから、投資はリスクに投資することであり、収穫のリスクプロセス、あまりにも可能な損失の安定性を懸念し、私は市場取引の一部の人々に反対していない特定の法律を発見し、市場のBUGに相当する富を実現し、実際には、市場自体も参加者の複雑さのために自己改善の過程にあるが、金は赤ではない、誰も完璧ではありません。知的取引の方向性は、理論的には、常に市場のバグを探すプロセスであり、このBUGは、障害に多くの人々と、少数の人々によってのみ使用されます。私のコメントがあなたの参考になることを願っています。