//+------------------------------------------------------------------+ //| Функция получает текст комментария в левом верхнем углу графика. | //+------------------------------------------------------------------+ bool ChartCommentGet(string &result,constlong chart_ID=0)
{
//--- сбросим значение ошибки ResetLastError();
//--- получим значение свойства if(!ChartGetString(chart_ID,CHART_COMMENT,result))
{
//--- выведем сообщение об ошибке в журнал "Эксперты" Print(__FUNCTION__+", Error Code = ",GetLastError());
return(false);
}
//--- успешное выполнение return(true);
}
//+------------------------------------------------------------------+ //| Функция устанавливает текст комментария в левом верхнем углу | //| графика. | //+------------------------------------------------------------------+ bool ChartCommentSet(conststring str,constlong chart_ID=0)
{
//--- сбросим значение ошибки ResetLastError();
//--- установим значение свойства if(!ChartSetString(chart_ID,CHART_COMMENT,str))
{
//--- выведем сообщение об ошибке в журнал "Эксперты" Print(__FUNCTION__+", Error Code = ",GetLastError());
return(false);
}
//--- успешное выполнение return(true);
}
この測定値は何の意味もない。CommentとCanvasで別々に数万回のサイクルを作るべきで、そうすれば何か判断できるはずです。また、印刷するテキストは、例えばカウンターの値を印刷させるなど、変更する必要があります。
このようにやり直すことは可能でしょうか?
繰り返しの出力は正しい、コメントは mt5の速度を殺す。ずいぶん前に確認し、テスト中の表示は除外しています。
CHART_COMMENT をチェックしていませんでしたが、ちょうどそれについて思い出したので、時間があれば - スピードをチェックします。
MT4で試した。コードもその上で動作します。
MT4では、グラフィカルなアナログと比較して、コメントが5倍速くなることが判明しました。そして、MT5ではMT4に比べてComment()の動作が5-6倍遅いことが判明しました。さて、これは不愉快で奇妙な驚きです。そこで、開発者の方に質問です。どうして?明らかに5のバグだろ!!!!
情報ありがとうございます、MT5では非常に悲しい、MT4とMT5ではさらに悲しい、マルチプラットフォームEAでは互換性が悪いことが判明しました。
情報ありがとうございます、MT5では非常に悲しい、MT4とMT5ではさらに悲しい、マルチプラットフォームEAでは互換性が悪いことが判明しました。
あるんです。私は、mt5のチャート上のオブジェクトと情報の出力を完全に排除し、良いテスターレポートを 犠牲にして、全く多くを失っていない。
情報ありがとうございます、MT5では非常に悲しい、MT4とMT5ではさらに悲しい、マルチプラットフォームEAでは互換性が悪いことが判明しました。
やはりkanvasに乗り換えるのがベストな選択だと思います。MT4とMT5の相性はそこそこバッチリです。また、Commentは、ドラフトコードで素早く実行するためのチェックにのみ有効で、最終的なコードでは有効ではありません。みんな、なぜかKanvasのスピード性能を甘く見ているんですよ。
やはり、Canvasに乗り換えるのがベストな選択だと思います。MT4とMT5はそこそこ互換性があります。また、Commentは、ドラフトコードで素早く現状を確認する場合にのみ有効で、最終コードでは有効ではありません。皆さん、なぜかCanvasのスピード性能を過小評価していますね。
はっきり言って、そうするしかないでしょう...。
サイクルも別にやって、ちょっと結果がおかしいと思ったら、同じでした。同じ結果です。一般的なサイクルでも、個別でも違いはない。私のサンプルでは、毎回テキストが変わっているのですが、なぜ気づかれなかったのでしょう。コンパイラの最適化も知っています。))
また、ループを分けたコードを掲載してもよろしいでしょうか?
繰り返しの結論は正しく、コメントは mt5のスピードを酷く殺します。ずいぶん前に確認したのですが、テスト時にはその表示を除外していました。
CHART_COMMENTを チェックしていなかったのですが、ちょうど思い出したので、時間を作ってスピードをチェックしてみます。
SDから。
チャートコメント欄を通じて、EAとインジケータの間で文字列情報のやりとりを設定することができます。
そのような少数の潜在的なユーザーのために、最適化を遅らせるべきではないと判断したのです。
次のビルドでは、コメント機能は単一のテストでのみ機能するようになります。最適化中 - しない
SRから
EAとインジケータ間で、チャートコメント欄を通じて文字列情報を交換。
人は性倒錯に長ける
そして、一般的には、もちろん、メモリマッピングのような交換方法はありませんが、サンドボックス内で、DLLを呼び出すことなく
実際、足りないのはメモリマッピングのタイプ交換メソッドですが、サンドボックス内で、DLLを呼び出すことなく行います。
豊富な選択肢。
選択肢はたくさん ある。
みんなサロゲートなんです。そして、それぞれにシリアライズ/デシリアライズが必要です。例えば、WCFでは、データフィールドを持つ複雑なクラスのインスタンスを、利用可能なあらゆるプロトコルを使ってWeb上に送信することができます。受け手側にそんなクラスがあればいいんです。