エラー、バグ、質問 - ページ 2321 1...231423152316231723182319232023212322232323242325232623272328...3185 新しいコメント fxsaber 2018.11.09 14:34 #23201 自分で確認できることは理解しているのですが...。 Testerでは、tickとtimerのどちらのイベントが先に発生するのでしょうか? 例えば、タイマーを12:00:00.000に呼び出す必要があります。そして、同じ時刻の刻みがある。OnTimerとOnTickはどちらが先にトリガーされるのですか? Pavel Kozlov 2018.11.09 15:13 #23202 Vladimir Pastushak:お気に入りに入れて いた数百のテーマをすべて消去して......。私の知らないところで。こんにちは。 もう一度ご確認ください。あなたのお気に入りがそこにある。 Slava 2018.11.09 15:18 #23203 fxsaber:自分で確認できることは理解しているのですが...。 Testerでは、tickとtimerのどちらのイベントが先に発生するのでしょうか? 例えば、タイマーを12:00:00.000に呼び出す必要があります。そして、同じ時刻の刻みがある。OnTimerとOnTickはどちらが先にトリガーされるのですか?タイマーを先に fxsaber 2018.11.09 15:19 #23204 Slava:まずはタイマーありがとうございます、良い解決策です。 Vladimir Pastushak 2018.11.09 17:27 #23205 Pavel Kozlov:こんにちは。 もう一度ご確認ください。お気に入りのトピックはちゃんとある。ありがとうございます、すべて戻りました。 削除済み 2018.11.10 21:44 #23206 トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム 結果が違う。どうやって?なぜ?何を信じればいいのか? セルゲイ・タボリン さん 2018.11.10 12:15 フルブルートフォースランを実行する。ファイルを書き込んでいるところです。そして、ずっと違う長さ。TFのせいかもしれませんが、TFは結果に何ら影響を与えないはずですこれ以上、何もしないわけにはいかない どうして、どうして?それともテスターの不具合でしょうか? //+------------------------------------------------------------------+ //| KrL_write_func.mq5 | //| Copyright 2018, Tabolin S.N. | //| https://www.mql5.com/ru/users/vip.avos | //+------------------------------------------------------------------+ #property copyright "Copyright 2018, Tabolin S.N." #property link "https://www.mql5.com/ru/users/vip.avos" #property version "1.00" //+------------------------------------------------------------------+ typedef void(*TFunc)(void); TFunc entry_func[7]; //+------------------------------------------------------------------+ enum f_entry { no_f, // не использовать reb, // отскок brd1, // пробой 1 brd2, // пробой 2 lim, // лимитный lw, // недельный cust, // пользовательский }; input f_entry func_entry_1 = reb; // 1-я функция условий входа input f_entry func_entry_2 = brd1; // 2-я функция условий входа input f_entry func_entry_3 = brd2; // 3-я функция условий входа input f_entry func_entry_4 = lim; // 4-я функция условий входа input f_entry func_entry_5 = lw; // 5-я функция условий входа input f_entry func_entry_6 = cust; // 6-я функция условий входа //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { if(paramIncorrect()) return(INIT_PARAMETERS_INCORRECT); else { string filename = "KR\\func.txt"; int filehandle = FileOpen(filename,FILE_WRITE|FILE_READ|FILE_TXT|FILE_ANSI|FILE_COMMON); if(filehandle != INVALID_HANDLE) { FileSeek(filehandle,0,SEEK_END); string str = string(func_entry_1)+","+string(func_entry_2)+","+string(func_entry_3)+","+string(func_entry_4)+","+string(func_entry_5)+","+string(func_entry_6)+"\n"; if(FileWriteString(filehandle,str) == 0) Print("Ошибка записи файла"); FileClose(filehandle); } return(INIT_FAILED); } return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { } //+------------------------------------------------------------------+ bool paramIncorrect() { bool ret_func = false; if(func_entry_1 == no_f && func_entry_2 == no_f && func_entry_3 == no_f && func_entry_4 == no_f && func_entry_5 == no_f && func_entry_6 == no_f) return(true); //--- Порядок следования if(func_entry_1 == no_f) ret_func = true; else if(func_entry_2 == no_f && (func_entry_3 != no_f || func_entry_4 != no_f || func_entry_5 != no_f || func_entry_6 != no_f)) ret_func = true; else if(func_entry_3 == no_f && (func_entry_4 != no_f || func_entry_5 != no_f || func_entry_6 != no_f)) ret_func = true; else if(func_entry_4 == no_f && (func_entry_5 != no_f || func_entry_6 != no_f)) ret_func = true; else if(func_entry_5 == no_f && func_entry_6 != no_f) ret_func = true; //--- Повторяемость if(func_entry_1 == reb && (func_entry_2 == reb || func_entry_3 == reb || func_entry_4 == reb || func_entry_5 == reb || func_entry_6 == reb)) ret_func = true; if(func_entry_1 == brd1 && (func_entry_2 == brd1 || func_entry_3 == brd1 || func_entry_4 == brd1 || func_entry_5 == brd1 || func_entry_6 == brd1)) ret_func = true; if(func_entry_1 == brd2 && (func_entry_2 == brd2 || func_entry_3 == brd2 || func_entry_4 == brd2 || func_entry_5 == brd2 || func_entry_6 == brd2)) ret_func = true; if(func_entry_1 == lim && (func_entry_2 == lim || func_entry_3 == lim || func_entry_4 == lim || func_entry_5 == lim || func_entry_6 == lim)) ret_func = true; if(func_entry_1 == lw && (func_entry_2 == lw || func_entry_3 == lw || func_entry_4 == lw || func_entry_5 == lw || func_entry_6 == lw)) ret_func = true; if(func_entry_1 == cust && (func_entry_2 == cust || func_entry_3 == cust || func_entry_4 == cust || func_entry_5 == cust || func_entry_6 == cust)) ret_func = true; if(func_entry_2 == reb && (func_entry_3 == reb || func_entry_4 == reb || func_entry_5 == reb || func_entry_6 == reb)) ret_func = true; if(func_entry_2 == brd1 && (func_entry_3 == brd1 || func_entry_4 == brd1 || func_entry_5 == brd1 || func_entry_6 == brd1)) ret_func = true; if(func_entry_2 == brd2 && (func_entry_3 == brd2 || func_entry_4 == brd2 || func_entry_5 == brd2 || func_entry_6 == brd2)) ret_func = true; if(func_entry_2 == lim && (func_entry_3 == lim || func_entry_4 == lim || func_entry_5 == lim || func_entry_6 == lim)) ret_func = true; if(func_entry_2 == lw && (func_entry_3 == lw || func_entry_4 == lw || func_entry_5 == lw || func_entry_6 == lw)) ret_func = true; if(func_entry_2 == cust && (func_entry_3 == cust || func_entry_4 == cust || func_entry_5 == cust || func_entry_6 == cust)) ret_func = true; if(func_entry_3 == reb && (func_entry_4 == reb || func_entry_5 == reb || func_entry_6 == reb)) ret_func = true; if(func_entry_3 == brd1 && (func_entry_4 == brd1 || func_entry_5 == brd1 || func_entry_6 == brd1)) ret_func = true; if(func_entry_3 == brd2 && (func_entry_4 == brd2 || func_entry_5 == brd2 || func_entry_6 == brd2)) ret_func = true; if(func_entry_3 == lim && (func_entry_4 == lim || func_entry_5 == lim || func_entry_6 == lim)) ret_func = true; if(func_entry_3 == lw && (func_entry_4 == lw || func_entry_5 == lw || func_entry_6 == lw)) ret_func = true; if(func_entry_3 == cust && (func_entry_4 == cust || func_entry_5 == cust || func_entry_6 == cust)) ret_func = true; if(func_entry_4 == reb && (func_entry_5 == reb || func_entry_6 == reb)) ret_func = true; if(func_entry_4 == brd1 && (func_entry_5 == brd1 || func_entry_6 == brd1)) ret_func = true; if(func_entry_4 == brd2 && (func_entry_5 == brd2 || func_entry_6 == brd2)) ret_func = true; if(func_entry_4 == lim && (func_entry_5 == lim || func_entry_6 == lim)) ret_func = true; if(func_entry_4 == lw && (func_entry_5 == lw || func_entry_6 == lw)) ret_func = true; if(func_entry_4 == cust && (func_entry_5 == cust || func_entry_6 == cust)) ret_func = true; if(func_entry_5 == reb && func_entry_6 == reb) ret_func = true; if(func_entry_5 == brd1 && func_entry_6 == brd1) ret_func = true; if(func_entry_5 == brd2 && func_entry_6 == brd2) ret_func = true; if(func_entry_5 == lim && func_entry_6 == lim) ret_func = true; if(func_entry_5 == lw && func_entry_6 == lw) ret_func = true; if(func_entry_5 == cust && func_entry_6 == cust) ret_func = true; if(ret_func) return(true); return(false); } fxsaber 2018.11.10 22:01 #23207 Сергей Таболин:キャッシュが効く oEdwardo 2018.11.10 23:09 #23208 こんにちは。 MT5の「チャート位置固定」スライダーで、例えば週足チャートから日足チャートに切り替えると、約280日分ずれるという問題に直面しています。 端末インストール 後、最初は全て正常なのですが、プロファイルを古いものから読み込むと不具合が発生するようになりました。しかも、問題は古い。 小さなデモンストレーションのビデオを添付します... ファイル: test.exe.zip 1300 kb Maxim Dmitrievsky 2018.11.11 03:30 #23209 この場合の警告は、変数を増やさないように削除できるのでしょうか? それとも、mqlでは全く機能しないのでしょうか? private: int number_of_features; public: CBandit(int number_of_features) { this.number_of_features = number_of_features; } number_of_features'の宣言が24行目のメンバー宣言を隠す Igor Makanu 2018.11.11 04:16 #23210 Maxim Dmitrievsky:この場合の警告は、変数を増やさないように削除できるのでしょうか? それとも、mqlでは全く機能しないのでしょうか? number_of_features'の宣言が24行目のメンバ宣言を隠している。すでに変数を「掛けて」いるので、ここではCBandit(int number_of_features) という変数 int number_of_features がすでに作られる、というか変数ではなくこの変数の値の コピー なので、 CBandit(int number_of_features_my) と書くかそのままにしても何も変わらないから、コンパイラがわざと警告を出しているのです。CBandit(int number_of_features)と記述することで、スコープを閉じて いるためです。 プライベートint number_of_features; で、CBandit()メソッドでこのint number_of_features;を取得するべきだったかもしれませんし、そうでなくても、コンパイラはそれを追跡しています。 1...231423152316231723182319232023212322232323242325232623272328...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
自分で確認できることは理解しているのですが...。
Testerでは、tickとtimerのどちらのイベントが先に発生するのでしょうか?
例えば、タイマーを12:00:00.000に呼び出す必要があります。そして、同じ時刻の刻みがある。OnTimerとOnTickはどちらが先にトリガーされるのですか?
お気に入りに入れて いた数百のテーマをすべて消去して......。私の知らないところで。
こんにちは。
もう一度ご確認ください。あなたのお気に入りがそこにある。
自分で確認できることは理解しているのですが...。
Testerでは、tickとtimerのどちらのイベントが先に発生するのでしょうか?
例えば、タイマーを12:00:00.000に呼び出す必要があります。そして、同じ時刻の刻みがある。OnTimerとOnTickはどちらが先にトリガーされるのですか?
タイマーを先に
まずはタイマー
ありがとうございます、良い解決策です。
こんにちは。
もう一度ご確認ください。お気に入りのトピックはちゃんとある。
ありがとうございます、すべて戻りました。
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
結果が違う。どうやって?なぜ?何を信じればいいのか?
セルゲイ・タボリン さん 2018.11.10 12:15
フルブルートフォースランを実行する。ファイルを書き込んでいるところです。そして、ずっと違う長さ。TFのせいかもしれませんが、TFは結果に何ら影響を与えないはずですこれ以上、何もしないわけにはいかない
どうして、どうして?それともテスターの不具合でしょうか?
キャッシュが効く
こんにちは。
MT5の「チャート位置固定」スライダーで、例えば週足チャートから日足チャートに切り替えると、約280日分ずれるという問題に直面しています。
端末インストール 後、最初は全て正常なのですが、プロファイルを古いものから読み込むと不具合が発生するようになりました。しかも、問題は古い。
小さなデモンストレーションのビデオを添付します...
この場合の警告は、変数を増やさないように削除できるのでしょうか? それとも、mqlでは全く機能しないのでしょうか?
number_of_features'の宣言が24行目のメンバー宣言を隠す
この場合の警告は、変数を増やさないように削除できるのでしょうか? それとも、mqlでは全く機能しないのでしょうか?
number_of_features'の宣言が24行目のメンバ宣言を隠している。
すでに変数を「掛けて」いるので、ここではCBandit(int number_of_features) という変数 int number_of_features がすでに作られる、というか変数ではなくこの変数の値の コピー なので、 CBandit(int number_of_features_my) と書くかそのままにしても何も変わらないから、コンパイラがわざと警告を出しているのです。CBandit(int number_of_features)と記述することで、スコープを閉じて いるためです。
プライベート
int number_of_features;
で、CBandit()メソッドでこのint number_of_features;を取得するべきだったかもしれませんし、そうでなくても、コンパイラはそれを追跡しています。