同じ動作をさせる条件において、多くの "or"(|)を避けることは可能でしょうか? - ページ 4 12345678910 新しいコメント Alexey Subbotin 2013.02.10 18:11 #31 borilunad:最も複雑な計算でも、必要なさまざまな市場データやオープンポジションを1ティックごとにチェックする機能ほど遅くなることはない。ホリエモン、MarketInfoは最悪のテスト問題の1つだ。私は通常、このような場合、可能であれば2つのブロックに分けて書き、「本物」のクエリーは実際の取引モードのときだけ作るようにしています。特に、未測定の(テスターでの)データなどに有効です。int spread; int init() { ... if(IsTesting()) { spread = MarketInfo(Symbol(),MODE_SPREAD); } ... } int start() { ... if (!IsTesting()) { spread = MarketInfo(Symbol(),MODE_SPREAD); } ... } また、ブロック if(!IsTesting()) で RefreshRates() や MODE_BID と MODE_ASK への問い合わせ(クイックビッドとアスクに置き換える)などをいろいろと送ることができるようになりました。 Boris 2013.02.10 18:26 #32 alsu:ホリエモン、MarketInfoは最悪のテスト問題の1つだ。私は通常、このような場合、可能であれば2つのブロックに分けて書き、「本物」のクエリーは実際の取引モードのときだけ作るようにしています。特に、未測定の(テスターでの)データなどに有効です。また、ブロック if(!IsTesting()) で RefreshRates() や MODE_BID と MODE_ASK への問い合わせ(クイックビッドとアスクに置き換える)などをいろいろと送ることができるようになります。 起動時にあるMarketInfo機能ではなく、アクションを起こすために必要な条件に指定されたマーケットやオープンポジションの 各種パラメータをチェックする機能のことです。しかも、BidとAskは必ず使うので、MODE_BIDとMODE_ASKは必要ない。 Boris 2013.02.10 19:29 #33 pako: パコさん、ありがとうございました。どうして当てなかったんだろう、こんなに簡単なのに!これから夕食をとり、できることをやって、通過速度を確認します。 そして、この意味がわからないのです。その数字はどこから持ってきたのですか?また、短い変数名に興味があるなら、長いものよりも短いものの方がいいですね。それとも他に?そうそう、今気づいたのですが、私の数式にcloの前とcloの後の最後に2つの括弧が追加されていましたね。そんなの全然必要ない、計算が乱れる。でも、ありがとうございました。 <--- 10,444 = 8,087 > 3,908は何語ですか? 作って、確認して、うまくいきましたが、結果はまだ私を喜ばせていません、実質的に実行の時間を減らすことができなかったのです明日は、できる限りのことをやってみる。そうすれば、何か変化があるかもしれない。 しかし、とにかく、あなたやPako、Aleksey、Victorなどのおかげで、コードを書くためのもう一つの重要な方法を学ぶことができたので、非常に感謝しています。 Igor Chemodanov 2013.02.11 06:33 #34 そんな時は関数を使います。例えば、こんな感じです。... if (Request()) Action; bool Request() { if (A) return(true); if (B) return(true); if (C) return(true); if (D) return(true); return(false); } Alexey Subbotin 2013.02.11 07:05 #35 borilunad: 私はいつもBidとAskを使っています。 その場合、RefreshRates() が必要です)。 Boris 2013.02.11 07:10 #36 icas: そんな時は関数を使います。 例えば、こんな感じです。 私の理解では、あなたはすべての条件を満たすという選択肢がありますが、私にとっては1つの条件だけで十分であり、それ以上の条件を満たしたとしても、それは非常に異なるので、ありえないことですが、1つの条件が発動されるため、そうはならないのです。もし私が間違っているならば、それを正当化してください!私はいつでも新しいことを聞くのが好きなのです。ありがとうございます。 Boris 2013.02.11 07:16 #37 alsu: その場合、RefreshRates() が必要です)。 はい、最初にRefreshRates()があるのですが、それだけでは不十分でしょうか? Alexey Subbotin 2013.02.11 07:32 #38 borilunad: はい、最初にRefreshRates()があるのですが、それだけでは不十分でしょうか? すべては、計算の実行にかかる時間次第です。この期間中に価格が更新され、AskとBidが無関係になる場合があります。したがって、取引を 実行する前(正確には、取引の価格を計算する前)に RefreshRates() を追加で呼び出すとよいでしょう。 PapaYozh 2013.02.11 07:37 #39 borilunad: はい、Startの最初にRefreshRates()を入れていますが、それだけでは不十分でしょうか? AskとBidがまだ廃止されていないため、Startの開始時にRefreshRatesを使用する意味はありません。 Boris 2013.02.11 08:26 #40 alsu: すべては、計算の実行にかかる時間次第です。この間に価格が更新され、AskとBidが無関係になる状況もあり得る。そのため、取引実行前(というか、取引価格を計算する前)に RefreshRates() を追加で呼び出すとよいでしょう。 つまり、一連の条件の前にRefreshRates()が必要なのですね。 というのも、各実行関数の中にもRefreshRates()があり、そこでエラーチェックをして、順番を繰り返して、それで十分だと思っていたのです。では、さらにRefreshRates()を入れてみて、どうなるのか見てみますありがとうございます。 そしてPap'e Yozhもありがとうございました 12345678910 新しいコメント 理由: キャンセル 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
borilunad:
最も複雑な計算でも、必要なさまざまな市場データやオープンポジションを1ティックごとにチェックする機能ほど遅くなることはない。
ホリエモン、MarketInfoは最悪のテスト問題の1つだ。私は通常、このような場合、可能であれば2つのブロックに分けて書き、「本物」のクエリーは実際の取引モードのときだけ作るようにしています。特に、未測定の(テスターでの)データなどに有効です。
また、ブロック if(!IsTesting()) で RefreshRates() や MODE_BID と MODE_ASK への問い合わせ(クイックビッドとアスクに置き換える)などをいろいろと送ることができるようになりました。
ホリエモン、MarketInfoは最悪のテスト問題の1つだ。私は通常、このような場合、可能であれば2つのブロックに分けて書き、「本物」のクエリーは実際の取引モードのときだけ作るようにしています。特に、未測定の(テスターでの)データなどに有効です。
また、ブロック if(!IsTesting()) で RefreshRates() や MODE_BID と MODE_ASK への問い合わせ(クイックビッドとアスクに置き換える)などをいろいろと送ることができるようになります。
パコさん、ありがとうございました。どうして当てなかったんだろう、こんなに簡単なのに!これから夕食をとり、できることをやって、通過速度を確認します。
そして、この意味がわからないのです。その数字はどこから持ってきたのですか?また、短い変数名に興味があるなら、長いものよりも短いものの方がいいですね。それとも他に?そうそう、今気づいたのですが、私の数式にcloの前とcloの後の最後に2つの括弧が追加されていましたね。そんなの全然必要ない、計算が乱れる。でも、ありがとうございました。
<--- 10,444 = 8,087 > 3,908は何語ですか?
作って、確認して、うまくいきましたが、結果はまだ私を喜ばせていません、実質的に実行の時間を減らすことができなかったのです明日は、できる限りのことをやってみる。そうすれば、何か変化があるかもしれない。
しかし、とにかく、あなたやPako、Aleksey、Victorなどのおかげで、コードを書くためのもう一つの重要な方法を学ぶことができたので、非常に感謝しています。
そんな時は関数を使います。
例えば、こんな感じです。
私はいつもBidとAskを使っています。
その場合、RefreshRates() が必要です)。
そんな時は関数を使います。
例えば、こんな感じです。
その場合、RefreshRates() が必要です)。
はい、最初にRefreshRates()があるのですが、それだけでは不十分でしょうか?
はい、Startの最初にRefreshRates()を入れていますが、それだけでは不十分でしょうか?
すべては、計算の実行にかかる時間次第です。この間に価格が更新され、AskとBidが無関係になる状況もあり得る。そのため、取引実行前(というか、取引価格を計算する前)に RefreshRates() を追加で呼び出すとよいでしょう。
つまり、一連の条件の前にRefreshRates()が必要なのですね。 というのも、各実行関数の中にもRefreshRates()があり、そこでエラーチェックをして、順番を繰り返して、それで十分だと思っていたのです。では、さらにRefreshRates()を入れてみて、どうなるのか見てみますありがとうございます。
そしてPap'e Yozhもありがとうございました