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

 

の問題は、1つのチャートに表示されるバーの数が多すぎるということでしたので、その解決策をご紹介します。

チャートプロパティを 設定して、1つのチャートに表示されるバーの数を1000本にするか、コードで設定するかです。

int start()

{

double Rates[][6];

int MaximumRecords = ArrayCopyRates( Rates, Symbol(), 0 );

if(MaximumRecords>1000)MaximumRecords=1000;

if(MaximumRecords>0)

{

ArrayResize(OutPut, MaximumRecords);

ArrayInitialize(OutPut, 0.0);

GetSMAArray( Rates, MaximumRecords, Periods, OutPut );

}

/*

for( int z = MaximumRecords-1; z>=0; z--){

//OutPut[z] = GetCloseValue(Rates, MaximumRecords, z);

OutPut[z] = GetHighValue(Rates, MaximumRecords, z);

}

*/

return(0);

}

 
forexmargin:
こんにちは、誰も助けてくれないのですか?どなたか、C++2008のチュートリアルを作っていただけませんか?

MFCオプションはフルバージョンにのみあり、エクスプレス版にはありません。

しかし、Mistigriが提供するような、MFCオプションで作成された既存のプロジェクトを コンパイルするために使用することはできます。

 

チャートウィンドウにウェブページを表示したい

皆さん、こんにちは。

チャートウィンドウにウェブページを表示させたいのですが、どうすればよいのでしょうか?

メタトレーダー4で取引するとき、チャートウィンドウにウェブページを追加することができれば、取引と同時に他のページからいくつかの情報を得ることができるので、とてもいいと思います。

よろしくお願いします。

 

DLLで使用するインジケータを非表示にする方法

親愛なるプログラマーの皆さん。

この課題は、かなり長い間私を悩ませています。

どなたか、ex4で使用しているインジケータ関数、例えばiMA()やiStochastic()をDLLで隠す方法を教えていただけませんか?主な目的は、デコンパイル後に.ex4ファイル内のインジケータを公開しないことです。

もし可能であれば、例を添付していただけると幸いです。

 

ヘルプ

こんにちは、トレーダーの皆さん。

3時間足、5時間足、12時間足など、様々なTFをチャート上に表示させようと数ヶ月間トライしていますが、うまくいきません。もし、あなたが私を助けてくれるなら、私は非常に感謝します。私はMT4ブローカーを使用しました。

ありがとうございました。

 

ありがとうございます。

ありがとうございます。

これはとても素晴らしいビデオです。あとは練習して様子を見るだけです。

本当にありがとう。

よろしくお願いします。

SF

 
 

ビデオ - MT4用のDLLを作成する

MT4用のDLLの書き方に関するビデオが完成しました。MetaQuotesから提供されたサンプルを最初に調べたときに足りないと思ったので、配列を返す例を作ってみました。

動画を見る

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

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

パトリック

 

このスレッドのために更新されたファイルか何かはありますか?

Patrickのリンクは全て死んでいて、彼のビデオは数秒しか再生されず、そして停止します。

私はこのようなものを学ぶのに苦労していますし、文字通りどこにもチュートリアルがありません。

ありがとうございます。

V

 

DLLに関する問題

皆さん、こんにちは。

ビデオチュートリアルに従った後、終値の単純な移動平均を 計算するための独自の単純なDLLを作成することができました。

MT4_EXPFUNC void _stdcall GetSMAArray( RateInfo* Rates, int MaximumRecords, int Period, double Result[] )

{

for( int ii = 0; ii < MaximumRecords; ii++)

{

double Sum = 0.0;

for( int kk = 0; kk < Period ; kk++ )

{

Sum += Rates[MaximumRecords-ii-1-kk].close;

}

結果[MaximumRecords-ii-1] = Sum / Period ;

}

}

というもので、期待通りに動きました。

しかし、次のようにコードを変更すると

Sum += ( Rates[MaximumRecords-ii-1-kk].high + Rates[MaximumRecords-ii-1-kk].low + Rates[MaximumRecords-ii-1-kk].close )/ 3;

がうまくいかなかったので、元に戻したのですが、今度は元々コーディングされていたDLLもうまくいかないようです。なぜでしょうか?DLLも.mqhも.mq4もすべて警告もエラーもなくコンパイルされているので、どうしたらいいのか困っています。なぜ、このような状況で動作しているコードが動作しなくなるのでしょうか?

技術仕様 - DLLはDev-C++ 4.9.9.2を使用してコンパイルされ、ゲストOSとしてOracle VM Virtualbox上にインストールされたWindows XP SP3、さらにAMD64ボックス上のUbuntu 10.10で実行されました。