MetaTrader4用API関数のライブラリを開発 - ページ 6

 
<br / translate="no"> また、OmegaはMforex.hファイルからの定義を "知らない "ことに注意してください。すなわち、例えばポジションオープンの機能を呼び出す場合、OP_SELLなどではなく、例えばSell - 1の操作コードを指定する。詳細は、omegaが外部ライブラリと連携する方法を説明したDevKitのドキュメントを参照してください。
がんばってください。


DevKitのドキュメントもあるのですが、そこには何も書いてなくて、英語は暗い森です。
しかし、mforex.nのドキュメントから抜粋したものがあります。
受注状況
enum { OP_BUY=0,
OP_SELL。
OP_BUY_LIMIT。
OP_SELL_LIMIT。
OP_BUY_STOP。
OP_SELL_STOP。
OP_BALANCE。
OP_CREDIT
};

ということは
OP_BUY=0なら
OP_SELL=1かつ
OP_BUY_LIMIT=2 など?

そうであれば、難しいことではありません。

ツール名についてはどうでしょうか?
 
<br / translate="no">ツールの名前についてはどうでしょうか?

あなた自身は、ほとんど理解しているはずです。ツール名は変更されずにMT4に渡されるため、必ず逆カンマで記述してください。MFOREX ライブラリを作成したとき、最初は利用可能なすべてのペアに同じように番号を付けたいと思ったのですが、標準的な方法では取引されている商品のリストを提供できないことが判明しましただから、「USDCHF」「GBPUSD」と書くだけ。
また、ペアの名前を文字列変数で渡すことも可能です。
がんばってください。
 
どうもありがとうございました。今のところオメガの問題は少ないです。
もっと大きな問題を発見しました。
MT4のExpert Advisorが壊れている、すなわち、それ自体で動作しない、それはリストでグレーである、どうすればよいですか?
再度ダウンロードしましたが、変わりません。

HELPからダウンロードしました。

開発が完了したら、EAをコンパイルする必要があります。そのためには、EAエディタで「ファイル - コンパイル」メニューコマンドを実行するか、F9キーを押すか、ツールバーボタンをクリックします。コンパイルに成功すると、拡張子が*.EX4のプログラムの実行ファイルが作成され、自動的に/EXPERTSフォルダに配置されます。コンパイルされたExpert Advisorのリストは、クライアントターミナルの「Navigator - Expert Advisors」ウィンドウで確認することができます。コンパイルに失敗した場合、Expert Advisor のアイコンがグレーアウトします。使えないということです。
 
コンパイルに成功すると、拡張子が*.EX4の実行プログラムファイルが作成され、/EXPERTSフォルダーに自動的に格納されます。コンパイルされたEAの一覧は、クライアント端末のNavigator-Advisorsウィンドウで確認することができます。コンパイルに失敗した場合、Expert Advisor のアイコンがグレーアウトします。使用できないことを意味します。<br /> translate="no">。

あなたはここで間違っています。Expert Advisorは完全に実行可能です。また、灰色は*.MQ4ソースファイルが存在しないことを意味します。市販のEAの多くは、このようにコンパイルされた状態で配布されています。Expert Advisor のソースを削除し、端末を再起動すると、Expert Advisor がグレーになることを確認してください。
さらに、Mem.dllファイルを新しいものに交換することをお勧めします。後者は197の取引端末を新規に構築して変換しました。Mem.dllは、私のサイトのファイルですでに新しいバージョンに変更されています。
http://www.min2006.ru
がんばってください。
 
こんにちは、こんな質問があります。
市場別に参入したい場合、やはり価格を指定する必要があるのでしょうか?
 
こんにちは。そこで質問なのですが、<br/ translate="no"> 市場ごとに参入したい場合、やはり価格を指定する必要があるのでしょうか?

こんにちは、これは標準的な手順です。すべてのExpert Advisorはこのように動作します:まず、現在の価格を取得し(TikKot関数)、次にこの価格(NewPos)で新規注文を形成します。買い注文を 出すとAsk価格、売り注文を出すとBid価格になります。私のサイトにあるC++やDelphiの例を見てください。そこには、ポジションの開き方のバリエーションがあります。がんばってください。
 
で、昨日、一日中OmegaでDLLをいろいろな機能で動かしていたら、OmegaがDLLから常にハングアップしていることがわかりました。コンピュータ番号のウィンドウがポップアップし、さらに少数ですが、これはデモだけの問題なのか、何なのか分かりませんが?なので、ナンバーウィンドウはあまり気にならないのですが、オメガのハングアップで作業不能に...。
 
で、昨日、一日中OmegaでDLLをいろいろな機能で動かしていたら、OmegaがDLLから常にハングアップしていることがわかったんです。コンピュータ番号のウィンドウがポップアップし、さらに少数ですが、これはデモだけの問題なのか、何なのか分かりませんが?だから、数字の入ったウィンドウは特に気にならないのですが、オメガハングで動作不能に...。<br/ translate="no">。

具体的には何も答えられない。Omegaでライブラリのテストはしていません。どうやら、ライブラリの関数呼び出しが 正しくないことが問題のようです。返送データ用アレイのメモリは確保されていますか?また、MT4のログやライブラリ自体(動作時にProtokol.datというファイルを作成します)をよく調査することをお勧めします。 コンピュータ番号のウィンドウがポップアップするのは、体験版のみです。がんばってください。
 
返送されたデータセット用にメモリを確保しましたか?<br /> translate="no">。


どのように行うのですか?
 
<br/ translate="no">どうやるんだ?

どんなプログラミング言語でも、標準的な手順です。オメガのドキュメントを見てください。その後に使用するために、配列を宣言する必要があります。例えば、見積もりの履歴を取得するためには、2000~5000個の配列要素が 必要です。配列については、演算の前に、Omegaを使ってメモリ上に必要な領域を確保する必要がある。 ログの中身を見たことがありますか?