コーディングのヘルプ - ページ 337 1...330331332333334335336337338339340341342343344...786 新しいコメント Mladen Rakic 2014.09.04 19:48 #3361 alpha24: こんにちは、Mladenさん。久しぶりにボリンジャーバンドのコードをお願いします。MAインジケータのMAと同じように、別ウィンドウで表示します。移動平均は表示させる必要はありません。BBは偏差値(0.01)で、EMAかSMAの形にしてください。いつも通り作っていただけませんか? ありがとうございました。 α24 新しいインジケータは必要ありません。 別ウィンドウにあるMAを使い、ボリンジャーバンドを そのサブウィンドウにドラッグし、価格フィールドとして以前のインジケータのデータを選択するだけです。 vrashtekar 2014.09.04 20:03 #3362 mladen: アルファ24新しいインジケータは必要ありません。 任意のマを使用してください... はい、しかし、問題は小数点以下の偏差のオプションがないことと、同じウィンドウで複数のインディケータを使用しようとすると、前のデータと最初のデータで混乱が生じることです。そこでお願いです。 sunshineh 2014.09.05 02:55 #3363 こんにちは。 maillink.dllがbuild > 600で動作しているかどうか、よくわかりません。 maillink.dllをgmxとgooglemailで試してみましたが、いつも"-2 "が返されます。 MailInit(string,int,string,string);関数から いつも "-2" が返ってきます :-( また、codersguruからのxpMail.dllは私のメタトレーダー口座をクラッシュさせることを試みました。 Mladen Rakic 2014.09.05 03:52 #3364 sunshineh: こんにちは。maillink.dllがbuild > 600で動作しているかどうか、よくわかりません。 maillink.dllをgmxとgooglemailで試してみましたが、いつも"-2 "が返ってきます。 MailInit(string,int,string,string); 関数からいつも "-2" が返ってきます :-( 私もcodersguruからのxpMail.dllを試しましたが、私のメタトレーダー口座がクラッシュしてしまいます。誰か、1つのEAから2つの異なるメール・アドレスにメールを送るための別の可能性を知りませんか? 文字列部分が問題なのです。 古いメタトレーダー4はANSI文字列を使用していました。それをユニコード文字列に変更したのです。ユニコード文字列は1文字あたり2バイトを使用しますが、ANSIは1文字あたり1バイトしか使用しません。そのため、DLLが読めない文字列を取得することになり、問題が発生しています。 dmnik 2014.09.05 04:25 #3365 正方形の代わりに矢印を置く必要があるインジケータを修正してください。 ファイル: .........png 141 kb .......png 30 kb tro_bias_ez.ex4 12 kb Mladen Rakic 2014.09.05 05:58 #3366 DMNIK: インジケータを修正する必要がありますあなたは、四角形の代わりに矢印を置く必要があります。 DMNIK ex4ファイルを編集・変更することができません。 sunshineh 2014.09.05 06:12 #3367 わかりやすい説明ありがとうございます。 では、DLLから関数を 呼び出す前に、すべての文字列をunicodeに変更すれば、うまくいくのでしょうか? ANSIをunicodeに、unicodeをANSIに変更する関数は既にあるのでしょうか? sunshineh 2014.09.05 09:50 #3368 それとも、Unicode-stringが配列になっているからうまくいかないのでしょうか! もう一つ質問です。 どのように私はより多くの異なる再生することができます PlaySound-wavファイルを一列に並べることができますか? 私は間にSleep()で試してみましたが、それは動作していません:-)。 Mladen Rakic 2014.09.05 16:46 #3369 sunshineh: それとも、ユニコード文字列が配列になっているから動かないのでしょうか?もうひとつ質問です。 どうすれば、より多くの異なる PlaySound-wav ファイルを一列に並べて再生するには? Sleep()を挟んで試してみましたが、うまくいきません :-( 日向 論理的には同じです:文字の配列です。ただし、ANSI文字が1バイトであるのに対し、Unicode文字は2バイトです。これは、(メタトレーダーとは関係なく)ユニコードが発明されたときに、すべてのさまざまな世界の言語を含めるために行われました。このため、DLLがANSIを期待してユニコード文字列を取得した場合、間違った解釈をすることになります(逆も同様)。あなたのDLLがDLLを使用している場合、新しい文字列を符号なし文字の明示的な配列に変換しなければならず(ANSI DLにアクセス可能にするためにStringToShortArray()を使用)、戻り値は(メタトレーダーにアクセス可能にするために)CharArrayToString()で文字列に変換されるべきです。 ________________________ sleepについて :Sleep()関数は インジケータでは無効であり、EAでのみ機能します。従来からそうでした(新しいメタトレーダーの目新しさではありません)。 また、メタトレーダーは1ピースのコードで順次注文を実行しています。つまり、あるサウンドファイルの再生を開始し、終了されることなく、別のサウンドファイルの再生に進むことはできません。また、私が知る限り、彼らはサウンドファイルの時間を制限しています(ターミナルのフリーズを防ぐために - おそらくあなたも気づいているように、アラートや音のようなものは集中管理されています - 異なるチャートが同時にアラートを発行するときに参照してください - それはあなたが見る1つの単一のウィンドウです)。 まだまだ続きますが、メタトレーダーの問題は、非同期ルーチンの実行を適切に解決していないことです(実際、それについて何も考えていません)。 Maine 2014.09.05 23:23 #3370 最後に決済した注文が利益を生んでいるかどうかを確認 する こんにちは。 私は、私の最後の3つのクローズした売りまたは買いの取引が有益であったかどうかをチェックし、それに応じて文字列の値を変更したいと思います。 私はこのコードを持っています(MT4)。 for(int i=(OrdersHistoryTotal()-1);i>=0;i--); { OrderSelect(i, SELECT_BY_POS,MODE_HISTORY); if(OrderSymbol()==Symbol() && OrderMagicNumber()==BUY) { //for buy order if(OrderType()==OP_BUY && OrderProfit()>0) last=1; if(OrderType()==OP_BUY && OrderProfit()<0) last=0; } } for(int j=(OrdersHistoryTotal()-1);j>=0;j--); { OrderSelect(j, SELECT_BY_POS,MODE_HISTORY); if(OrderSymbol()==Symbol() && OrderMagicNumber()==SELL) { //for sell order if(OrderType()==OP_SELL && OrderProfit()>0) last2=1; if(OrderType()==OP_SELL && OrderProfit()<0) last2=0; } } しかし、それは私のために動作しません。 どのように私はそれを修正する必要がありますか? 助けてくれてありがとうございます。 Coding help KimIVの便利な機能 How to 'Stop' an 1...330331332333334335336337338339340341342343344...786 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
こんにちは、Mladenさん。
久しぶりにボリンジャーバンドのコードをお願いします。MAインジケータのMAと同じように、別ウィンドウで表示します。移動平均は表示させる必要はありません。BBは偏差値(0.01)で、EMAかSMAの形にしてください。いつも通り作っていただけませんか?
ありがとうございました。α24
新しいインジケータは必要ありません。
別ウィンドウにあるMAを使い、ボリンジャーバンドを そのサブウィンドウにドラッグし、価格フィールドとして以前のインジケータのデータを選択するだけです。
アルファ24
新しいインジケータは必要ありません。
任意のマを使用してください...はい、しかし、問題は小数点以下の偏差のオプションがないことと、同じウィンドウで複数のインディケータを使用しようとすると、前のデータと最初のデータで混乱が生じることです。そこでお願いです。
![](https://c.mql5.com/forextsd/smiles/cry_smile.png)
こんにちは。
maillink.dllがbuild > 600で動作しているかどうか、よくわかりません。
maillink.dllをgmxとgooglemailで試してみましたが、いつも"-2 "が返されます。
MailInit(string,int,string,string);関数から いつも "-2" が返ってきます :-(
また、codersguruからのxpMail.dllは私のメタトレーダー口座をクラッシュさせることを試みました。
こんにちは。
maillink.dllがbuild > 600で動作しているかどうか、よくわかりません。
maillink.dllをgmxとgooglemailで試してみましたが、いつも"-2 "が返ってきます。
MailInit(string,int,string,string); 関数からいつも "-2" が返ってきます :-(
私もcodersguruからのxpMail.dllを試しましたが、私のメタトレーダー口座がクラッシュしてしまいます。誰か、1つのEAから2つの異なるメール・アドレスにメールを送るための別の可能性を知りませんか?文字列部分が問題なのです。
古いメタトレーダー4はANSI文字列を使用していました。それをユニコード文字列に変更したのです。ユニコード文字列は1文字あたり2バイトを使用しますが、ANSIは1文字あたり1バイトしか使用しません。そのため、DLLが読めない文字列を取得することになり、問題が発生しています。
正方形の代わりに矢印を置く必要があるインジケータを修正してください。
インジケータを修正する必要がありますあなたは、四角形の代わりに矢印を置く必要があります。
DMNIK
ex4ファイルを編集・変更することができません。
わかりやすい説明ありがとうございます。
では、DLLから関数を 呼び出す前に、すべての文字列をunicodeに変更すれば、うまくいくのでしょうか?
ANSIをunicodeに、unicodeをANSIに変更する関数は既にあるのでしょうか?
それとも、Unicode-stringが配列になっているからうまくいかないのでしょうか!
もう一つ質問です。
どのように私はより多くの異なる再生することができます
PlaySound-wavファイルを一列に並べることができますか?
私は間にSleep()で試してみましたが、それは動作していません:-)。
それとも、ユニコード文字列が配列になっているから動かないのでしょうか?
もうひとつ質問です。
どうすれば、より多くの異なる
PlaySound-wav ファイルを一列に並べて再生するには?
Sleep()を挟んで試してみましたが、うまくいきません :-(日向
論理的には同じです:文字の配列です。ただし、ANSI文字が1バイトであるのに対し、Unicode文字は2バイトです。これは、(メタトレーダーとは関係なく)ユニコードが発明されたときに、すべてのさまざまな世界の言語を含めるために行われました。このため、DLLがANSIを期待してユニコード文字列を取得した場合、間違った解釈をすることになります(逆も同様)。あなたのDLLがDLLを使用している場合、新しい文字列を符号なし文字の明示的な配列に変換しなければならず(ANSI DLにアクセス可能にするためにStringToShortArray()を使用)、戻り値は(メタトレーダーにアクセス可能にするために)CharArrayToString()で文字列に変換されるべきです。
________________________
sleepについて :Sleep()関数は インジケータでは無効であり、EAでのみ機能します。従来からそうでした(新しいメタトレーダーの目新しさではありません)。
また、メタトレーダーは1ピースのコードで順次注文を実行しています。つまり、あるサウンドファイルの再生を開始し、終了されることなく、別のサウンドファイルの再生に進むことはできません。また、私が知る限り、彼らはサウンドファイルの時間を制限しています(ターミナルのフリーズを防ぐために - おそらくあなたも気づいているように、アラートや音のようなものは集中管理されています - 異なるチャートが同時にアラートを発行するときに参照してください - それはあなたが見る1つの単一のウィンドウです)。
まだまだ続きますが、メタトレーダーの問題は、非同期ルーチンの実行を適切に解決していないことです(実際、それについて何も考えていません)。
最後に決済した注文が利益を生んでいるかどうかを確認 する
こんにちは。
私は、私の最後の3つのクローズした売りまたは買いの取引が有益であったかどうかをチェックし、それに応じて文字列の値を変更したいと思います。
私はこのコードを持っています(MT4)。
{
OrderSelect(i, SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol() && OrderMagicNumber()==BUY)
{
//for buy order
if(OrderType()==OP_BUY && OrderProfit()>0) last=1;
if(OrderType()==OP_BUY && OrderProfit()<0) last=0;
}
}
for(int j=(OrdersHistoryTotal()-1);j>=0;j--);
{
OrderSelect(j, SELECT_BY_POS,MODE_HISTORY);
if(OrderSymbol()==Symbol() && OrderMagicNumber()==SELL)
{
//for sell order
if(OrderType()==OP_SELL && OrderProfit()>0) last2=1;
if(OrderType()==OP_SELL && OrderProfit()<0) last2=0;
}
}
しかし、それは私のために動作しません。
どのように私はそれを修正する必要がありますか?
助けてくれてありがとうございます。