トレーディングにおける機械学習:理論、モデル、実践、アルゴトレーディング - ページ 1557

 
ミハイル・マルキュカイト:これがZZがベストターゲットでない理由です。

ZZを使い始めてから15年ほどになります。このツールの欠点はすべてわかっている。他にもいろいろなことを知っているからこそ、上記のような話をしたのです。

---

システムが勝手に売買ポイントを探してくれるはずです。市場に出ているプレーヤーと競争するのではなく、市場そのものと競争するのである(何かトートロジーで申し訳ない)。

 
エウゲニ・ノイモイン

ZZとは15年ぐらい前から練習しています。このツールの欠点はすべてわかっている。そして、私はもっとたくさんのことを知っています。だから、上で私のアイデアをお話したのです。

---

システムが勝手に売り買いのポイントを特定すること。市場のプレーヤーと競争するのではなく、市場そのものと競争するのである(何かトートロジーで申し訳ない)。

それについて、もう少し詳しく教えてください。どのように実装したのですか?買い手と売り手の争いがあって、その結果相場が決まるのならわかるが、勝負の相手が市場そのものだとしたら、わけがわからなくなる。アルファで言えば、一定のルールに従って自分でプレーすることを覚えたということです。市場にルールを指示することはできないので、市場と競争するのではなく、市場のようになろうとするのです。市場を研究することはあっても、競争することはないのです。市場が理想的なプレーヤーで、それ以上の存在になろうとするのであれば。まあ、そうなんですけどね。そうですね、でもそれならαの例も関係ないですね。なぜなら、アルファは独学で学んだからです。自分で自分を鍛え上げる。それなのに、市場が先験的に勝者である市場とnsの間の競争の瞬間を、まさにどのように作ったのか、端的に説明してください。ZZはアプリオリにエンドバリューを持たないので、使い物にならないのです。
 

Habraに「人のためのAI:技術に関するシンプルな言葉」という注目のタイトルで記事が掲載されましたhttps://habr.com/ru/company/jetinfosystems/blog/471626/

私は、この記事を読んで、すべては「機械学習」に帰結する、・・・と思い、昔の逸話を思い出しました。

ある学生が動物学の試験を受けています。彼はノミのことしか知らない。試験で、彼は犬に関する質問を受ける。

生徒が始める。

- 犬は哺乳類で、毛に覆われています。毛皮の中にノミがいる...それならノミのことでいいじゃないか...。

伝道師です。

- よし、若者よ、猫のことを教えてくれ。

学生です。

- 猫は毛に覆われた哺乳類である。毛皮にノミがいる...ノミについてはこちら...。

学生です。

- 魚の話をしよう。

学生です。

- 魚は哺乳類ではありません。毛皮がないんです。鱗で覆われていますが、もし毛皮で覆われていたらノミがいるはず...。

 
 

帰国子女研修のフィナーレ


 
エウゲニ・ノイモイン

ZZや追加のインジケータは全く使用しないでください。複数のtfからOHLCのみ(tfは4~6倍程度違うはず。 例えば、1-5-30-H3...最大1ヶ月のタイムフレーム。自分で選択)、そしておそらく早期警告のための刻み目を増やした。

最大と最小の価格別に畳み込み構造で。by OHLC - 再帰性構造。などなど、すべて中古価格です。これらの信号はさらに、例えばフルメッシュネットワークに供給されます。

また、フルメッシュネットワークの入力の1つに、リカレンスネットワークを通過した刻みを入力します。

入金増加のスピードを最適化する。その結果、メッシュは自らロット量を決定し、始値と終値を選択する必要があります。だいたいこんな感じです。

何をあわてているかというと、ネットワークの構造を描くだけでいいんです。そして、多くの質問を受けることになります。

しかし、それは単なる熱風に過ぎない。考え方は正しいが、方向性が間違っている。

 
マキシム・ドミトリエフスキー

帰国子女研修のフィナーレ


そして、自作のテスターを添付することができるのですが、非常によくある失敗を回避できているのでしょうか?またはプライベートメッセージで。

グッドラック

 
ウラジミール・ペレヴェンコ

そして、自作のテスターを添付することができるのでしょうか。非常によくある失敗を回避できたのでしょうか。またはプライベートメッセージで。

グッドラック

jupiter notebookは使えるのか?

ファイル:
 
マキシム・ドミトリエフスキー

Jupiterのノートパソコンは使えるのか?

(笑) もちろんです。ありがとうございます(苦笑)。見てみて、また報告します

 
マキシム・ドミトリエフスキー

jupiter laptopは大丈夫ですか? 全部ダウンロードしました、コードは全部ビデオにあるので、秘密ではありません。

他人のコードを分解するのは大変な作業です。custom_tester()関数とハイライトされた部分だけを見てください。

def custom_tester(symbol, timeframe, frompos, pricesnumber, lag, num, markup = 0.0):   
    symbols_list = [symbol]
    pr_test = pd.DataFrame()
    for i in symbols_list:
        rates = MT5CopyRatesFromPos(i, timeframe, frompos, pricesnumber)
        pr_test[i] = [y.close for y in rates]

    #creating price returns with lag
    returns = np.array(np.log(1 + pr_test.pct_change(lag)))
    returns = returns[lag:]
    comp_returns = np.array(returns)
    #                   
    for i in range(num-1):
        comp_returns = np.c_[comp_returns, returns]
    #putting returns into dataframe    
    comp_returns = pd.DataFrame(comp_returns)
    #shifting columns to use it as delayed features
    for i in range(num):
        comp_returns[i] = comp_returns.shift(i)
    #deleting first 'num' rows with NaN's
    comp_returns_shifted = pd.DataFrame(comp_returns[num:]).reset_index(drop=True)
    
    testpr = np.array(pr_test[lag+num:])
    X = pd.DataFrame(comp_returns_shifted)
    p = model.predict_proba(X) # непрерывное предсказание классификатора (типа вероятность)
    
    result = np.array([0])
    
    lastdeal = int(2)
    lastpr = float(0.0)

    for i in range (X[0].size):
# При первом входе
        if lastdeal == 2:
# переводим непрерывное предсказание в номинальные значенияю Порог 0.5
            if p[i][0] > 0.5:
                lastdeal = 1
            else:
                lastdeal = 0
            lastpr = testpr[i] # сохраняем значение Close 
            continue
# при следующей итерации
        if lastdeal == 1 and p[i][0] > 0.5:
            lastdeal = 0 # это я не понял зачем
# При вычислении результата ошибка
            result = np.append(result, result[-1] - markup + lastpr - testpr[i])
            lastpr = testpr[i]
            continue
# при последующей итерации
        if lastdeal == 0 and p[i][0] < 0.5:
            lastdeal = 1 # здесь не должно быть -1?
# и здесь ошибка
            result = np.append(result, result[-1] - markup + testpr[i] - lastpr)
            lastpr = testpr[i]
            continue
            
    plt.figure(figsize=(20,5))
    plt.plot(result)
    
    from sklearn.linear_model import LinearRegression
    y = result.reshape(-1,1)
    X = np.arange(result.size).reshape(-1,1)
    lr = LinearRegression()
    lr.fit(X,y)
#     print(lr.score(X,y))
    return lr.score(X,y)

計算結果の誤差は?各反復ごとに、前の値にresult +=testpr[i] - lastprを加えて 計算するのです。 現在のバーの終値と前のバーの終値の差です。理想的には、Close - Openとするのが良いのですが、それは問題ではありません。重要なのは、現在のバーの終値でシグナルを受信した場合、同じバーのシグナルdiff(Close)として考えることです。これは誤りです。 現在のバーのシグナルプレミアムは、次のーのdiff(Close)です正しく結果を計算するためには、信号を1小節分右に移動させる必要があります。 p = model.predict_proba(X)1小節分右に ずらす。Rでさらに計算したものをお見せします、私にはその方が簡単です。

ifelse(p >= 0.5, 1, -1)%>% lag()%>% na.omit() -> sig
cumsum(sig * {diff(testpr) %>% tail(lenght(sig))})-> result

最初の行で、予測を公称値(1,-1)に変換し、1小節分右にシフト し、NAを除去して、信号のベクトルを得る。2行目は、あらかじめ信号ベクトルと長さを揃えておいた、信号ベクトルとdiff(Close)ベクトルの積を累積的にまとめたものである。そうすれば、正しい結果が得られる。

グッドラック

Документация по MQL5: Основы языка / Операции и выражения / Побитовые операции
Документация по MQL5: Основы языка / Операции и выражения / Побитовые операции
  • www.mql5.com
Дополнение до единицы значения переменной. Значение выражения содержит 1 во всех разрядах, в которых значение переменной содержит 0, и 0 во всех разрядах, в которых значения переменной содержит 1. Сдвиг вправо Двоичное представление x сдвигается вправо на y разрядов. Если сдвигаемое значение имеет беззнаковый тип, то осуществляется логический...
理由: