エラー、バグ、質問 - ページ 367 1...360361362363364365366367368369370371372373374...3185 新しいコメント 削除済み 2011.04.17 09:41 #3661 Yedelkin: 問題は別のところにある可能性が高い。OnInit()で全く同じ配列宣言をして いますが、問題なく動作していますし、今も動作しています。ArrSybols配列の名前にラテン文字のmが省略されていますね。もしかして、これはプログラマーの問題なのか?欠けているのかもしれませんが、何か違いがあるのでしょうか?また、ネイティブで書くと(私の理解では禁止されていない)ターミナル全体がクラッシュするはずですが?このような配列宣言がなくても、次元を指定するだけで、コードは正確に動作します。//Вот так работает string ArrSybols[10]; 元の配列の宣言は次のようなものでした。//List of symbols for trade on the Championship 2010 string ArrSymbolsChampionship2010[10] = {"EURUSD","GBPUSD","USDJPY","USDCHF","USDCAD", "AUDUSD","EURJPY","EURCHF","GBPJPY","GBPCHF"}; Serge 2011.04.17 09:42 #3662 という疑問は まだ残っています。OBJ_CHARTに別ウィンドウでインジケータを添付することはできましたが、インジケータウィンドウのサイズを変更すると、OBJ_CHARTの高さが500なら、インジケータウィンドウの高さは最大493に設定されてしまい、あまりよろしくない状態になっています。その結果、醜いトップが残ってしまうのです。どうすればいいのか?コード if(ObjectFind(0,"MW_chart")!=0) { ObjectCreate(0,"MW_chart",OBJ_CHART,0,time[0],close[0]); ObjectSetString(0,"MW_chart",OBJPROP_SYMBOL,_Symbol); ObjectSetInteger(0,"MW_chart",OBJPROP_PERIOD,_Period); ObjectSetInteger(0,"MW_chart",OBJPROP_CORNER,CORNER_LEFT_UPPER); ObjectSetInteger(0,"MW_chart",OBJPROP_XSIZE,1000); ObjectSetInteger(0,"MW_chart",OBJPROP_DATE_SCALE,false); ObjectSetInteger(0,"MW_chart",OBJPROP_PRICE_SCALE,false); ObjectSetInteger(0,"MW_chart",OBJPROP_SELECTABLE,1); ObjectSetInteger(0,"MW_chart",OBJPROP_CHART_SCALE,2); ObjectSetInteger(0,"MW_chart",OBJPROP_YSIZE,500); } int h=iCCI(Symbol(),Period(),14,PRICE_TYPICAL); long id=ObjectGetInteger(0,"MW_chart",OBJPROP_CHART_ID); ChartIndicatorAdd(id,1,h); ChartSetInteger(id,CHART_HEIGHT_IN_PIXELS,1,493); Yedelkin 2011.04.17 09:56 #3663 Interesting: 見逃されていたかもしれませんが、違いはあるのでしょうか? もちろん、そうです。説明するまでもないでしょう :)ある配列がある名前で定義され、その配列の要素が別の配列名で呼ばれる場合、... :) もし、手動で配列を初期化しなくてもすべてがうまくいくのであれば、あなた自身が理解しているように、コードを見てみてください。結局のところ、文字列配列の初期化を明示的に行わないことで、クライアント端末が勝手にこの配列を初期化することを防げない。 繰り返すが、このような文字列は「思い切り」機能したし、今も機能している。 Mykola Demko 2011.04.17 10:10 #3664 Yedelkin: もちろん、そうでしょう。説明するまでもないでしょう :)ある配列がある名前で宣言され、この配列の要素が別の配列名でアクセスされる場合、... :) もし、手動で配列を初期化しなくてもすべてがうまくいくのであれば、あなた自身が理解しているように、コードを見てみてください。結局のところ、文字列配列の初期化を明示的に行わないことで、クライアント端末が勝手にこの配列を初期化することを防げない。 繰り返すが、このような文字列は機能したし、今も機能している。 いやいや、問題は名前ではなく、宣言時に配列に列挙が入ることなんです。文字列を除くすべての型でうまく動作します。文字列があると、どんなプログラム(エキスパートやスクリプトは関係ない)も本当にクラッシュしてしまいます。これは明らかなバグでservicedeskに書き込んで います。このような仕組みになっています。// string a[2]={"a","b"}; long b[2]={2,3}; //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //--- Print("Работает"); } //+------------------------------------------------------------------+が、文字列配列の宣言をアンコメントすると、動作しません。 Общайтесь с разработчиками через Сервисдеск! www.mql5.com Ваше сообщение сразу станет доступно нашим отделам тестирования, технической поддержки и разработчикам торговой платформы. Andrey Sharov 2011.04.17 10:40 #3665 Renat: 設定でウィンドウ内の最大バー 数を確認する 100000から1000000に変更しました。ヘルプには、OKを押した後の変更の影響について書かれています)。 削除済み 2011.04.17 11:42 #3666 Renatさん、またまたワイルドタフィーです!本当にエラーは見つかりましたか? Renat Fatkhullin 2011.04.17 12:00 #3667 トラフィックの問題は解決しましたが、まだliveupdateでサーバーコンポーネントをリリースしていないことです。これまでクライアント端末のアップデートが 公開されており、サーバーは次回のアップデートで公開される予定です。まだテストはしていません。 削除済み 2011.04.17 12:46 #3668 Renat: トラフィックの問題は解決しましたが、まだliveupdateでサーバーコンポーネントをリリースしていないことです。これまでクライアント端末のアップデートが 公開されており、サーバーは次回のアップデートで公開される予定です。まだテストはしていません。 なるほど。ご返信ありがとうございました。私からも情報を発信していきます。 Valerii Mazurenko 2011.04.17 14:17 #3669 最後のビルド(430)でForward periodとCustom Maxでテストすると-ハングする(Forwardテストに切り替えた瞬間のようです)。最初はExpert Advisorのせいにしていたのですが、次のコードを確認しました。input int a1; input int a2; input int a3; int OnInit(){return(0);} void OnDeinit(const int reason){} void OnTick(){} double OnTester() { return(rand()); }1から1000まで、すべてのティック、USDCAD、2011年1月1日から今日までのM4(Forwardで - 任意の期間)を最適化するようにパラメータを設定しました。フリーズする。リモートエージェントを無効にする - ターミナルを再起動する - それもハングアップする。フォワードピリオドを削除 - 動作します。カスタムマックスが原因かどうか......確認はしていない。このビルドの前 - すべてが機能していました。 Oleg 2011.04.17 14:22 #3670 どういう意味ですか?2011.04.17 15:21:22 Tester テスターエージェントに失敗しました。 1...360361362363364365366367368369370371372373374...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
問題は別のところにある可能性が高い。OnInit()で全く同じ配列宣言をして いますが、問題なく動作していますし、今も動作しています。ArrSybols配列の名前にラテン文字のmが省略されていますね。もしかして、これはプログラマーの問題なのか?
欠けているのかもしれませんが、何か違いがあるのでしょうか?
また、ネイティブで書くと(私の理解では禁止されていない)ターミナル全体がクラッシュするはずですが?
このような配列宣言がなくても、次元を指定するだけで、コードは正確に動作します。
元の配列の宣言は次のようなものでした。
という疑問は まだ残っています。
OBJ_CHARTに別ウィンドウでインジケータを添付することはできましたが、インジケータウィンドウのサイズを変更すると、OBJ_CHARTの高さが500なら、インジケータウィンドウの高さは最大493に設定されてしまい、あまりよろしくない状態になっています。その結果、醜いトップが残ってしまうのです。どうすればいいのか?
コード
見逃されていたかもしれませんが、違いはあるのでしょうか?
もちろん、そうです。説明するまでもないでしょう :)ある配列がある名前で定義され、その配列の要素が別の配列名で呼ばれる場合、... :)
もし、手動で配列を初期化しなくてもすべてがうまくいくのであれば、あなた自身が理解しているように、コードを見てみてください。結局のところ、文字列配列の初期化を明示的に行わないことで、クライアント端末が勝手にこの配列を初期化することを防げない。
繰り返すが、このような文字列は「思い切り」機能したし、今も機能している。
もちろん、そうでしょう。説明するまでもないでしょう :)ある配列がある名前で宣言され、この配列の要素が別の配列名でアクセスされる場合、... :)
もし、手動で配列を初期化しなくてもすべてがうまくいくのであれば、あなた自身が理解しているように、コードを見てみてください。結局のところ、文字列配列の初期化を明示的に行わないことで、クライアント端末が勝手にこの配列を初期化することを防げない。
繰り返すが、このような文字列は機能したし、今も機能している。
いやいや、問題は名前ではなく、宣言時に配列に列挙が入ることなんです。
文字列を除くすべての型でうまく動作します。文字列があると、どんなプログラム(エキスパートやスクリプトは関係ない)も本当にクラッシュしてしまいます。
これは明らかなバグでservicedeskに書き込んで います。
このような仕組みになっています。
が、文字列配列の宣言をアンコメントすると、動作しません。
設定でウィンドウ内の最大バー 数を確認する
Renatさん、またまたワイルドタフィーです!本当にエラーは見つかりましたか?
トラフィックの問題は解決しましたが、まだliveupdateでサーバーコンポーネントをリリースしていないことです。これまでクライアント端末のアップデートが 公開されており、サーバーは次回のアップデートで公開される予定です。まだテストはしていません。
最後のビルド(430)でForward periodとCustom Maxでテストすると-ハングする(Forwardテストに切り替えた瞬間のようです)。最初はExpert Advisorのせいにしていたのですが、次のコードを確認しました。
1から1000まで、すべてのティック、USDCAD、2011年1月1日から今日までのM4(Forwardで - 任意の期間)を最適化するようにパラメータを設定しました。フリーズする。リモートエージェントを無効にする - ターミナルを再起動する - それもハングアップする。フォワードピリオドを削除 - 動作します。カスタムマックスが原因かどうか......確認はしていない。このビルドの前 - すべてが機能していました。
どういう意味ですか?
2011.04.17 15:21:22 Tester テスターエージェントに失敗しました。