CGraphicのテスト - 質問と提案 - ページ 7 12345678910111213 新しいコメント --- 2017.06.14 08:30 #61 各機能をデバッグすることで、問題を適切に特定し、SDのタスクを設定することができます。ギガバイトのキャンバスを再現しようとすると、キャンバスサイズの計算でエラーが発生するようです。 または、何らかのループで巨大な配列が作成されます。 Vladimir Karputov 2017.06.14 08:34 #62 o_o:各機能をデバッグすることで、問題を適切に特定し、SDのタスクを設定することができます。ギガバイトのキャンバスを再現しようとすると、キャンバスサイズの計算でエラーが発生するようです。 あるいは、ある種のループで巨大な配列を作成します。 もっと見る"・・・何らかのループで巨大な配列を作成する "とありますが、確かに300要素の配列がRAM上でLIVEしているのを見たことがあります。ノートパソコンが「呼吸」している間に、なんとか5GBを確認することができました。問題は浮遊しているだけ - 少なくとも画面上で何が起こるかのビデオ記録を置く - 致命的な結果につながるどの組み合わせをキャッチするために。 --- 2017.06.14 08:46 #63 再生されませんでした... CCurve *curve_b=my_graphic.CurveAdd(arrX,arrY,CURVE_LINES,"Close"); CAxis *xAxis=my_graphic.XAxis(); // получаем ось X //---попеременно комбинирую (комментировать, раскоментировать) строки 87 //--- и 88 можно словить момент поглощения памяти и зависания компьютера //xAxis.AutoScale(false); //xAxis.Type(AXIS_TYPE_DATETIME); -> my_graphic.CurvePlotAll(); my_graphic.Update(); ... Vladimir Karputov 2017.06.14 08:52 #64 o_o:再現できない。 私も明確な再生はしていません。今、見たんです。 for(int i=0; i<size;++i)それが問題なのでは? --- 2017.06.14 08:56 #65 いや、その逆だ) TheXpert 2017.06.14 08:59 #66 o_o: いや、逆にいいんです )違いはありません。通常のコンパイラは、これらの最適化を自ら行うはずです。説明から判断すると、問題はメモリリークにあり、おそらくコードには全く問題がないのではないかと疑っています。 Vladimir Karputov 2017.06.14 08:59 #67 o_o: いいえ、それは良いの反対です ) 通常のi++に修正し、さらに拡張したコード=5GBを再びコンパイルしました :).コードは後で、ホバリング中に...。 Roman Konopelko 2017.06.14 09:01 #68 Vladimir Karputov: この方が可能性が高い。300要素の配列がRAMを引き起こすのを見たことがあるので、「...ある種のループで巨大な配列を作成する」。ノートパソコンが「呼吸」している間に、なんとか5GBを確認することができました。問題は浮遊するだけです。どの組み合わせが致命的な結果につながるかをキャッチするために、何が起こっているかをサードパーティーのカメラ映像で画面に映し出すとよいでしょう。アフタヌーン! ハングアップの原因は、オートステッチを無効にしていることです: xAxis.AutoScale(false)この場合、arrX 配列に非常に大きな範囲の値が格納されています。double MAX = arrX[ArrayMaximum(arrX)]; // 1497438000.0 double MIN = arrX[ArrayMinimum(arrX)]; // 988653600.0また、my_graphic.XAxis().DefaultStep()という署名を入れる際に軸を分割するステップの値を変えておらず、デフォルトでは25.0なのでライブラリが生成しようとする署名の数は等しくなっています。m_xsize=(int)MathRound((max-min)/step)+1; // 20351377それがハングアップにつながるのですが、選択肢は2つあります。オートストローブを残すこと。my_graphic.XAxis().DefaultStep()メソッドに適切な値を渡して、デフォルトのステップを変更します(10分割で50878800.0という値が出ました)。 Vladimir Karputov 2017.06.14 09:03 #69 Vladimir Karputov: 使い慣れたi++に修正し、より拡張されたコード=5GBを再びコンパイルしました :).コードは後で、ぶら下がりながら...。 この中のどこか。のトラブルが発生します。こういうセリフはネタバレでしかないんですけどね。 ファイル: EveningStarStatistics.mq5 18 kb Vladimir Karputov 2017.06.14 09:16 #70 Roman Konopelko:こんにちは。 ハングアップの原因は、オートステップを無効にしていることです: xAxis.AutoScale(false)arrX配列に非常に大きな範囲の値が格納されていますね。また、my_graphic.XAxis().DefaultStep()という署名を入れる際に軸を分割するステップの値を変えておらず、デフォルトでは25.0なのでライブラリが生成しようとする署名の数は等しくなっています。それがハングアップにつながるのですが、選択肢は2つあります。オートアタッチメントを残すにはmy_graphic.XAxis().DefaultStep() メソッドに適当な値を渡して、デフォルトのピッチを変更します(10分割で 50878800.0 という値が得られました)。 ありがとうございます。オートスケールとステップ設定全般で線をカット(削除)する。そして早速、願望ですが、両軸の斜め(角度)フォントを一度に作ることができます(my_graphic.FontSet("Arial",10,0,180);)。このフォント(または角度)設定方法を別軸にできないか? ファイル: EveningStarStatistics.mq5 18 kb 12345678910111213 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
各機能をデバッグすることで、問題を適切に特定し、SDのタスクを設定することができます。
ギガバイトのキャンバスを再現しようとすると、キャンバスサイズの計算でエラーが発生するようです。
または、何らかのループで巨大な配列が作成されます。
各機能をデバッグすることで、問題を適切に特定し、SDのタスクを設定することができます。
ギガバイトのキャンバスを再現しようとすると、キャンバスサイズの計算でエラーが発生するようです。
あるいは、ある種のループで巨大な配列を作成します。
もっと見る"・・・何らかのループで巨大な配列を作成する "とありますが、確かに300要素の配列がRAM上でLIVEしているのを見たことがあります。ノートパソコンが「呼吸」している間に、なんとか5GBを確認することができました。
問題は浮遊しているだけ - 少なくとも画面上で何が起こるかのビデオ記録を置く - 致命的な結果につながるどの組み合わせをキャッチするために。
再生されませんでした
再現できない。
私も明確な再生はしていません。今、見たんです。
それが問題なのでは?
いや、逆にいいんです )
違いはありません。通常のコンパイラは、これらの最適化を自ら行うはずです。
説明から判断すると、問題はメモリリークにあり、おそらくコードには全く問題がないのではないかと疑っています。
いいえ、それは良いの反対です )
通常のi++に修正し、さらに拡張したコード=5GBを再びコンパイルしました :).コードは後で、ホバリング中に...。
この方が可能性が高い。300要素の配列がRAMを引き起こすのを見たことがあるので、「...ある種のループで巨大な配列を作成する」。ノートパソコンが「呼吸」している間に、なんとか5GBを確認することができました。
問題は浮遊するだけです。どの組み合わせが致命的な結果につながるかをキャッチするために、何が起こっているかをサードパーティーのカメラ映像で画面に映し出すとよいでしょう。
アフタヌーン!
ハングアップの原因は、オートステッチを無効にしていることです: xAxis.AutoScale(false)
この場合、arrX 配列に非常に大きな範囲の値が格納されています。
また、my_graphic.XAxis().DefaultStep()という署名を入れる際に軸を分割するステップの値を変えておらず、デフォルトでは25.0なのでライブラリが生成しようとする署名の数は等しくなっています。
それがハングアップにつながるのですが、選択肢は2つあります。
使い慣れたi++に修正し、より拡張されたコード=5GBを再びコンパイルしました :).コードは後で、ぶら下がりながら...。
この中のどこか。
のトラブルが発生します。こういうセリフはネタバレでしかないんですけどね。
こんにちは。
ハングアップの原因は、オートステップを無効にしていることです: xAxis.AutoScale(false)
arrX配列に非常に大きな範囲の値が格納されていますね。
また、my_graphic.XAxis().DefaultStep()という署名を入れる際に軸を分割するステップの値を変えておらず、デフォルトでは25.0なのでライブラリが生成しようとする署名の数は等しくなっています。
それがハングアップにつながるのですが、選択肢は2つあります。
ありがとうございます。オートスケールとステップ設定全般で線をカット(削除)する。
そして早速、願望ですが、両軸の斜め(角度)フォントを一度に作ることができます(my_graphic.FontSet("Arial",10,0,180);)。このフォント(または角度)設定方法を別軸にできないか?