エラー、バグ、質問 - ページ 1401 1...139413951396139713981399140014011402140314041405140614071408...3185 新しいコメント Alexandr Bryzgalov 2015.10.15 12:30 #14001 Ilya Malev:このスクリプトはMetaTrader 4用です :)MT4では、すべてのデータは、mql4プログラムに受信される前に、端末で正確に計算されます。はい、その後確認しましたZS: MT4で使えるメッセージコードがMT5で使えないなんてことはないでしょうか?) Ilya Malev 2015.10.15 12:31 #14002 Alexandr Bryzgalov: はい、その後確認しました。 MT5用のバージョンは掲載しないのですか?MT4では何のためにあるのか分かりませんが、MT5では本当に役に立つと思います - 上に書いたような絶望的な状況からすれば。 Alexandr Bryzgalov 2015.10.15 12:48 #14003 Ilya Malev: MT5用のバージョンを投稿できますか?MT4では何のためにあるのかわかりませんが、MT5では本当に役に立ちます。基本的にここはMT5用なのですが、コマンドコード(PostMessageA(hwnd,WM_COMMAND,33324,0);)は正しい。エラーなしでコンパイルし、エラーなしで実行します。//+------------------------------------------------------------------+ //| ChartRefresh.mq5 | //| sanyooooook | //| http://sn-bot.ru | //+------------------------------------------------------------------+ #property copyright "sanyooooook" #property link "http://sn-bot.ru" #property version "1.00" #property strict #include <WinUser32.mqh> int hwnd=0,cnt=0; //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //--- datetime last_time=TimeCurrent()-5; while(!IsStopped()) { datetime cur_time=TimeCurrent(); if(hwnd==0) { hwnd=WindowHandleMQL4(Symbol(),Period()); if(hwnd!=0) Print("Chart window detected"); } //--- refresh window not frequently than 1 time in 2 seconds if(hwnd!=0 && cur_time-last_time>=2) { //PostMessageA(hwnd,WM_COMMAND,33324,0); PostMessageW(hwnd,WM_COMMAND,33324,0);//так наверное правильней last_time=cur_time; } Sleep(100); } } //+-------------------------------- int WindowHandleMQL4(string symbol, int tf) { ENUM_TIMEFRAMES timeframe=TFMigrate(tf); long currChart,prevChart=ChartFirst(); int i=0,limit=100; while(i<limit) { currChart=ChartNext(prevChart); if(currChart<0) break; if(ChartSymbol(currChart)==symbol && ChartPeriod(currChart)==timeframe) return((int)currChart); prevChart=currChart; i++; } return(0); } ENUM_TIMEFRAMES TFMigrate(int tf) { switch(tf) { case 0: return(PERIOD_CURRENT); case 1: return(PERIOD_M1); case 5: return(PERIOD_M5); case 15: return(PERIOD_M15); case 30: return(PERIOD_M30); case 60: return(PERIOD_H1); case 240: return(PERIOD_H4); case 1440: return(PERIOD_D1); case 10080: return(PERIOD_W1); case 43200: return(PERIOD_MN1); case 2: return(PERIOD_M2); case 3: return(PERIOD_M3); case 4: return(PERIOD_M4); case 6: return(PERIOD_M6); case 10: return(PERIOD_M10); case 12: return(PERIOD_M12); case 16385: return(PERIOD_H1); case 16386: return(PERIOD_H2); case 16387: return(PERIOD_H3); case 16388: return(PERIOD_H4); case 16390: return(PERIOD_H6); case 16392: return(PERIOD_H8); case 16396: return(PERIOD_H12); case 16408: return(PERIOD_D1); case 32769: return(PERIOD_W1); case 49153: return(PERIOD_MN1); default: return(PERIOD_CURRENT); } } Alexandr Bryzgalov 2015.10.15 13:01 #14004 マウスコマンドは必ず動作します )#define MOUSEEVENTF_MOVE 0x0001 // mouse move #define MOUSEEVENTF_LEFTDOWN 0x0002 // left button down #define MOUSEEVENTF_LEFTUP 0x0004 // left button up #define MOUSEEVENTF_RIGHTDOWN 0x0008 // right button down #define MOUSEEVENTF_RIGHTUP 0x0010 // right button up #define MOUSEEVENTF_MIDDLEDOWN 0x0020 // middle button down #define MOUSEEVENTF_MIDDLEUP 0x0040 // middle button up #define MOUSEEVENTF_WHEEL 0x0800 // wheel button rolled #define MOUSEEVENTF_ABSOLUTE 0x8000 // absolute move mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE,25000,35000, 0, 0); Sleep(50); mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_RIGHTDOWN,25000,35000, 0, 0); Sleep(50); mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_RIGHTUP,25000,35000, 0, 0); Sleep(500); Ilya Malev 2015.10.15 13:11 #14005 Alexandr Bryzgalov:基本的にここはMT5用なのですが、コマンドコード()は正しい。エラーなしでコンパイルし、エラーなしで実行します。なぜかうまくいかない。もしよろしければ、スクリプトブランチで議論を続けてください。 Alexandr Bryzgalov 2015.10.15 13:36 #14006 Ilya Malev:なぜかうまくいかない。もしよろしければ、スクリプトブランチで議論を続けてください。はい、動作しません。コード(33324)は、MT5には適していません。他の用事で忙しいので、とりあえずこの辺で。ZS: あとは、正しいコマンドコードを見つけるだけです。) Ilya Malev 2015.10.15 16:12 #14007 インジケータをテストする前に、testerAgent゙Filesフォルダのファイルを 削除する目的は何ですか? Ilya Malev 2015.10.15 16:26 #14008 tester 2015.10.15 19:22:44.860 1999.05.26 00:00:00 デバッグ版 'SomeIndicator.ex5' のエラーの意味は、再コンパイルしてください?追伸:再コンパイルしたら読み込めたようですが、何がいけなかったのか理解したいです。 A100 2015.10.15 16:47 #14009 コンパイルエラー: 'const' - name expectedstruct S { int i; } s1 = { 1 }, //нормально s2 = { 2 }, //нормально сonst s3 = { 3 }; //'const' - name expected あたらめて Alexander 2015.10.15 17:07 #14010 Ilya Malev:tester 2015.10.15 19:22:44.860 1999.05.26 00:00:00 デバッグ版 'SomeIndicator.ex5' のエラーの意味は、再コンパイルしてください?追伸:再コンパイルしたら読み込めたようですが、何がいけなかったのか理解したいです。ストラテジーテスターに 渡されたEX5は、デバッグ用(デバッグバージョン)として用意されていますので、再コンパイルしてください。 1...139413951396139713981399140014011402140314041405140614071408...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
このスクリプトはMetaTrader 4用です :)
MT4では、すべてのデータは、mql4プログラムに受信される前に、端末で正確に計算されます。
はい、その後確認しました
ZS: MT4で使えるメッセージコードがMT5で使えないなんてことはないでしょうか?)
はい、その後確認しました。
MT5用のバージョンを投稿できますか?MT4では何のためにあるのかわかりませんが、MT5では本当に役に立ちます。
基本的にここはMT5用なのですが、コマンドコード(
)は正しい。
エラーなしでコンパイルし、エラーなしで実行します。
マウスコマンドは必ず動作します )
基本的にここはMT5用なのですが、コマンドコード(
)は正しい。
エラーなしでコンパイルし、エラーなしで実行します。
なぜかうまくいかない。もしよろしければ、スクリプトブランチで議論を続けてください。
なぜかうまくいかない。もしよろしければ、スクリプトブランチで議論を続けてください。
はい、動作しません。コード(33324)は、MT5には適していません。
他の用事で忙しいので、とりあえずこの辺で。
ZS: あとは、正しいコマンドコードを見つけるだけです。)
インジケータをテストする前に、testerAgent゙Filesフォルダのファイルを 削除する目的は何ですか?
tester 2015.10.15 19:22:44.860 1999.05.26 00:00:00 デバッグ版 'SomeIndicator.ex5' のエラーの意味は、再コンパイルしてください?
追伸:再コンパイルしたら読み込めたようですが、何がいけなかったのか理解したいです。
tester 2015.10.15 19:22:44.860 1999.05.26 00:00:00 デバッグ版 'SomeIndicator.ex5' のエラーの意味は、再コンパイルしてください?
追伸:再コンパイルしたら読み込めたようですが、何がいけなかったのか理解したいです。