KimIVの便利な機能 - ページ 3

 
KimIV:

関数 ExistOrders()。

オーダーの存在を示すフラグを返す ...

注文 数を(自分用に)「返品」するようにした。これで一石二鳥(2つの関数を書く必要がない) - if > 0, order exists + we may analyze ...グリッドの穴」、「反転」のトリガーなどがある場合(ただし、この機能は動作に時間がかかりすぎます)。(本当は、関数の実行に時間がかかるので、記載する目的だけでは正当化されない)

さらに、視覚的に直感的で、変数を割り当てた後、さらにそれを使うことができるように思います。

...(ExistOrders("", OP_BUYLIMIT)+ExistOrders("", OP_SELLLIMIT))> 0 ...

より

...(ExistOrders("", OP_BUYLIMIT) || ExistOrders("", OP_SELLLIMIT)) ...です。
 
SergNF писал (а):
私自身は)注文数の「戻し」を行いました。
後でNumberOfOrders()関数があります。
 
KimIV:
zhuki wrote (a):

取引操作の間の遅延のバージョンを表示します。

貿易業務の間に遅れを作らない。つまり、2つ以上の注文を出す必要がある場合は、間を空けずにこれらの取引を行うのです。しかし、サーバーへのアクセス時にエラーが発生すると繰り返されるトレードの試行の間に、MT4開発者の推奨に従って 一時停止をするようにしています。例えば、私のオンライントレード用のSetOrder() 関数では、このようなポーズがどのように実装されているかを見ることができます。取引サーバーから返されるエラーによって、異なるポーズが取られます。



この関数SetOrder() は、保留中の注文を設定するために使用されます。デモ口座やリアル口座でのオンライン取引での利用を推奨します。


20個以上のEAが取引されている場合、必ずエラー146が発生します。この機能では、数個(2~4個)のEAしか解決できませんが、原理的には、固定遅延では解決できません...。
20以上のExpert Advisorで取引する場合、少なくともEthernetプロトコルを使用して裁定取引を行う必要がある...そうすれば、すべてのExpert Advisorは、シグナルを受信したときに市場に参入することができます。
 
イゴール、注文の締めや変更の機能を「おごれ」してください。;-)
 
Lukyanov:
Igorさん、注文のクローズと修正の機能を "おもてなし "してください。;-)

はい、間違いなく...。でも、まずはSetOrder関数で終わらせます。プロトコルのレコードを使ったこの機能の使い方の例をもっと紹介したいと思い、今はトレードの開始を待っているところです。テストスクリプトはすでにできていますが、オンラインでテストする必要があります。

機能の五十音順での掲載を予定。
- 注文の削除
- ExistOrdersByLot
- GetLotLastOrder
- GetOrderOpenPrice
- インデックス・バイ・チケット
- 注文の変更
- 注文数(NumberOfOrders
- セレクトバイチケット
- セレクトバイチケットフロムヒストリー

お客様(スレッド訪問者)のご希望で公開順序を調整することができます。しかし、多くの機能は互いに関連しているため、まずは論理的な使い方を考えてみます。つまり、先に公開されるのは、後から配置される他の機能を適用する際に利用できる機能ということになります。

 

イゴール、いい仕事してますね〜。

しかし...荷物が多く、フォーラムや本、リファレンスやコドベースを
今でも、時には恥ずかしくて聞けないような、切実な疑問があるんです。
(幸いなことに、私はダミーで、それを隠さない...しかし、まだ学習...:)。

そして、その些細なニュアンスにこそ 疑問があり、それがコードの断片を結びつけることを可能にするのです。
...より正確には、プログラム内のブロック(モジュール)が相互に接続されるようにすること...。

わかります。私も、「どうやって?」という問いかけには、よく罪を犯します。
というのがベストシナリオですが、どうでしょう。
例えば、トレーリングストップなど。また、「自分のTSを使えるか」という質問には
自作のTSを使えるかどうかという質問に対して、答えはせいぜい、100%の場合はイエス、90%の場合は自作のTSを追加、80%の場合はどれを使うか聞いてください :))) といったところでしょう。
など...降順に
そして、具体的にどのように、一文字一文字、残念ながら、必ずしもそうではありません。

ですから、私も改造機能についての記事を楽しみにしています。
そしておそらく、より詳細なアプリケーションの実践...。

 
klot писал (а):
20個以上のEAで取引する場合、少なくともEthernetプロトコルを使ってアービトラージを行う必要がある...。そして、すべてのExpert Advisorは、シグナルを受信したときに市場に参入することができます。
アービトラージとは どういう意味ですか?
 
kombat писал (а):
そして、質問はその些細なことやニュアンスの中にあり、それによってコードの断片をつなぐことができるのです
より正確には、プログラムのブロック(モジュール)の相互接続を確保することです...

私の機能については、どんな質問にもお答えします。できれば :-) ...そのためのスレッドです。つまり、私が詳細な説明をせずに機能を掲載している他のスレッドから、ここで質問することができるのです。だから、遠慮なくやってください。これは長く付き合っていこうと思っているテーマです。特集の掲載だけで4カ月を予定しています。さらに質問に対する回答も...

kombat wrote (a):
というわけで、私もせっせと改造機能の説明の書き込みを待ちます。
そして、それを実際にもっと細かく応用していくかもしれない...。
ModifyOrder 関数は世界共通です。ポジションだけでなく、オーダーにも適用されます。早速、テーマへの組み込みを考えてみます。
 
KimIV:
klot wrote:

20個以上のEAで取引する場合、少なくともEthernetプロトコルを使ってアービトラージする必要があります...そうすれば、すべてのExpert Advisorは、シグナルを受信したときに市場に参入することができるようになります。
アービトラージとは どういう意味ですか?

こんにちは。
裁定」とは、同時に動作する多くのExpert Advisorに取引フローへのアクセスを保証することを意味します。昔、この問題に直面し、Ethernetプロトコルから衝突判定付きのマルチプリアクセスを使用するのが良いという結論に達しました。
要点はシンプルです。トレードストリームがビジー状態であるかどうかを確認します。フローがビジー 状態の場合は、ランダムな一時停止(1秒から)を発生させる。トレードフローに空きがあれば、すぐに注文を「送信」します。 複数のExpert Advisorを使用して取引する場合、各Expert Advisorは独自のランダムポーズを持ち、Expert Advisorは順番に取引スレッドを占有していきます。専門家同士のコンフリクトは発生しません。
例えば、こんな感じです。
if( IsTradeContextBusy() )  Sleep(MathRand()+1000);
 
10人の専門家が(それぞれ独立したフローで)取引フローの公開を待っている場合、偶然に少なくとも2つが重なると何が起こるか。
他の原理で計算し、使っています。トレードスレッドが誰かに占拠されている場合、残りのEAは単に動作しない(戻る)だけで、これはEAの最初にチェックされます(どうせ何もできないのに、なぜ分析するのでしょう)。
そんなことないですよ、ありがとうございます。