MetaTrader拡張モジュール(DLL)の作成 - ページ 7

 

インディケータを計算するときのようなことですか?

そうです。例えば、私はDLLに自分のATR関数を書きました。そして、私のDLLのATRはwilderのスムージングを使い、MT4は単純な平均 を使うということが起こりました...複数のバージョンを持っているように見えるwildersと他の指標によって書かれた指標のいずれかと同じ...

私はまず、あなたのインディケータがDLLからMT4プラットフォームと同じ結果を与えることを確認します...

パトリック

 

DLLとインジケーター

どなたか、インジケータでDLLを使用する際の型や一般的なベストプラクティス(価格の範囲をDLLに取得する方法など)をご存知でしょうか? 私はMetaTraderで関数を 使用する代わりに、DLLに値を計算させたいと思います。

ありがとうございます。

 

ページが見つかりません

mistigriFX.comが見つからなくなりました。何が原因でしょうか?

 

どうすれば動くようになるのでしょうか?

Mistigri:
こんにちは、Timです。

dev-c++を使用する場合、defファイルは自動的に生成されますが、問題は、以下のような関数名になってしまうことです。

EXPORTS

_Z11GetSMAArrayP8RateInfoiiPd@16 @ 1

_Z12GetHighValueP8RateInfoii = _Z12GetHighValueP8RateInfoii@12 @ 2

_Z12GetHighValueP8RateInfoii@12 @ 3

_Z13GetCloseValueP8RateInfoii = _Z13GetCloseValueP8RateInfoii@12 @ 4

_Z13GetCloseValueP8RateInfoii@12 @ 5

_Z11GetSMAArrayP8RateInfoiiPd = _Z11GetSMAArrayP8RateInfoiiPd@16 @ 6[/PHP]

Now you need to make sure you add the following check around your code

[PHP]

#ifdef __cplusplus

extern "C" {

#endif

#ifdef __cplusplus

}

#endif

VS2008で作成したサンプルファイルを添付しますが、今回はdev-c++を使用しています...

これが役立つことを願っています

これらのファイルをどのようにテストすればいいのでしょうか?私の知る限り、Dev C++のホストアプリケーションはexeのみです。どのように我々はex4を使用することができますか?

 
xarlotie:
これらのファイルをどのようにテストすればいいのでしょうか?私の知る限り、Dev C++のホストアプリケーションはexeだけです。ex4はどのように使用できますか?

この投稿は無視してください。

 
codersguru:
MetaTrader拡張モジュール(DLL)を自作することに興味がある方は、こちらへどうぞ。

MetaTrader拡張モジュール(DLL)の作成 - パート1

MetaTrader拡張モジュール(DLL)を作成する - パート2

私はそれらを書いている別の部分(または2)がありますよ。

楽しんでいただけると幸いです。

記事のためにどうもありがとうございます

記事

 
codersguru:
MetaTrader拡張モジュール(DLL)を自作することに興味がある方は、こちらへどうぞ。

MetaTrader拡張モジュール(DLL)の作成 - パート1

MetaTrader拡張モジュール(DLL)を作成する - パート2

私はそれらを書いている別の部分(または2)があるでしょう!私は手順に沿ってみました。

楽しんでいただけると幸いです。

一応、手順を追ってみました。

図2 - プロジェクトの新規作成ダイアログ

3- このダイアログから "MFC AppWizard (dll)" を選択し、"Project Name" フィールドにプロジェクトの名前を書いて (図3)、"OK" をクリックします。

しかし、"MFC AppWizard (dll)" のような選択肢はありません。

私はMSからC++ 2008 expressを使用しています

私は何を間違えているのでしょうか。

 

Hello no body help?

どなたかC++2008のチュートリアルを作っていただけませんか?

sub00:
手順通りにやってみました。

図2 - プロジェクトの新規作成ダイアログ

3- このダイアログから "MFC AppWizard (dll)" を選び、"Project Name" フィールドにプロジェクトの名前を書いて (図3)、"OK" をクリックします。

しかし、"MFC AppWizard (dll)" のような選択肢はありません。

私は、MSからC++ 2008 expressを使用しています

私は何を間違えているのでしょうか。
 
Mistigri:
MT4用のDLLの書き方に関するビデオを完成させました。最初にMetaQuotesから提供されたサンプルを調べ始めたとき、それが本当に欠けていると思ったので、私は配列を返す例を作ろうとしました。

ビデオを見る

コードとVSプロジェクトにのみ興味がある場合は、こちらから ダウンロードできます。

お気に召しましたでしょうか?

パトリック

素晴らしいビデオです!まさに私が探していたものです。

尊敬します。

 

mistigriのプロジェクトをダウンロードし、VS++2008でコンパイルしました。

最初の2つの関数は問題なく動作しますが、2番目の関数はこの記事のようにターミナルをクラッシュさせます。

クラッシュログを使用してDLLをデバッグする方法 - MQL4 Articles

C0000005例外がスローされます。

Exception : C0000005

Address : 77C36FA3

Access Type : read

今のところ何が問題なのか分かっていません。OutPut[]配列がDLLに渡される方法と関係があるような気がします。何かご意見がありましたら、お願いします。