標準的な機能/アプローチの代替実装 - ページ 2 123456789...13 新しいコメント fxsaber 2016.09.02 00:39 #11 Renat Fatkhullin:2016年までに、ほとんどのC++コンパイラが同じレベルの最適化に到達しています。MSVCはアップデートのたびに改善されていることに疑問を感じさせますし、コンパイラとしてのIntel C++はマージされましたが、大規模プロジェクトにおける「内部エラー」からまだ回復していません。1400 ビルドでのコンパイラのもう一つの改良点は、複雑なプロジェクトのコンパイルをより高速に行えるようにしたことです。 この対談がなければ、おそらく私たちはこのことを知ることはなかったでしょう。もっと素晴らしい作品の情報をお願いします。 Renat Fatkhullin 2016.09.02 00:40 #12 fxsaber:トピックについて標準の関数では間違った出力が出ることがあるので、代替の関数を作る必要があります。以下は、SymbolInfoTickの代替の例です。テスターの各イベントNewTickで SymbolInfoTickを呼び出し、Volumeフィールドを合計することで、株価の回転数を知ることができます。でも、ダメなんです!もっと論理的なMySymbolInfoDoubleを作らなければならない。あなたがクリエイターであるプログラミングへようこそ!私たちは、あなたがやりたいことを何でもできる、最も完全なツールを提供します。 fxsaber 2016.09.02 00:42 #13 Renat Fatkhullin:身の回りのものをすべて最適化することができるのです。終わりのない作業です。しかし、99%は経済的に成り立たないのです。 ここでは最適化の話ではなく、古い機能を新しい現実に対応させるということです。確かに、NormalizeDoubleを 全く書かないという手もありますね。そして、人々は自分なりのバリエーションを作っていたことでしょう。でも、時間短縮のために作ったんですよね。今はまだ十分ではありません。そして、同じ純正工具を満足させるために、古い自転車を修理するのも良いだろう。 Renat Fatkhullin 2016.09.02 00:45 #14 fxsaber: これは、最適化ではなく、古い機能を新しい現実に対応させることです。NormalizeDoubleを全く書かないという手もあったことは明らかです。そして、人々は自分なりのバリエーションを作っていたことでしょう。でも、時間短縮のために作ったんですよね。今はまだ十分ではありません。そして、同じ純正工具を満足させるために、古い自転車を修理するのも良いだろう。 ありがとうございます。確認して、ライブラリを変更できるかどうか確認します。 Renat Fatkhullin 2016.09.02 00:49 #15 ところで、少し前に@iliyasが、コンパイル時に多くのシステム関数をMQL5のソースコードとして挿入し、インライン化と最大限の最適化に参加させることを提案しました。最初はそのアイデアを評価していなかったのですが、今となっては素晴らしいことだと思います。同じMSVCがやっている。 fxsaber 2016.09.02 00:50 #16 Renat Fatkhullin: ありがとうございます。ライブラリを変更できるかどうか、確認してみます。あなたは誤解している。ライブラリではなく、NormalizeDouble。過負荷を加えること。double NormalizeDouble( double Value, double TickSize );TickSize = 25, VolumeStep = 0.5で価格とロットを正規化する場合。例えば、正規化すると次のようになります。NormalizeDouble(Price, 0.00001) // Нормализация до пятого знака NormalizeDouble(Price, 10.0) // Нормализация цены для RTS-9.16 NormalizeDouble(Price, 25.0) // Нормализация цены для MIX-9.16 fxsaber 2016.09.02 00:52 #17 Renat Fatkhullin:ところで、少し前に@iliyasが、コンパイル時に多くのシステム関数をMQL5のソースコードとして挿入し、インライン化に参加させて最適化を最大化することを提案しました。すぐには評価できませんでしたが、今となっては素晴らしいアイデアだと思います。同じMSVCがやっている。import ex5が最適化の弊害であることが判明。プリプロセッサー機能にご注目ください トレーディング、自動売買システム、ストラテジーテストに関するフォーラム エニュメレーションを順次行うにはどうしたらよいですか? アレクセイ・ナヴォイコフ さん 2016.09.01 23:20 マクロは引数の数が決まっていて、引数の数は8個までなので、enumの値は3つしかないのですが、MQL5で上記の原理を実装済みです。理論的な外観については、enumを解析するための関数を社内で作った方が早いでしょう。 開発者はすでに何かを作ると約束しています。その結果、非常に巧妙で使い勝手の良い構造を作り上げることができました。 Renat Fatkhullin 2016.09.02 00:55 #18 fxsaber:あなたは誤解している。ライブラリではなく、NormalizeDouble。過負荷を加えること。TickSize = 25, VolumeStep = 0.5で価格とロットを正規化する場合。例えば、正規化すると次のようになります。これでは、過大な負荷をかけることはできません。同じファンクションシグネチャーを使用しています。 しかし、考え方は明快で、ダニ粒状化を考慮した正規化の機能です。 fxsaber 2016.09.02 00:57 #19 Renat Fatkhullin:これでは、過大な負荷をかけることはできません。同じファンクションシグネチャーを使用しています。 そこに問題はなさそうです。あるバリエーションでは、第2パラメータはint(was)であり、他のバリエーションではdouble(will appear)である。しかし、考え方は明快で、刻みの粒状性を考慮した正規化の機能である。 そのとおりです。 prostotrader 2016.09.02 00:58 #20 エフエックスセイバーあなたのコードにエラーがあります 123456789...13 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
2016年までに、ほとんどのC++コンパイラが同じレベルの最適化に到達しています。
MSVCはアップデートのたびに改善されていることに疑問を感じさせますし、コンパイラとしてのIntel C++はマージされましたが、大規模プロジェクトにおける「内部エラー」からまだ回復していません。
1400 ビルドでのコンパイラのもう一つの改良点は、複雑なプロジェクトのコンパイルをより高速に行えるようにしたことです。
トピックについて標準の関数では間違った出力が出ることがあるので、代替の関数を作る必要があります。以下は、SymbolInfoTickの代替の例です。
テスターの各イベントNewTickで SymbolInfoTickを呼び出し、Volumeフィールドを合計することで、株価の回転数を知ることができます。でも、ダメなんです!もっと論理的なMySymbolInfoDoubleを作らなければならない。
あなたがクリエイターであるプログラミングへようこそ!
私たちは、あなたがやりたいことを何でもできる、最も完全なツールを提供します。
身の回りのものをすべて最適化することができるのです。
終わりのない作業です。しかし、99%は経済的に成り立たないのです。
これは、最適化ではなく、古い機能を新しい現実に対応させることです。NormalizeDoubleを全く書かないという手もあったことは明らかです。そして、人々は自分なりのバリエーションを作っていたことでしょう。でも、時間短縮のために作ったんですよね。今はまだ十分ではありません。そして、同じ純正工具を満足させるために、古い自転車を修理するのも良いだろう。
ところで、少し前に@iliyasが、コンパイル時に多くのシステム関数をMQL5のソースコードとして挿入し、インライン化と最大限の最適化に参加させることを提案しました。
最初はそのアイデアを評価していなかったのですが、今となっては素晴らしいことだと思います。同じMSVCがやっている。
ありがとうございます。ライブラリを変更できるかどうか、確認してみます。
あなたは誤解している。ライブラリではなく、NormalizeDouble。過負荷を加えること。
TickSize = 25, VolumeStep = 0.5で価格とロットを正規化する場合。
例えば、正規化すると次のようになります。
ところで、少し前に@iliyasが、コンパイル時に多くのシステム関数をMQL5のソースコードとして挿入し、インライン化に参加させて最適化を最大化することを提案しました。
すぐには評価できませんでしたが、今となっては素晴らしいアイデアだと思います。同じMSVCがやっている。
import ex5が最適化の弊害であることが判明。
プリプロセッサー機能にご注目ください
トレーディング、自動売買システム、ストラテジーテストに関するフォーラム
エニュメレーションを順次行うにはどうしたらよいですか?
アレクセイ・ナヴォイコフ さん 2016.09.01 23:20
マクロは引数の数が決まっていて、引数の数は8個までなので、enumの値は3つしかないのですが、MQL5で上記の原理を実装済みです。
理論的な外観については、enumを解析するための関数を社内で作った方が早いでしょう。 開発者はすでに何かを作ると約束しています。
その結果、非常に巧妙で使い勝手の良い構造を作り上げることができました。
あなたは誤解している。ライブラリではなく、NormalizeDouble。過負荷を加えること。
TickSize = 25, VolumeStep = 0.5で価格とロットを正規化する場合。
例えば、正規化すると次のようになります。
これでは、過大な負荷をかけることはできません。同じファンクションシグネチャーを使用しています。
しかし、考え方は明快で、ダニ粒状化を考慮した正規化の機能です。
これでは、過大な負荷をかけることはできません。同じファンクションシグネチャーを使用しています。
そこに問題はなさそうです。あるバリエーションでは、第2パラメータはint(was)であり、他のバリエーションではdouble(will appear)である。
しかし、考え方は明快で、刻みの粒状性を考慮した正規化の機能である。
エフエックスセイバー
あなたのコードにエラーがあります