問題タブ [algorithmic-trading]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
optimization - アルゴリズム取引の堅牢な測定 - ロバート・パルドの本に基づく
私はアルゴリズム戦略を最適化しています。多くの最適化された戦略のプールから選択する過程で、私は戦略の堅牢性を検索 (評価) する段階にいます。
Pardo 博士の著書「The Evaluation of Trading Strategies」の 231 ページのガイドラインに従って、Pardo 博士は数値 3 で次の比率を最適化されたデータに適用することを推奨しています。
「 3. 収益性の高いすべてのシミュレーションの総利益をすべてのシミュレーションの総利益で割った比率は有意に正です」
質問: 最適化の結果から、Pardo 氏が「...すべてのシミュレーションは有意に肯定的である」という発言の意味を正しく理解できていません。Pardo 氏が「非常にポジティブ」とはどういう意味ですか?
a.) 95% の信頼水準で? b.) 特定の p 値を持つ? c.) 各シミュレーションの平均純利益から標準偏差を引いた関係
文は「単純」に見えるかもしれませんが、最も堅牢なアルゴリズム戦略をフィルタリングするために、パルド氏が文で何を意味し、どのように計算するかを本当に理解したいと思います。
c++ - 「ライブ」ストリームの単純移動平均 - 迅速な実装
私の取引アプリケーションには、株価の「ライブ ティック」があります。SMAを維持する必要があります。各ろうそくの持続時間が 10 秒である 20 本のろうそくの SMA が必要であると仮定しましょう。この意味は
10秒ごとに「チェックポイント」があります。
- 現在のろうそくを「クローズ」し、最後の 10 秒間の平均価格を保存します。平均は (最大 - 最小) / 2
- 私は新しいろうそくを「開始」し、最終価格を保存します。
- 「時代遅れの」ろうそくを片付けます。
ティックごと:
- 現在の「フォーミング」ろうそくの「最終」価格を更新し、SMA を再計算します。
したがって、どのティックでも、SMA を「再計算」する必要があります。ほとんどの場合、最後のろうそくの価格のみが変更されます (最後の価格を使用しているため)。10 秒に 1 回、もう少し余分な作業が必要です。古いろうそくの平均を「忘れ」、「作成したばかり」のろうそくの平均を「保存」する必要があります。
これを最小のレイテンシで実装する方法を提案できますか? 低遅延が主な要件です。
genetic-algorithm - Metatrader 5 のカスタム最適化
MT5の遺伝的最適化をカスタマイズしたい。たとえば、さまざまな集団サイズと選択方法を試してみたいと思います。デフォルトの遺伝的最適化を調整することはできますか、それともスクリプトまたは Expert Advisor として書き直す必要がありますか。カスタム オプティマイザーを作成するための API (またはテンプレート) はありますか? MT5 で可能ですか?
yahoo-finance - 株式の履歴データの取得
HTTP リクエストを使用して株式の履歴データを確認し、JSON を取得したいと考えています。
yahoo API を使用して、HTTP 要求フィールドを明確に理解するだけでなく、特定の日のデータ(毎日の平均ではなく、特定の日の値)を取得することも困難であることがわかりました。
http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.historicaldata%20where%20symbol%20%3D%20%22AAPL%22%20and%20startDate%20%3D%20%222012-09-11%22%20and%20endDate%20%3D%20%222014-02-11%22&format=json&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=
1.各フィールドの設定方法の説明はどこにもありません (Yahoo コンソールにもありません)。
2.特定の日を設定してその値を取得することはできません。
現在無料になっている Yahoo 以外に安定したソリューションはありますか? または、誰かがこれらすべてのジャンクがリクエストで何を示しているかを理解するのを手伝ってもらえますか?
trading - MQL4 または MQL5 を使用してチャートに注釈を付ける
近い将来、私は取引を開始します。取引プラットフォームが使用するさまざまなブローカーをすべて見ると、MetaTrader 4 または 5 であり、これで問題ありません。
MQL 4 または 5 を使用してバック テストを実行することは可能だと思います。ただし、時間を節約するために、私が作成した独自のバック テスト エンジンを引き続き使用するつもりです。
私が知りたいのは、グラフに注釈を付けるために MQL 4 または 5 でコードを記述できるかどうかです。私が学ぶための良い例をどこで見つけることができるか教えてください。
finance - インタラクティブ ブローカーのティック イベントについて
Interactive Brokers の API メソッドを介して金融ティック データを受信する場合、tickPrice
またはtickSize
データには次のパラメーターが含まれます。
- tickerId (記号)
- フィールド (1=入札、2=アスク、4=最後、6=高値、7=安値、9=終値)
- 価格
- canAutoExecute
他のフィードから、ダニが私に与えることを期待します
- tickerId (記号)
- 入札
- 聞く
- 入札サイズ
- サイズを尋ねる
したがって、私の質問は次のとおりです: tickerId をキーとして、構造体を値として上記の 5 つのプロパティを含むディクショナリを保持する必要があります。これにより、ティック イベントが発生するたびに、構造体のそれぞれのプロパティが更新され、構造体全体が次のようにデータベースに送信されます。ダニ?理想的には、私のティックデータベースは次のようになります
IB API ドキュメントから:このメソッドは、市場データが変更されたときに呼び出されます。これは、たとえば入札価格が更新された場合、他のプロパティは同じままになるということですか?
algorithmic-trading - MQL4 で注文開始バーより数ピップ上に注文を設定する方法
これが売り注文の場合は前の注文の開始バーの高値より上、またはこれが買い注文の場合は前の注文の開始バーの安値より下に配置されるストップロス注文を作成したいと考えています。
問題を説明するための図を次に示します (この例は売り注文のケースを示しています)。
それを行う方法はありますか?固定されたストップロスを使用すると、以下のコードは正常に機能します。ストップロスを高値または安値に基づく変数に置き換えると、注文は発生しません。
これが私のコードです: