[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 318 1...311312313314315316317318319320321322323324325...631 新しいコメント Рустам 2012.08.12 10:28 #3171 Zhunko: 確認はしていないが、なんとなく 完全に無駄なジェスチャー十分なdouble res=NormalizeDouble(res,1) 数学的にまだdouble res = 3; またはdouble res = 3.0を処理します。 印刷物(グラフ)でしかその差は確認できないが、これは筆者の問題意識にはない。 Vadim Zhunko 2012.08.12 11:13 #3172 FAQ: 完全に無駄なジェスチャー十分なdouble res=NormalizeDouble(res,1) 数学的にまだdouble res = 3; またはdouble res = 3.0を処理します。 その差はプリントアウト(グラフ)でしか確認できないが、これは筆者の問題意識の中にはない。 まあ、こんなやり方もあるんですね。 double MathRoundDec(double dValue) { return(MathRound(10 * dValue) / 10); } 最初のバリエーションが良いと思います。より高速に動作するようになります。 Victor Nikolaev 2012.08.12 11:15 #3173 Zhunko: まあ、こんな感じでいいんじゃないでしょうか。 最初の選択肢がベストだと思います。より速く動作するようになります。 このオプションは double res=NormalizeDouble(res,1); は最速でなければならない 削除済み 2012.08.12 11:25 #3174 皆さん、ありがとうございました。月曜日に報告しますね〜!全てのオプションを試してみます。 Рустам 2012.08.12 11:27 #3175 Vadimのバージョンは20〜25%高速化されていますが、反復回数が100万回を超えると効果が安定して現れ始めます。(チェック済み) Victor Nikolaev 2012.08.12 11:38 #3176 FAQ: Vadimのバージョンは20〜25%高速化されていますが、反復回数が100万回を超えると効果が安定して現れ始めます。(チェック済み) コードを見せてください、どのように確認したのですか? 削除済み 2012.08.12 11:40 #3177 FAQ: Vadimのバージョンは20〜25%高速化されていますが、反復回数が100万回を超えると効果が安定して現れ始めます。(テスト済み) ありがとうございました。 削除済み 2012.08.12 11:42 #3178 okvseok: 正しい書き方: if (OrderSelect (OrdersHistoryTotal()-1, SELECT_BY_POS, MODE_HISTORY) == OrderTakeProfit() == OrderClosePrice())Stop=false // つまり、最後からの注文がTake Profit(あるレベルに達した時点で利食いする)で終了した場合、Stop=false?(グローバル変数で停止) この質問は、注文が if((iClose(NULL,0,1)<ma) && Stop==True) という条件によって開かれるために発生しました... Рустам 2012.08.12 11:44 #3179 決して比較しない、正規化されていないテイク、役に立たない。ちなみにテイクオーダーの終値は テイクプライスとは異なる場合があります(リアル/デモ(オンライン))。 したがって、価格差モジュールを測定し、テスト値と比較する方がより正しい。 if(MathAbs(OrderTakeProfit()-OrderClosePrice())<2*Point){Stop=false;} Рустам 2012.08.12 11:46 #3180 Vinin: どのようにテストしたのか、コードを見せてください。 double in = 3.24857,res; int i, pretime = GetTickCount(); for(i=0;i<1000000;i++){res=MathRound(in*10)/10;} Print("Stage 1 : ",GetTickCount()-pretime); pretime = GetTickCount(); for(i=0;i<1000000;i++){res=NormalizeDouble(in,1);} Print("Stage 2 : ",GetTickCount()-pretime); 自分でもショックです :))) 1...311312313314315316317318319320321322323324325...631 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
確認はしていないが、なんとなく
完全に無駄なジェスチャー十分なdouble res=NormalizeDouble(res,1) 数学的にまだdouble res = 3; またはdouble res = 3.0を処理します。
印刷物(グラフ)でしかその差は確認できないが、これは筆者の問題意識にはない。
完全に無駄なジェスチャー十分なdouble res=NormalizeDouble(res,1) 数学的にまだdouble res = 3; またはdouble res = 3.0を処理します。
その差はプリントアウト(グラフ)でしか確認できないが、これは筆者の問題意識の中にはない。
まあ、こんなやり方もあるんですね。
最初のバリエーションが良いと思います。より高速に動作するようになります。まあ、こんな感じでいいんじゃないでしょうか。
最初の選択肢がベストだと思います。より速く動作するようになります。このオプションは
は最速でなければならない
Vadimのバージョンは20〜25%高速化されていますが、反復回数が100万回を超えると効果が安定して現れ始めます。(チェック済み)
コードを見せてください、どのように確認したのですか?
Vadimのバージョンは20〜25%高速化されていますが、反復回数が100万回を超えると効果が安定して現れ始めます。(テスト済み)
正しい書き方: if (OrderSelect (OrdersHistoryTotal()-1, SELECT_BY_POS, MODE_HISTORY) == OrderTakeProfit() == OrderClosePrice())Stop=false // つまり、最後からの注文がTake Profit(あるレベルに達した時点で利食いする)で終了した場合、Stop=false?(グローバル変数で停止)
この質問は、注文が if((iClose(NULL,0,1)<ma) && Stop==True) という条件によって開かれるために発生しました...
決して比較しない、正規化されていないテイク、役に立たない。ちなみにテイクオーダーの終値は テイクプライスとは異なる場合があります(リアル/デモ(オンライン))。
したがって、価格差モジュールを測定し、テスト値と比較する方がより正しい。
どのようにテストしたのか、コードを見せてください。
自分でもショックです :)))