【MT4/5】Meta Trader初心者専用57【EA素人】
■ このスレッドは過去ログ倉庫に格納されています
>>293 ありがとうございます。 エラーは「02 ERR_COMMON_ERROR」 という謎のエラーでしたが、少し進展したような気がします。 >>292 多分だけど、REASON_CLOSEでOnDeinitが呼ばれた時点で既にEA (というより自動売買?)の実行許可フラグが落ちてるのかも? 仕様だとしたら俺も知らんかったわ 俺は一目見てどうせOnDeinitの時間切れだろ?くらいに思ってたがw 仮にそういう仕様だとしたら意外に深い(mqlの範囲内で回避する方法 が思い浮かばない)かも? dllでサブクラス化してクローズボタンの押下をMT4(メインウィンドウ) より先にキャッチして、カスタムイベントをpostしてOnEventでキャッチ してやりた処理をするって手はありそうだけど・・・・・・ 大元のウィンドウプロシージャを止めてる状態でpostしてOnEventが ちゃんと発火するかはやってみないと分かんない 試してみるにしも週末にならないと・・・・・・ そもそも質問者的にdll使用がアリなのかも分からんしねw REASON_CLOSEはterminal.exeの終了だから遅すぎなんじゃね 適当にどれか使えるでしょ あるいは単純に常に全部deleteしとけばいいじゃん >>295 そういう仕様なら納得です。 OrderTicket()は問題なく取得出来ているのに OrderDeleteだけが実行できなくて困っていました。 DLLはハードルが高いので別の方法を検討したいと思います。 ありがとうございました。 >>296 ターミナルの×ボタンを押したときは 他のイベントは拾えない様でした。 EA止める オーダーキャンセルのスクリプト実行する 閉じる でいいんじゃね カッコ悪いというなら頑張れ >>299 俺はプログラマーじゃなくてトレーダーだからそんなこと微塵も気にしないけど、 このスレの住人の多くはプログラマー崩れだろうから、そんなブザマなことはしたくないだろうね そんなところに時間を使うくらいならもっとストラテジーの研究に時間を使えって思うけどね >>300 その程度の足回りに気を使えない奴がストラテジーのコア部分を見落とし無しで実装出来るはずがないっていうのが確率論なんだよね。この後の自分だけは例外って感じの必死レスまで予測可能 ふうん、やっぱりそこは触れちゃいけない部分だったみたいだね まあ頑張れよ >>301 確率論関係ないじゃん… お前はちょっと落ち着け どっぷりなプログラマーほどプログラムだけでなんとかしようとする。 優秀なSEはプログラムにこだわらず柔軟に解決方法を模索する傾向にあると思う。 は、さておき、そもそもキャンセル完了を確認してからMT4を閉じるべきじゃないかね。 サーバー側や通信不具合が原因で本当に失敗することも無いとは言えない訳で。 >>302 ほらなwww >>303 確率と繋がってんの理解出来ないのはかなり痛いぞ。学歴と年収の相関みたいなもんだ。 >>306 確率で合ってるよ。学がないと大変だね。 まぁDLLまで持ち出すのはちょっと本末転倒だけど、別に>>299 は無様でもないしな 頭の硬いプログラミングの知識の無い老害は放置推奨な かくりつろん【確率論】 確率の一般法則を論ずる数学の一部門。パスカルなどに始まり、数理統計学・誤差論など科学の方法として応用されている。 初カキコです。MT4での自作EA歴半年です。MT4で自作EA動かしているんだけど、業者からサーバーに多大な負荷()がかかっているからEA止めるか取引量減らせという通知が。 そこで質問なんだけど、OrderSendとOrderModifyで、引数に現在値と同じ値を設定して、エラーでERR_NO_RESULT(1)が返る場合はターミナル内でエラー処理されているわけですが、このとき業者サーバーにはメッセージとやらは送られているのでしょうか? >>308 あ、あれか、きみさ、ハードディスクのことを「ハード」とか読んでドヤっちゃう人なんだー 君もきみがいる世界のレベルも知れるよ >>311 引用するのに出典を書くような世界の人でないことはもうわかってるからいいよ >>314 これは失礼 引用元によって変わるような意味合いのモノでないので不要かとおもったのでね まあ明らかにしてあげると大辞林 第三版 これでも>>301 の表現が適切だったとおもってるのかな?w >>318 アンカも打たずにわかりやすい勝利宣言だなw アンカも省略したのかな? 「安価なしであってるよ。学がないと大変だね。」( ー`дー´)キリッ そこまで追い詰められたいならさ、 「その程度の足回りに気を使えない奴がストラテジーのコア部分を見落とし無しで実装出来るはずがない っていうのが確率論なんだよね。」 でさ、前段のどこが確率論なのかね? 几帳面な人は知能が高い、的なもの言いだけど、そこまで言うなら相応の「統計的なデータ」でも持ってきたら?w ガイジ、まだ気づいていない模様ww >>316 辺りを読めばわかるんじゃね?w 301=305=ID:spLzg8w30 と思ってたが違うのか?? 難しいの〜w 301=305=ID:Wdqs0l9X0 やで アホすぎて自分で言ってることがわかってないんだよ赦してやれ ID赤くして余程恥ずかしかったのね。失礼。 ま、そんな短絡的じゃやはりまともなストは描けないよね。 これも確率論。理解出来ないみたいだから放置。 この後またID真っ赤に醜態レスまで予測可能 >>326 違うぞガイジw 俺は今日しか書き込んでないw 主張も煽り方も同じアホが二人もいるのも確率論かあ 深いねぇ な、統計通りアホが真っ赤にして書き込みしてきたろ? 典型的なカモだわ 注文時に利確とストップ込みの注文を作ってるんだけど その幅を変えてもバックテスト全然変わらんなあ… どこか間違ってるのかな? mt4のEAを購入したんですがアラーム設定するとパソコンではなりますが、スマホでプッシュ通知ができません。 プッシュ通知のテストはできます。 他人の作成したEAはスマホ通知無理なんですか? どうにかしてスマホに通知させたいです・・ そういえば最近、iPhoneにPC-MT4からの通知は来るが、iPhone-MT4の「チャットとメッセージ」に表示されなくなったな 最近起こったフラッシュクラッシュのことでお聞きします。 チャートを眺めていると、あの時間帯の5分足が何本も抜けているのですが そういうときにClose〔1〕とかOpen〔0〕とか最新の足のデータを利用 するEA等はどのようになるんでしょうか? 足が消滅してレートがフリーズして再出現したときの最初の足を根拠に 計算するんでしょうか? うわぁああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ 逝ったぁあああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ 全部売ったぁああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああああ >>343 そんなのこいつらが考慮してるけねーだろwww 作ってる奴が考慮しててもあの瞬間的な値動きじゃ 業者の鯖がまともに反応してくれ無さそうだな 1通貨ペア毎にMN1からM30までの6枚のチャートを組にして1画面とし、画面を切り替えて各通貨ペアーの 状況を見るようにしています。画面の切り替えは、Ctrl+F5とShift+F5で行います。 画面切り替えに1秒強待たされます。もっとサクサク変わって欲しいのですが何が原因でしょうか。 表示に内容は、ローソク足、MA3本、ボリンジャーバンドの±3σ、MACDぐらいで大して負荷にはならないと思うのですが。 PCの総合エクスペリエンスインデックスは7.5です。 グラフィックッスは7.9なので問題ありません。 CPU(i5, 3.2GHz)が7.5ですが、何か別に問題があるような気がするのですが。同じような経験のある方よろしく。 そんなもんでしょ 瞑想でもして1秒くらい余裕で待てる精神を手に入れるのじゃ そんなもんですかね〜 何かありそうな気がしてならないんですが。 精神論は最後の手段ということでよろしく(汗) >>350 有難うございます。 500000から500にしてみました。 こころなしか1秒程度に短縮したように感じます。 28通貨ペアーを見ますので、もう少しサクサク動いてもらいところなんですが・・・ タスクマネージャーのグラフで どこかの項目に負荷が掛かっていないか見れば良いんじゃないか 初心者では無いけどお聞きしたい‼︎ 以前、ヒストリーデータを使ってトレードの練習が出来るEAかな?を持ってたんだけど、どっかいっちゃって同じもの、あるいは同じ事が出来るものを探しています。 前に持っていたものはインジも通常チャートのように表示でき、TPやSLも設定可能、好きなところで止めて仕掛ける事が出来るもので無料だったと記憶しています。 何かご存知の方がおられたらよろしくご紹介下さい。 みなさん、お休みのところすみません。 iStdDevOnArray iMAOnArray をEAに組み込みたいのですが どのようにしたらよいのでしょうか? Indicateの場合 double ATR1[i] = iATR (NULL,0,RSIPeriod ,i+1); double dev1 [i] = iStdDevOnArray(ATR1[i],0,BandPeriod,0,MODE_SMA,i+1); とやれば、解決するのですが EAだと double ATR1 = iATR (NULL,0,RSIPeriod ,0+1); double dev1 = iStdDevOnArray(ATR1,0,BandPeriod,0,MODE_SMA,0+1); iStdDevOnArray(ATR1 ← と配列にできないのでどうしたらよいのかわかりません どなたか教えてくださいませ >>340 同じく 改善した?地味に困るんだよな〜 >>358 改善していない。iPhone-MT4がBuild 1171に上がったから直ると思ったが直らなかった。 PC-MT4の方はBuild 1170でもBuild 1090でもiPhone側の症状は変わらないから、iPhone側の問題だと思うんだが トレードの結果がチャート上に分かりやすく残るように、buyやsellの時にローソク足の近くに矢印が出る インジをIndexBufferで作りました。オブジェクトはあまり慣れていないので。 うまく表示出来ましたが、チャートのタイムフレームを一時的に変えて戻ってみると(H1を一時的にH4に した後でもとのH1に戻る等)矢印が消えています。 これを防ぐ方法がわかりません。なにか基本的な設定が抜けているような気がするのですが。 普通に作ればそんなことにはならない つまり、基本が抜けてる >>360 消えたときに、チャート画面から「表示中のライン等のリスト」を見てリストにあれば、オブジェクトの時間またはプライスの指定が上手くいってない可能性がある。 リストになければ、ObjectDeleteがおかしな位置にある可能性がある。 あとはオブジェクト名が重複しているとか。 >>362 オブジェクトではなくIndexBufferを使ったので、「表示中のライン等のリスト」には最初から出てこないようです。 mt4って、決済の時、OCO注文しか出来ないの? 逆指値決済を入れようとしたら、指値決済注文も要求されるんだけど… >>359 レスサンクス。今朝iOSアプリのアップデートに気づいてやってみたけど、改善されるかな? >>364 片方だけもできるはずだよ 空白にしとけば >>360 あるあるは取引履歴を表示してないぐらいだな それか、エキスパートタブにエラー内容が出てるか バックテストの最大ドローダウンの金額って 含み損も考慮してるの? >>365 今やってみたら、出来ました ありがとうございました。 一時間毎にHiMacroEXのマクロデータを実行させるインジケータを走らせているのですが、最初は調子良いのに暫くすると stack damaged, check DLL function callエラーが出て止まってしまいます 解決法を教えてください int h; #import "shell32.dll" int ShellExecuteW(int hwnd, string lpOperation, string lpFile, string lpParameters, string lpDirectory, int nShowCmd); #import int start() { if(h!=Hour() && Minute()>1) { ShellExecuteW(NULL, "open","D:\\Misc\\FX\\HiMacroEx\\Macro\\Reset.hmc", NULL, NULL, 1); h=Hour(); } return 0; } shellexecutewでググったら、戻り値をint型の変数に格納するとエラー出ないとあった。 このエラーが該当するか知らんが試してみた? それはそうと、int hに値を入れずに比較で使ってるのが気になる… インジ走らせた瞬間にマクロ動いちゃうけど気にしない なぜかinitの所でh=Hour()やっても0が入っちゃうし 戻り値か。。よく分からないけど試してみます 修正して走らせてますが、エラーになるタイミングがランダムなので1日回してみないと何とも。。 昔同じ問題あったね またMT4がバグってんじゃねーの? MQL5じゃなくて、MT4でコピートレードできるオススメのソフトあれば教えてください。 >>369 deinitでオーダー通らないってやつのdll書いてるんだけど、そのエラー出たわw 多分だけど、ShellExecute実行(*1)→*1実行中→ShellExecute実行(*2)→*2実行中 →*1終了→エラー、だと思う WaitForSingleObjectで終了を待ってやるかCreateProcessで置き換えると解決できる と思う すいません、チャートの時間軸の日本時間と時差のない MT4サーバのFX会社をご存知でしたら教えて下さい あ、駄目だわ エラーメッセージは出なくなったけどマクロ呼び出しに失敗してる インジをチャートにぶっこんだ直後だけはマクロ動くし、if文内でPrintで文字出力させたら毎時表示されてるからインジが止まってる訳でもない >>375 マクロって言ってもワンクリック0.1秒内で終わる動作だけだけどDLL占有したままになってるって事でしょうか WaitForSingleObjectもCreateProcess使ったこと無いのでよく分からないけどやってみます >>375 起動するものを例えばcmd.exeに変えて再現するか確認してみ 再現するならここにうpすれば見てやる >>378 struct PROCESS_INFORMATION { int hProcess; int hThread; int dwProcessId; int dwThreadId; }; struct STARTUPINFO { int cb; int lpReserved; string lpDesktop; string lpTitle; int dwX; int dwY; int dwXSize; int dwYSize; int dwXCountChars; int dwYCountChars; int dwFillAttribute; int dwFlags; short wShowWindow; short cbReserved2; int lpReserved2; int hStdInput; int hStdOutput; int hStdError; }; #import "kernel32.dll" bool CreateProcessW(string lpApplicationName, string lpCommandLine, int lpProcessAttributes, int lpThreadAttributes, bool bInheritHandles, int dwCreationFlags, int lpEnvironment, string lpCurrentDirectory, STARTUPINFO& lpStartupInfo, PROCESS_INFORMATION& lpProcessInformation); bool CloseHandle(int hObject); int WaitForSingleObject(int hHandle, int dwMilliseconds); #import void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam) { if (id == CHARTEVENT_KEYDOWN) if (sparam == "32") { STARTUPINFO si = { sizeof(STARTUPINFO) }; PROCESS_INFORMATION pi; CreateProcessW(NULL, "C:\\Windows\\notepad.exe d:\\test.txt", NULL, NULL, false, 0, NULL, NULL, si, pi); CloseHandle(pi.hThread); WaitForSingleObject(pi.hProcess, -1); CloseHandle(pi.hProcess); } } 長文貼れないっぽいから圧縮してるけどw notepadのとこを適切に書き換えて試してみて、多分解決する ちなみに上記コードは、インジのソースに貼り付けてコンパイル実行後 チャートにフォーカスがある状態でキーボードのDキーを押すとノートパッドが起動する >>382 土曜日以前は>>369 の状態で正常に動いてて、その後やった事といえばWindowsアップデートぐらいだからそれでぶっ壊れたかと思って MT4再インストールして動かしてみてもやっぱり初回しかマクロ反応してくれない 何となくでint型の変数にしてた部分を元に戻したら正常に動き始めた 何だったんだw >>384 そうやって原因を追究しないから成長もしないんだよ アプリ版(iPhone )MT4が動かなくなったのですが、どうやったら動くようになりますか? >>388 レスありがとうございます。 アプリ版は、土日は取引できないのですか? とりあえず月曜日まで待ってみますね。 >>390 すみません。FX初心者で知りませんでした。 調べたら土日は取引してないのですね。 もっと勉強します。 ありがとうございました。 MT4にヒストリカルデータを入れて過去チャートを見ているのですが、 少し経つと今日のチャートまで飛ばされます 飛ばされずに過去チャートを見る方法などありますでしょうか? MT4の上から2段目のアイコンが並んでるとこ右から5番目のボタンを押す ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる