MT4ファイルの機能置換。 - ページ 10 1...3456789101112 新しいコメント Ingvar Engelbrecht 2008.05.15 06:59 #91 ファイル交換について 外部シグナルを利用するEAをStrategy Testerで テストしたいのですが、スレッドによるとStrategy Testerではネイティブのファイルハンドリングが機能しないとのことです。そこで、このスレッドで提供されているDLLを使用してみました。私が処理したい入力は、以下のようなファイルです。 2007-01-02;EURUSD;2.InstPipDown;;Yes 2007-01-02;USDJPY;1.InstPipUp;;Yes 2007-01-02;USDCHF;1.InstPipUp;;Yes 2007-01-03;EURUSD;2.InstPipDown;;Yes 2007-01-03;EURUSD;4.PipMax1Down;;Yes 2007-01-03;GBPUSD;4.PipMax1Down;;Yes 2007-01-04;USDJPY;8.PipRevBear;;Yes 2007-01-05;EURUSD;5.PipMax2Up;;Yes 2007-01-05;USDJPY;1.InstPipUp;;Yes 自分でファイルを作成するので、他の種類のデリミタを使うことができます。 一度に1つの「レコード」を取得するために、DLLをどのように使用すればよいですか?個々のフィールドのパージングを行うことができます。 EOFに到達したことを知るにはどうしたらよいですか? いくつかのバリエーションを試しましたが、一貫性のない結果が得られ、時にはゴミが出ます。例のようにデータを書き込むのはうまくいくのですが、データを読み込みたいのです。 Ingvar Engelbrecht 2008.05.15 14:51 #92 まあ、粘り強いのは当たり前です。 数時間後、私はこれを発見しました。 ファイルハンドラは、他のプログラムで作成したファイルを開くことを拒否しています。開くと-1が返されます。デモで作成されたファイル(mt4.log)を使い、私のコンテンツをそこにコピーすると、オープンは機能します。なぜなのかわかりません。奇妙な 私は「レコード」を固定長にして、「レコード」の長さに、各レコードの末尾の「CRLF」を調整するために2を加えたものを読みました。ファイルの長さをレコードの長さで割って、ループして、すべてのレコードを配列に取り込みました。 以下はそのコードである。 int init() { 文字列 inArr[500]; int file; int filesize; int records; int i; file = gFileOpen("c:\mt4.log",READ); // Print(file)します。 filesize = gFileSize(file); // Print(filesize)を実行します。 records = filesize/25; // Print(records)します。 for(i=1;i<=records;i++) { inArr = gFileRead(file,25); } gFileClose(file); Print(inArr[filesize-1]); //最後の1つをチェックする。 return(0); } MT4 Files Functions Replacement. Better NN EA development Market Watchウィンドウで選択されているすべての金融商品をスクリプトでプログラム的に確認するにはどうしたらよいでしょうか。 PriNova 2008.05.17 15:08 #93 fileoutputを使ったインジケーター こんにちは、トレーダーとプログラマーの皆さん。 新しいインジケータのコード生成の手助けをお願いします。 このインジケータは、関連する情報をファイルに書き出すことができるはずですが、それは新しいローソクを開いた後にのみ書き出す必要があります。 これはRAPID-Iを使用して外部で行われる必要があります。 そして、ろうそくの終値がどのような確率になるかを学ぶためにいくつかの他の情報を持つ。 素晴らしいプロジェクトになると思いますが、あまりにも簡単なことなので、私は愚かな(または怠惰な) :-)を行うには。 PriNova 削除済み 2008.05.17 15:27 #94 datetime timeprev=0; init() の前に。 と if(timeprev==Time[0])とする。 return(0)とします。 timeprev=Time[0];start()の直下。 で、終わりです。 PriNova 2008.05.17 15:32 #95 とても早い回答で助かりました。 ありがとうございました。 johnmcglaughlin 2008.07.20 05:19 #96 ライブラリからmove関数が 削除された理由 CodersGuruです。 あなたがいなければ、私はクライアントをサポートする仕事をすることができなかったでしょうから、あなたは私がクライアントから受ける賞賛の多くに値します。 チュートリアルで言及されているように、Move機能が実装されていない理由は何ですか? 4つのサービスに再び感謝します。 ジョン・マックグローリン gorgoroth 2008.08.06 07:10 #97 gFileRead こんにちは。 mtguru1.dllのソースコードを見て、gFileRead()関数が動作しないことを発見しました。私は間違っているのでしょうか? gFileRead()は、ファイルから読み込んだ文字列を格納するためにローカル変数を使用します。関数が戻るとき、その変数へのポインタを返しますが、ローカル変数pbufferがスコープ外になるため、このポインタは有効なものである可能性があります。 そのため、MQL4のEAからすると、次のような命令はクラッシュするはずです。 string buffer = gFileRead( handle, 50 ); というような命令が出てくるはずで、それが動くとしたら不思議なものです・・・。 追伸:以前、間違ったスレッドに投稿してしまったことがあります。https://www.mql5.com/en/forum/172885。 gorgoroth 2008.08.08 07:24 #98 Errata Corrige: ......しかし、このポインタは有効なものである可能性があります......。 しかし、このポインタは有効なものではありません。 削除済み 2008.10.10 13:52 #99 exeファイルを実行する こんにちは。 簡単なことをしたい(と思った)のですが。EAから単純に外部プログラムを開きたい(起動したい)のです。(EA内ではありません) ということで、一応、例を挙げておきます。例えば、EA内であることが起きたら、Microsoft Wordを開きたいとします。 以前これをやったことがあるのですが、スクリプトが見つからず、2時間かけてWebを探しました。次回はコードを安全な場所に保存しておきます。 Sixsense 2008.10.21 03:56 #100 何か質問がありますか? 2008.10.21 01:54:34 Fundamental Trader DailyFX_MQL4 v0.02: handle 2 does not exist in FileClose" というエラーが出てしまいました。 どうすればいいのでしょうか? 1...3456789101112 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
ファイル交換について
外部シグナルを利用するEAをStrategy Testerで テストしたいのですが、スレッドによるとStrategy Testerではネイティブのファイルハンドリングが機能しないとのことです。そこで、このスレッドで提供されているDLLを使用してみました。私が処理したい入力は、以下のようなファイルです。
2007-01-02;EURUSD;2.InstPipDown;;Yes
2007-01-02;USDJPY;1.InstPipUp;;Yes
2007-01-02;USDCHF;1.InstPipUp;;Yes
2007-01-03;EURUSD;2.InstPipDown;;Yes
2007-01-03;EURUSD;4.PipMax1Down;;Yes
2007-01-03;GBPUSD;4.PipMax1Down;;Yes
2007-01-04;USDJPY;8.PipRevBear;;Yes
2007-01-05;EURUSD;5.PipMax2Up;;Yes
2007-01-05;USDJPY;1.InstPipUp;;Yes
自分でファイルを作成するので、他の種類のデリミタを使うことができます。
一度に1つの「レコード」を取得するために、DLLをどのように使用すればよいですか?個々のフィールドのパージングを行うことができます。
EOFに到達したことを知るにはどうしたらよいですか?
いくつかのバリエーションを試しましたが、一貫性のない結果が得られ、時にはゴミが出ます。例のようにデータを書き込むのはうまくいくのですが、データを読み込みたいのです。
まあ、粘り強いのは当たり前です。
数時間後、私はこれを発見しました。
ファイルハンドラは、他のプログラムで作成したファイルを開くことを拒否しています。開くと-1が返されます。デモで作成されたファイル(mt4.log)を使い、私のコンテンツをそこにコピーすると、オープンは機能します。なぜなのかわかりません。奇妙な
私は「レコード」を固定長にして、「レコード」の長さに、各レコードの末尾の「CRLF」を調整するために2を加えたものを読みました。ファイルの長さをレコードの長さで割って、ループして、すべてのレコードを配列に取り込みました。
以下はそのコードである。
int init()
{
文字列 inArr[500];
int file;
int filesize;
int records;
int i;
file = gFileOpen("c:\mt4.log",READ);
// Print(file)します。
filesize = gFileSize(file);
// Print(filesize)を実行します。
records = filesize/25;
// Print(records)します。
for(i=1;i<=records;i++)
{
inArr = gFileRead(file,25);
}
gFileClose(file);
Print(inArr[filesize-1]); //最後の1つをチェックする。
return(0);
}
fileoutputを使ったインジケーター
こんにちは、トレーダーとプログラマーの皆さん。
新しいインジケータのコード生成の手助けをお願いします。
このインジケータは、関連する情報をファイルに書き出すことができるはずですが、それは新しいローソクを開いた後にのみ書き出す必要があります。
これはRAPID-Iを使用して外部で行われる必要があります。
そして、ろうそくの終値がどのような確率になるかを学ぶためにいくつかの他の情報を持つ。
素晴らしいプロジェクトになると思いますが、あまりにも簡単なことなので、私は愚かな(または怠惰な) :-)を行うには。
PriNova
datetime timeprev=0; init() の前に。
と
if(timeprev==Time[0])とする。
return(0)とします。
timeprev=Time[0];start()の直下。
で、終わりです。
とても早い回答で助かりました。
ありがとうございました。
ライブラリからmove関数が 削除された理由
CodersGuruです。
あなたがいなければ、私はクライアントをサポートする仕事をすることができなかったでしょうから、あなたは私がクライアントから受ける賞賛の多くに値します。
チュートリアルで言及されているように、Move機能が実装されていない理由は何ですか?
4つのサービスに再び感謝します。
ジョン・マックグローリン
gFileRead
こんにちは。
mtguru1.dllのソースコードを見て、gFileRead()関数が動作しないことを発見しました。私は間違っているのでしょうか?
gFileRead()は、ファイルから読み込んだ文字列を格納するためにローカル変数を使用します。関数が戻るとき、その変数へのポインタを返しますが、ローカル変数pbufferがスコープ外になるため、このポインタは有効なものである可能性があります。
そのため、MQL4のEAからすると、次のような命令はクラッシュするはずです。
string buffer = gFileRead( handle, 50 );
というような命令が出てくるはずで、それが動くとしたら不思議なものです・・・。
追伸:以前、間違ったスレッドに投稿してしまったことがあります。https://www.mql5.com/en/forum/172885。
Errata Corrige:
......しかし、このポインタは有効なものである可能性があります......。
しかし、このポインタは有効なものではありません。
exeファイルを実行する
こんにちは。
簡単なことをしたい(と思った)のですが。EAから単純に外部プログラムを開きたい(起動したい)のです。(EA内ではありません)
ということで、一応、例を挙げておきます。例えば、EA内であることが起きたら、Microsoft Wordを開きたいとします。
以前これをやったことがあるのですが、スクリプトが見つからず、2時間かけてWebを探しました。次回はコードを安全な場所に保存しておきます。
何か質問がありますか?
2008.10.21 01:54:34 Fundamental Trader DailyFX_MQL4 v0.02: handle 2 does not exist in FileClose" というエラーが出てしまいました。
どうすればいいのでしょうか?