デベロッパーズ!作ったものをテストしたりもするのですか? - ページ 7

 

こんにちは。

С-4

新ゲートウェイ「シーゲイトプラザII」では、Stock#は無料ではありません。

Cgate APIは、取引所から無償で配布されています。自分で端末を書く(もちろんMQのようなきれいな端末にはならない)。

は難しいことではない、それは、 任意の 言語で独自のエキスパートアドバイザー- DLLを書くことができるようになりますAPIのユーザーにCgate APIを翻訳することは困難である。

要するに、私の考えはこうです。

BASE --> PLAZAII(Cgate API) --> Simple Terminal --> DLL user advisor.

図では、Plaza II プロトコルを介して取引所からテストクオートを取得しています。


端末はほぼ完成!(3日かけて書きました。)

言語内(DLL-advisor内)で、好きな「ガジェット」(カップ、ボタン、追加グラフィックなど)を作成することができます。

開発環境による制限を受けるだけです。

しかし、このコンセプトには大きな欠点があります。それは、EAのテストが複雑だということです(今のところ、ログを通してのみ)。

しかし、紛れもない利点 - 交換、および任意のプログラミング言語への "直接 "の接続。

P.S クライアント・サーバー・コンセプト(一般的な電子取引と同様)は、イベントモデル(要求-応答)のみに基づくもので、これが基本です。

何でも工夫できる(いろいろなチェックなど)のですが、リクエスト・レスポンスがうまくいかないと、結局はやはり

必然的にExpert Advisorにエラーが発生することになります。


 
Mikalas:

...

しかし、このコンセプトには大きな欠点があります。それは、EAをテストするのが難しいことです(今のところ、ログを通してのみ)。

...

MT5のコンセプトには、フォーラムでの賢い人たちとのコミュニケーションという、非常に大きなプラス要素があります。コストがかからないのであれば・・・。

 
Mikalas:

端末がもうすぐ完成します!(丸3日かけて書きました。)

3日間で感動!?

唯一の疑問は、すべてがうまくいっているのに、なぜまだMT5を使っているのか、ということです。

DC2008:

MT5のコンセプトには、フォーラムでの賢い人たちとのコミュニケーションという、とても大きなプラス要素があります。コストがかからないのであれば、.

ええ、それは確かです。今、このような製品は、エコシステムがなければ生きていけないのです。フォーラム、コミュニケーション、何千人ものユーザー、あなたと私のような活動家は、投稿、議論、ブログの準備ができている...ユーザーの支持がなければ、どんなプロジェクト であれ、遅かれ早かれ失速し、開発努力も無駄になる。
 

С-4!

ターミナル - 何かを表示するためだけのものです。

以前にも書きましたが、全然難しくないんですよ。一番大変なのは、Cgate APIをUser APIに変換することです。

やるべきことの1/200(一番難しいところではない)をやった。

シーゲイトプラザIIは、ストリーミングの 非同期 クライアントサーバーであり、ストリームでは

は、複数の種類の情報を含んでいます

残念ながら、この変身を完全に素早く行えるようなレベルではありませんが...。

Cgate経由で動作する(有償の)製品は2つしか市場になく、私は

という感じです。

だから、FORTSでは、CGate Traderを書くまでは、MT5なんです。

 

ところで、2011年1月24日付のMetaQuotes Software Corp.のMetaTrader 5 Trading Events に関する興味深い記事を目にしました。などと書かれています。

Сообщения о торговых событиях и об изменениях в торговой истории поступают по независимым каналам. При отправке запроса на покупку функцией OrderSend() можно сразу же узнать тикет ордера, который был создан при успешном результате проверки запроса. Но в то же время сам ордер еще может не появиться в клиентском терминале и попытка выбрать его с помощью функции OrderSelect() окажется неуспешной. 

また

トレードサーバーに対する全ての操作とトレードイベントに関するメッセージの送信は非同期で実行されます。取引口座の変更内容を確認する確実な方法は1つだけです。この方法は、取引の状態や取引履歴を記憶し、新しい状態と保存した状態を比較するものです。

以下は、注文・取引カウンターの適切な配置の例です。

作者の問題を注意深く調べれば、問題はないことがわかります。OnTradeTransaction()関数を拒否し、OnTimer()ですべての変更を高解像度アップデートでキャッチする道徳的強さを見つける必要があるだけなのです。

数分後には、履歴を変更した仕事の例を下書きしています。

///
/// Следит за поступлением новых трейдов и ордеров.
///
void OnTimer()
{
     datetime tBegin = TimeCurrent();
     HistorySelect(dataBegin, TimeCurrent());
     //Если новые трейды не поступили, то и нечего обрабатывать.
     if(HistoryDealsTotal() == 0)return;
     AddDeals();
     dataBegin = tBegin;
}
この例には落とし穴が隠れていて、そのまま使うことはできませんが、コンセプトははっきりしていると思います。毎回、最後に処理された取引から現在の時刻までの履歴の一部を読み込みます。新しいトレードが来たら、それを処理し、履歴の読み込み開始をトレードの到着時刻にシャッフルします。
 
C-4:

ところで、2011年1月24日付のMetaQuotes Software Corp.のMetaTrader 5 Trading Events に関する興味深い記事を目にしました。などと書かれています。

ウンウン

ロッシュ

さらに、このトピックに関する記事もあります。

 

そして、筆者は取引ロボットの作り方という記事を読んで、時間を無駄にしない ことをお勧めします。まさにフィットしています。

Программисты часто выбирают четвертый путь – они сразу начинают писать торгового робота и не хотят особенно тратить время на ручную торговлю. Зачем? Ведь можно сразу написать автомат, потратив на это несколько месяцев, и затем только пожинать плоды своего труда.

しかし、「労せずして池から魚を取り出すことはできない」ので、プログラマーは取引ロボットの代わりに、価格データの取得と処理、チャートや指標の視覚的表現、履歴上で戦略をテストするカスタムツールなど、必要なインフラをすべて一から書き始めることが多いのです。

この仕事の過程で、彼は多くの有益な経験を積むことになる。しかし、同時にその人は、ほとんどの場合、最終目標である自動売買システムの作成に一歩も近づいていないのです。また、仮に最後まで行ったとしても、書いたロボットが利益を生む保証はどこにあるのだろうか。また、その人が別のトレーディングシステムを書きたいと思ったらどうするか。すべてを再構築し、新たに避けられないプログラムエラーに対処しなければならないのです。

 

ワシリー!

確かにMT-5への愛着はわかりますが、私の言葉を信じてください。

履歴を調べても、間違ったデータが書かれている可能性がありますから。

クライアント・サーバー=リクエスト・レスポンスという単純なことを理解してください。

ほら、注文がアップグレードされて、一部実行されたとの回答が来たぞ。

歴史の中で何が起こると思いますか?

 

ロッシュ!

あなたも、私が5回読んだものを私に押し付けているのです。

ロボットの作り方(書き方)の話ではなく

ロボットの作り方(書き方)ではなく、MT-5の具体的な間違いの話です!(笑)。

写真をよく見ようともせず

添付ファイル(MESSAGE TIME)

 
Mikalas:

という写真をよく見ようともしない。

付けました。

かわいそうに、助けてあげたいけど......緊張して、叫んでいるね。


スクリーンショットではなく、テキストログを頂ければと思います。

+ あなたのエラーを再現するためのコードを教えてください。