異なる端末で動作する2つのEA間のデータ交換

 

このスレッドは「2009年5月15日からのNFAによるロック禁止」スレッドの技術的な続きです。

特に、この記事から。

NFAは2009年5月15日からロック禁止に」。

ソランドル 2009.04.26 12:06

2.アメリカの証券会社の口座を持っている場合、同じ大きさの2つの口座に分けることになります。一方の口座では、すべての商品のすべてのポジションが買いのみとなり、もう一方の口座では、すべての商品のすべてのポジションが売りのみとなります。2口座あるので、1口座でヘッジが禁止されてもこのルールには抵触しない。そして、この2つの異なる口座にある唯一のExpert Advisorのポジションを分配する方法を考えなければなりません。私の以前の仕事ではなかったので、2つの異なるアカウントで1つのExpert Advisorの注文を正確に実行するためには、どのような方法があるのか知りたいです。

異なる端末で動作する2つのEA間でデータ交換を行うための技術的な実装について説明したい。

最も有力な議論の方向性は、共有メモリ空間を利用したEA間の情報転送だと思いますが、それ以外の選択肢も議論可能です。

つまり、それぞれのExpert Advisorは、他の端末からの注文に関する完全な情報を持っている必要があるのです。どのようにアレンジするのか?

このスレッドで議論するのは技術的な内容だけにしていただきたいのですが。ありがとうございました。

 
技術的な詳細やアルゴリズムの実装は、以前からすべて説明されています。検索を利用する。
 
HIDDEN >> :
技術的な詳細やアルゴリズムの実装は、以前からすべて説明されています。検索を利用する。

この記事とかのことですか?

専門家作業を効率化するためのDCの自動選択」。

 
むしろ「WinAPIファイル操作」 です。
 

あなたのタスクの場合、DCの自動選択の記事で紹介したツールキットを使うのは一発勝負です。dllがなければ、ファイルだけでなんとかなる。

 

ある端末でsqllite3が 使われていることから、これが最も簡単な方法の1つであることがわかります。

開発者は、このデータベースにすべての端末情報を読み込んでおくとよいでしょう。

そして、通常の機能で、より構造化された情報を読み取ることができるようになるのです...。

例えば、現在では、ログを解析して、例えばポジション開設 の質を推定することは、自明なことではありません。

*

オフトピックだったらごめんなさい・・・。

*

DBの話になったので、アカウント間のやりとりの際に役立ちそうな方法を探しています。

同じ データベースのセルを書き込んだり読み込んだりするには?

つまり、彼らの目的のために、我々はテーブルを開始し 彼女のフィールドでは、1行で条件付きA、B、C、Dと 呼ぶことにしましょう。

図式的に言うと、こんな感じです。


A
B
C
E
データ
123
1.2548
12.04.2009
買う
 
solandr >> :

このスレッドは「2009年5月15日からのNFAによるロック禁止」スレッドの技術的な続きです。

特に、この記事から。

NFAは2009年5月15日からロック禁止に」。

ソランドル 2009.04.26 12:06

2.アメリカの証券会社の口座を持っている場合、同じ大きさの2つの口座に分けることになります。一方の口座では、すべての商品のすべてのポジションが買いのみとなり、もう一方の口座では、すべての商品のすべてのポジションが売りのみとなります。2口座あるので、1口座でヘッジが禁止されてもこのルールには抵触しない。そして、この2つの異なる口座にある唯一のExpert Advisorのポジションを分配する方法を考えなければなりません。私の以前の仕事ではなかったので、2つの異なるアカウントで1つのExpert Advisorの注文を正確に実行するためには、どのような方法があるのか知りたいです。

異なる端末で動作する2つのEA間でデータ交換を行うための技術的な実装について説明したい。

最も有力な議論の方向性は、共有メモリ空間を利用したEA間の情報転送だと思いますが、それ以外の選択肢も議論可能です。

つまり、それぞれのExpert Advisorは、他の端末からの注文に関する完全な情報を持っている必要があるのです。どのようにアレンジするのか?

このスレッドで議論するのは技術的な内容だけにしていただきたいのですが。ありがとうございました。

いくつかのアイデアがあります

1ファイル交換

2- 様々なウィンドウズ・イベント・メソッドを使用することが可能です。

3 TCP/IP経由


複雑さではファイル共有の方がシンプル


ファイル共有に注意

異なるプログラムによる同一ファイルへのアクセスは、適切に分離する必要がある

いずれにせよ、ファイル共有の仕組みについてよく理解しておく必要があります。

 
kombat >> :


mysqlの話であれば、アカウント間のやり取りにも有効な方法を探しています。

同じデータベースのセルを書き込んだり読み込んだりするには?


エレメンタリー、ワトソンSQLクエリを通じて。

 
Reshetov >> :

初歩的なことだよ、ワトソン。SQLクエリ経由。

ホームズさん、ありがとうございました。;)))

ただ、問題はその方法だが...。

私などは、まだこの作業に屈していません。

(たまにしか作業しませんが)。

*

マジレスすると、特定のテーブル座標で読み書きのリクエストをするのが問題なのです。

 
kombat >> :

ホームズさん、ありがとうございます。;)))

ただ、問題はその方法だが...。

私などは、まだこの作業に屈していません。

(たまにしか作業しませんが)。

*

真面目な話、問題は特定のテーブル座標の読み書きのクエリーを作ることです。


SQLも可能

問題あり...2つのEAがSQLをいじることをどうやって知るのでしょうか?

EAが何かを "書いた "かどうかを確認するために、SQLを調べるために大量の時間を使うExpert Advisorの両方でモニターを使用する必要があります。

ファイル交換に似ている!同じような手間をかけなければならない - ファイルを見に行く時間の量子で

何か変更があった場合、別のアカウントで取引している友人から何か報告があった場合


--

イベントを使用した方が、よりリソースを節約でき、より良い。

イベント発生 - キック!

イベントが発生していない場合は、キックしないでください。

各専門家は、友人に自分の意思を伝えたいと思うかもしれません。

これがそのイベントです。 寝首を掻く

Windowsはイベント駆動型OSであり、その方向で行くのが良い。

--

 

原理的には、一定時間ごとにファイルをチェック/記録することができれば十分すぎるほどです。

ファイルアクセスについては、同僚から次のようなアイデアを提案されました。ファイルへの書き込み中は、file.runningのような呼び方をしています。書き込んだらすぐにfile.outputにリネームしています。2つ目のExpert Advisorでファイルを読み込んだ後、ファイルを削除 します。このように、最初のExpert Advisorに、渡された情報を新しいファイルに書き込むのは、最初のEAの次の動作サイクル(一定時間後)であることを知らせるのです。おそらく、アクセス分離のセキュリティのために、いくつかのフラグを使うことができるだろう。


TCP/IPを使用して、あるポートでlocalhost 127.0.0.1にデータを送信する例をいくつか見たことがあります。各Expert Advisorは、他のExpert Advisorのポートを知っており、データを送信すると同時に、自分のポートでリッスンし、他のExpert Advisorからのデータを傍受することができます。VBスクリプトで実現する例があります。EAにどのように実装できるかはわかりません。

Expert AdvisorのTCP/IPによるデータ転送について、すぐに使える例はありますか?