MetaTrader拡張モジュール(DLL)の作成 - ページ 11 1...456789101112131415 新しいコメント sunshineh 2012.07.20 11:40 #101 mql4-programmingに関する基本的な質問 こんにちは。 私はdllからある関数を 輸入したいと思う。したがって、私はいくつかの*.hファイルを含める必要がありました。 これは可能ですか、それとも私は*.hの代わりに*.mqhを書かなければならないのでしょうか? このDLLは、C言語用のものです。 また、ポインタや構造体をdatatypとする関数があります。それをmql4で使用することは可能でしょうか? 削除済み 2013.08.19 11:04 #102 株価受信 こんにちは。 c#でメタトレーダーから株価を受信しようとしているのですが、やり方がよくわかりません。 誰かが私に説明するか、または特定のガイドに 私を送ってもらえますか? どうもありがとうございました。 Mladen Rakic 2013.08.19 11:16 #103 kfirmt: こんにちは。c#でメタトレーダーから株価を受信しようとしているのですが、やり方がよくわかりません。 誰か説明してくれるか、特定のガイドに送ってくれる? どうもありがとうございます。 expertsの中で、価格がメタトレーダーからCに渡される方法を見つけることができます(それは十分に近いので、その例を直接使用することができます)、レート情報構造は最初から変わっておらず、まだ.として定義されています。 struct RateInfo { unsigned int ctm; double open; double low; double high; double close; double vol; }; と定義されているので、C#に渡すのに問題はないはずです。 削除済み 2013.08.19 12:03 #104 ありがとうございます where is theexperts︵examples︵DLLExample? Mladen Rakic 2013.08.19 12:07 #105 kfirmt: thanks! Where is theexpertsexamples╱DLLExample ? メタトレーダーフォルダ(インストールしたフォルダ)内 削除済み 2013.08.19 15:42 #106 mladen: メタトレーダーのフォルダ(インストールしたフォルダ)には 2つのメタトレーダーをダウンロードしたのですが、どちらもサンプルはc++で書かれていました。私はc#でプログラミングをしているのですが、これを見て理解することができたと思います。 Mladen Rakic 2013.08.19 16:15 #107 kfirmt: 2つのメタトレーダーをダウンロードしたのですが、どちらもサンプルはc++で書かれていました。私はc#でプログラミングしていますが、このことから理解できると思います。しかし、私が必要としているもの、株価を取得する方法を見つけることができませんでした。 インジケータやEAからDLL拡張に価格を渡しています。 そのフォルダに完全な例(MQL部分とC部分)があり、どのように行われるかがわかります。MQLパートからC#パートでデータを受け取ったら、それを使って何をするかはコードの問題だけです。 削除済み 2013.08.19 16:54 #108 mladen: インジケータやEAからDLLエクステンションに価格を渡しています。MQLパートからC#パートでデータを受け取ったら、それを使って何をするかはコードの問題です。 MQLでもCでも例がなく、C++だけでした。とにかく、たくさんの関数が あり、どれが価格を得るために必要な関数なのか理解できませんでした。 ありがとうございました。 Mladen Rakic 2013.08.19 17:00 #109 kfirmt: MQLでもCでも例がなく、C++だけでした。とにかく関数が多くて、どれが価格を求める関数なのかがわかりません。 C言語側から(コメント参照). //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ MT4_EXPFUNC double __stdcall GetRatesItemValue(const RateInfo* rates,const int rates_total,const int shift,const int nrate) { //--- if(rates==NULL) { printf("GetRatesItemValue: NULL array\n"); return(0.0); } //--- if(rates_total<0) { printf("GetRatesItemValue: wrong rates_total number (%d)\n", rates_total); return(0.0); } //--- if(shift=rates_total) { printf("GetRatesItemValue: wrong shift number (%d)\n", shift); return(0.0); } //--- if(nrate5) { printf("GetRatesItemValue: wrong rate index (%d)\n", nrate); return(0.0); } // // here you are having prices, time and volume // int nitem=rates_total-1-shift; switch(nrate) { case 0: return double(rates[nitem].ctm); case 1: return rates[nitem].open; case 2: return rates[nitem].low; case 3: return rates[nitem].high; case 4: return rates[nitem].close; case 5: return rates[nitem].vol; } //--- return(0.0); } Create your own MetaTrader DLL access to all Direction of OnCalculate() in 削除済み 2013.08.20 05:19 #110 mladen: C側から(コメント参照)://+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ MT4_EXPFUNC double __stdcall GetRatesItemValue(const RateInfo* rates,const int rates_total,const int shift,const int nrate) { //--- if(rates==NULL) { printf("GetRatesItemValue: NULL array\n"); return(0.0); } //--- if(rates_total<0) { printf("GetRatesItemValue: wrong rates_total number (%d)\n", rates_total); return(0.0); } //--- if(shift=rates_total) { printf("GetRatesItemValue: wrong shift number (%d)\n", shift); return(0.0); } //--- if(nrate5) { printf("GetRatesItemValue: wrong rate index (%d)\n", nrate); return(0.0); } // // here you are having prices, time and volume // int nitem=rates_total-1-shift; switch(nrate) { case 0: return double(rates[nitem].ctm); case 1: return rates[nitem].open; case 2: return rates[nitem].low; case 3: return rates[nitem].high; case 4: return rates[nitem].close; case 5: return rates[nitem].vol; } //--- return(0.0); } ありがとうございます。 というのも、C#で何か書いてあるのですか? 1...456789101112131415 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
mql4-programmingに関する基本的な質問
こんにちは。
私はdllからある関数を 輸入したいと思う。したがって、私はいくつかの*.hファイルを含める必要がありました。
これは可能ですか、それとも私は*.hの代わりに*.mqhを書かなければならないのでしょうか?
このDLLは、C言語用のものです。
また、ポインタや構造体をdatatypとする関数があります。それをmql4で使用することは可能でしょうか?
株価受信
こんにちは。
c#でメタトレーダーから株価を受信しようとしているのですが、やり方がよくわかりません。
誰かが私に説明するか、または特定のガイドに 私を送ってもらえますか?
どうもありがとうございました。
こんにちは。
c#でメタトレーダーから株価を受信しようとしているのですが、やり方がよくわかりません。
誰か説明してくれるか、特定のガイドに送ってくれる?
どうもありがとうございます。expertsの中で、価格がメタトレーダーからCに渡される方法を見つけることができます(それは十分に近いので、その例を直接使用することができます)、レート情報構造は最初から変わっておらず、まだ.として定義されています。
{
unsigned int ctm;
double open;
double low;
double high;
double close;
double vol;
};
と定義されているので、C#に渡すのに問題はないはずです。
ありがとうございます
where is theexperts︵examples︵DLLExample?
thanks! Where is theexpertsexamples╱DLLExample ?
メタトレーダーフォルダ(インストールしたフォルダ)内
メタトレーダーのフォルダ(インストールしたフォルダ)には
2つのメタトレーダーをダウンロードしたのですが、どちらもサンプルはc++で書かれていました。私はc#でプログラミングをしているのですが、これを見て理解することができたと思います。
2つのメタトレーダーをダウンロードしたのですが、どちらもサンプルはc++で書かれていました。私はc#でプログラミングしていますが、このことから理解できると思います。しかし、私が必要としているもの、株価を取得する方法を見つけることができませんでした。
インジケータやEAからDLL拡張に価格を渡しています。
そのフォルダに完全な例(MQL部分とC部分)があり、どのように行われるかがわかります。MQLパートからC#パートでデータを受け取ったら、それを使って何をするかはコードの問題だけです。
インジケータやEAからDLLエクステンションに価格を渡しています。MQLパートからC#パートでデータを受け取ったら、それを使って何をするかはコードの問題です。
MQLでもCでも例がなく、C++だけでした。とにかく、たくさんの関数が あり、どれが価格を得るために必要な関数なのか理解できませんでした。
ありがとうございました。
MQLでもCでも例がなく、C++だけでした。とにかく関数が多くて、どれが価格を求める関数なのかがわかりません。
C言語側から(コメント参照).
//| |
//+------------------------------------------------------------------+
MT4_EXPFUNC double __stdcall GetRatesItemValue(const RateInfo* rates,const int rates_total,const int shift,const int nrate)
{
//---
if(rates==NULL)
{
printf("GetRatesItemValue: NULL array\n");
return(0.0);
}
//---
if(rates_total<0)
{
printf("GetRatesItemValue: wrong rates_total number (%d)\n", rates_total);
return(0.0);
}
//---
if(shift=rates_total)
{
printf("GetRatesItemValue: wrong shift number (%d)\n", shift);
return(0.0);
}
//---
if(nrate5)
{
printf("GetRatesItemValue: wrong rate index (%d)\n", nrate);
return(0.0);
}
//
// here you are having prices, time and volume
//
int nitem=rates_total-1-shift;
switch(nrate)
{
case 0: return double(rates[nitem].ctm);
case 1: return rates[nitem].open;
case 2: return rates[nitem].low;
case 3: return rates[nitem].high;
case 4: return rates[nitem].close;
case 5: return rates[nitem].vol;
}
//---
return(0.0);
}
C側から(コメント参照):
//| |
//+------------------------------------------------------------------+
MT4_EXPFUNC double __stdcall GetRatesItemValue(const RateInfo* rates,const int rates_total,const int shift,const int nrate)
{
//---
if(rates==NULL)
{
printf("GetRatesItemValue: NULL array\n");
return(0.0);
}
//---
if(rates_total<0)
{
printf("GetRatesItemValue: wrong rates_total number (%d)\n", rates_total);
return(0.0);
}
//---
if(shift=rates_total)
{
printf("GetRatesItemValue: wrong shift number (%d)\n", shift);
return(0.0);
}
//---
if(nrate5)
{
printf("GetRatesItemValue: wrong rate index (%d)\n", nrate);
return(0.0);
}
//
// here you are having prices, time and volume
//
int nitem=rates_total-1-shift;
switch(nrate)
{
case 0: return double(rates[nitem].ctm);
case 1: return rates[nitem].open;
case 2: return rates[nitem].low;
case 3: return rates[nitem].high;
case 4: return rates[nitem].close;
case 5: return rates[nitem].vol;
}
//---
return(0.0);
}
ありがとうございます。
というのも、C#で何か書いてあるのですか?