エラー、バグ、質問 - ページ 39 1...323334353637383940414243444546...3185 新しいコメント Mykola Demko 2010.07.08 13:19 #381 コピーで別のシートに再現、サービスデスクにリクエストして みる。 Общайтесь с разработчиками через Сервисдеск! www.mql5.com Ваше сообщение сразу станет доступно нашим отделам тестирования, технической поддержки и разработчикам торговой платформы. Mykola Demko 2010.07.08 13:38 #382 alexvd:DebugBreak()が設定 された場所を正確に覚えていますか?まだ再現のしようがない。Servicedesk#18435 でリクエストを作成しました。すべてのループの前にDebugBreaksを設定しました。 Alexey Da 2010.07.08 14:53 #383 Urain:servicedesk #18435 でリクエスト しました。Zy DebugBreaksは、すべてのサイクルの前に入れました。はい、ありがとうございます。すでに、またやってしまった。 Mykola Demko 2010.07.08 15:04 #384 alexvd:はい、ありがとうございます。すでに、またやってしまった。 後日、動作するものと動作しないものの2つのコンパイル版を追加しましたが、なぜか重さが2倍近く違っています。 削除済み 2010.07.08 15:10 #385 ddd06:EAからのインジケータ呼び出し(値がインジケータと一致しない)に対するリクエスト#18261の 行方を知りたいです。 何らかの反応があればいいのですが...。 もう一度サービスデスクを確認してください、問題は解決されました 削除済み 2010.07.08 15:33 #386 MACDサンプルについて 質問です。AlpariのデモでExpert AdvisorをSL 50とTP200で設定しました。GBPUSDのポジションを建て、しばらくしてExpert Advisorがポジションを修正し、以下のデータがログに入力されました。> 2010.07.08 20:01:46 Trades '3037120' : failed modify sell 0.10 GBPUSD sl: 1.51740, tp: 1.49868 -> sl: 1.51740, tp: 1.49868 [Invalid stops] (ストップが無効です)。問題は、なぜSLが障害者になったのか?ポジションは修正されたようですが(少なくとも以前はBUに移動していたようです)...。同時に、戦略テスターは 全く悪態をつかなかった...。追記インジケーターの設定を記載したファイルを添付します... Errors, bugs, questions how to solve invalid 初心者の方からの質問 MQL5 MT5 MetaTrader Andrey Kornishkin 2010.07.08 16:42 #387 2次元の配列 maVal[a][b] があります。a]で配列を参照し、[b]の値を比較したいので、muValの 値を[b]にコピーするには? CopyBuffer(maHandle,0,0,3,maVal); 適していません。面倒なコードだなあ。 bool Buy_Condition_1=((ma1Val[2]<ma1Val[1]) && (ma1Val[1]<ma1Val[0])|| (ma2Val[2]<ma2Val[1]) && (ma2Val[1]<ma2Val[0])|| (ma3Val[2]<ma3Val[1]) && (ma3Val[1]<ma3Val[0])|| (ma4Val[2]<ma4Val[1]) && (ma4Val[1]<ma4Val[0])|| (ma5Val[2]<ma5Val[1]) && (ma5Val[1]<ma5Val[0])); // MA растет Yedelkin 2010.07.08 18:03 #388 Interesting: sl: 1.51740, tp: 1.49868 -> sl: 1.51740, tp: 1.49868 [無効なストップ]です。 問題は、なぜSLが障害者になったのか?その位置が修正された(少なくとも以前はBUに移動していた)ようですが・・・。 私の日記も、注文の変更でSLもTPも変わらなければ、しかめっ面をしていた。 Vitaly Murlenko 2010.07.09 04:44 #389 簡単なスクリプトを書くのです。void OnStart(){ Alert("-----------------------------------"); Alert("Period() = ",Period()," минут"); Alert("------------ ",Symbol()," ------------"); }同じ取引商品の異なる時間軸で、M1から順に順次投げていきます。結果:M1~M30のタイムフレームでは、期間が正しい。しかし、H1の時間軸では、絶対に素晴らしい数字が投げかけられる。最も興味深いのは、H2タイムフレーム、(その後の時間足も)H1タイムフレームからそれほど離れていないことです。 H1では16386、H2では16387、H3では16388と、最後の一桁で数字が異なる。このバグを回避する方法ではなく、バグそのものを修正することに興味があるのです。全く削除してほしい。 削除済み 2010.07.09 05:07 #390 drknn:簡単なスクリプトを書くのです。同じ取引商品の異なる時間軸で、M1から順に順次投げていきます。結果:M1~M30のタイムフレームでは、期間が正しい。しかし、タイムフレームH1では、まったくもって素晴らしい数字が投げかけられる。最も興味深いのは、H2タイムフレーム(およびそれに続く時間足)がH1タイムフレームからそれほど離れていないことです。H1では16386、H2では16387、H3では16388と、最後の一桁で数字が異なる。このバグを回避する方法ではなく、バグそのものを修正することに興味があるのです。全くなかったことになるように。> このバグを回避する方法ではなく、バグそのものを修正することに興味があるのです。全くないのは困る。失礼か強引かはともかくとして、このバグを指摘されると...質問の本質について(提案)これはMQL4ではなく、Period() はTFの秒数/分数を表すものではありません。期間内の秒数を取得するには、PeriodSeconds 関数を使用する必要があります。また、Periodを数値で表現しようとすると、ENUM_TIMEFRAMES 列挙のピリオドの識別子に対応する数値が得られる。追記MQL4形式でPeriodを翻訳する必要がある場合、私はこの関数を使用しています。//Fumction PeriodToMinute int PeriodToMinute(ENUM_TIMEFRAMES Value) //Возвращает число секунд в периоде { //----------------------------------------------------------------------------// //Служебные переменные int Result; //----------------------------------------------------------------------------// Result = PeriodSeconds(Value)/60; //----------------------------------------------------------------------------// return(Result); //----------------------------------------------------------------------------// }そして、「ピリオダイゼーション」についての不要な質問を避けるために、さらに2つの機能を紹介します。MinuteToPeriodとPeriodToStrがあります。//Fumction MinuteToPeriod ENUM_TIMEFRAMES MinuteToPeriod(int Value) //Преобразовывает число сикунд в период, возвращаемый как ENUM_TIMEFRAMES { //----------------------------------------------------------------------------// //Work variables / Служебные переменные ENUM_TIMEFRAMES Result; //----------------------------------------------------------------------------// switch(Value) { //Перирд текущещего графика case 0: return(PERIOD_CURRENT); break; //Минуты case 1: return(PERIOD_M1); break; //1 минута case 2: return(PERIOD_M2); break; //2 минуты case 3: return(PERIOD_M3); break; //3 минуты case 4: return(PERIOD_M4); break; //4 минуты case 5: return(PERIOD_M5); break; //5 минуты case 6: return(PERIOD_M6); break; //6 минуты case 10: return(PERIOD_M10); break; //10 минуты case 12: return(PERIOD_M12); break; //12 минуты case 15: return(PERIOD_M15); break; //15 минуты case 20: return(PERIOD_M20); break; //20 минуты case 30: return(PERIOD_M30); break; //30 минуты //Часы case 60: return(PERIOD_H1); break; //60 минут - 1 час case 120: return(PERIOD_H2); break; //120 минут - 2 часа case 180: return(PERIOD_H3); break; //180 минут - 3 часа case 240: return(PERIOD_H4); break; //240 минут - 4 часа case 360: return(PERIOD_H6); break; //360 минут - 6 часов case 480: return(PERIOD_H8); break; //480 минут - 8 часов case 720: return(PERIOD_H12); break; //720 минут - 12 часов //Старшие ТФ case 1440: return(PERIOD_D1); break; //1 день case 10080: return(PERIOD_W1); break; //1 неделя case 43200: return(PERIOD_MN1); break; //1 месяц //Default default: return(PERIOD_CURRENT); } //----------------------------------------------------------------------------// return(Result); //----------------------------------------------------------------------------// } //Function PeriodToStr string PeriodToStr(ENUM_TIMEFRAMES Value) //Функция возвращает тексовое представление ТФ (периода) { //----------------------------------------------------------------------------// //Work variables / Служебные переменные string Result; //Возвращаемое значение //----------------------------------------------------------------------------// switch(Value) { //Минуты case PERIOD_M1: Result = "M1"; break; //1 минута case PERIOD_M2: Result = "M2"; break; //2 минуты case PERIOD_M3: Result = "M3"; break; //3 минуты case PERIOD_M4: Result = "M4"; break; //4 минуты case PERIOD_M5: Result = "M5"; break; //5 минут case PERIOD_M6: Result = "M6"; break; //6 минут case PERIOD_M10: Result = "M10"; break; //10 минут case PERIOD_M12: Result = "M12"; break; //12 минут case PERIOD_M15: Result = "M15"; break; //15 минут case PERIOD_M20: Result = "M20"; break; //20 минут case PERIOD_M30: Result = "M30"; break; //30 минут //Часы case PERIOD_H1: Result = "H1"; break; //60 минут - 1 час case PERIOD_H2: Result = "H2"; break; //120 минут - 2 часа case PERIOD_H3: Result = "H3"; break; //180 минут - 3 часа case PERIOD_H4: Result = "H4"; break; //240 минут - 4 часа case PERIOD_H6: Result = "H6"; break; //360 минут - 6 часов case PERIOD_H8: Result = "H8"; break; //480 минут - 8 часов case PERIOD_H12: Result = "H12"; break; //720 минут - 12 часов //Старшие ТФ case PERIOD_D1: Result = "Day"; break; //День case PERIOD_W1: Result = "Week"; break; //Неделя case PERIOD_MN1: Result = "Month"; break; //Месяц //Unknown default: Result = "Unknown"; break; } //----------------------------------------------------------------------------// return(Result); //----------------------------------------------------------------------------// } 1...323334353637383940414243444546...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
DebugBreak()が設定 された場所を正確に覚えていますか?
まだ再現のしようがない。
Servicedesk#18435 でリクエストを作成しました。
すべてのループの前にDebugBreaksを設定しました。
servicedesk #18435 でリクエスト しました。
Zy DebugBreaksは、すべてのサイクルの前に入れました。
はい、ありがとうございます。
すでに、またやってしまった。
はい、ありがとうございます。
すでに、またやってしまった。
EAからのインジケータ呼び出し(値がインジケータと一致しない)に対するリクエスト#18261の 行方を知りたいです。
何らかの反応があればいいのですが...。
MACDサンプルについて 質問です。
AlpariのデモでExpert AdvisorをSL 50とTP200で設定しました。
GBPUSDのポジションを建て、しばらくしてExpert Advisorがポジションを修正し、以下のデータがログに入力されました。
> 2010.07.08 20:01:46 Trades '3037120' : failed modify sell 0.10 GBPUSD sl: 1.51740, tp: 1.49868 -> sl: 1.51740, tp: 1.49868 [Invalid stops] (ストップが無効です)。
問題は、なぜSLが障害者になったのか?ポジションは修正されたようですが(少なくとも以前はBUに移動していたようです)...。
同時に、戦略テスターは 全く悪態をつかなかった...。
追記
インジケーターの設定を記載したファイルを添付します...
2次元の配列 maVal[a][b] があります。a]で配列を参照し、[b]の値を比較したいので、muValの 値を[b]にコピーするには?
CopyBuffer(maHandle,0,0,3,maVal); 適していません。面倒なコードだなあ。
sl: 1.51740, tp: 1.49868 -> sl: 1.51740, tp: 1.49868 [無効なストップ]です。
問題は、なぜSLが障害者になったのか?その位置が修正された(少なくとも以前はBUに移動していた)ようですが・・・。
簡単なスクリプトを書くのです。
同じ取引商品の異なる時間軸で、M1から順に順次投げていきます。結果:M1~M30のタイムフレームでは、期間が正しい。
しかし、H1の時間軸では、絶対に素晴らしい数字が投げかけられる。
最も興味深いのは、H2タイムフレーム、(その後の時間足も)H1タイムフレームからそれほど離れていないことです。
H1では16386、H2では16387、H3では16388と、最後の一桁で数字が異なる。
このバグを回避する方法ではなく、バグそのものを修正することに興味があるのです。全く削除してほしい。
簡単なスクリプトを書くのです。
同じ取引商品の異なる時間軸で、M1から順に順次投げていきます。結果:M1~M30のタイムフレームでは、期間が正しい。
しかし、タイムフレームH1では、まったくもって素晴らしい数字が投げかけられる。
最も興味深いのは、H2タイムフレーム(およびそれに続く時間足)がH1タイムフレームからそれほど離れていないことです。
H1では16386、H2では16387、H3では16388と、最後の一桁で数字が異なる。
このバグを回避する方法ではなく、バグそのものを修正することに興味があるのです。全くなかったことになるように。
> このバグを回避する方法ではなく、バグそのものを修正することに興味があるのです。全くないのは困る。
失礼か強引かはともかくとして、このバグを指摘されると...![](https://c.mql5.com/3/0/happyt1i.gif)
質問の本質について(提案)
これはMQL4ではなく、Period() はTFの秒数/分数を表すものではありません。
期間内の秒数を取得するには、PeriodSeconds 関数を使用する必要があります。
また、Periodを数値で表現しようとすると、ENUM_TIMEFRAMES 列挙のピリオドの識別子に対応する数値が得られる。
追記
MQL4形式でPeriodを翻訳する必要がある場合、私はこの関数を使用しています。
そして、「ピリオダイゼーション」についての不要な質問を避けるために、さらに2つの機能を紹介します。MinuteToPeriodとPeriodToStrがあります。