PDA

View Full Version : プログラミングの問題に光を当てるために誰かが必要



頼沙也加佐羅螢
11-14-2006 19:00, 07:00 PM
こんにちは、

私は2つのことが起こっています、そして、誰かがなぜそれが起こるのか、そしてどうやってそれを乗り越えるのかを知っていれば、本当にそれを感謝するでしょう。

私は等しい値と比較しているときには、条件ファイル

例えば:

/*比較している値は動的ですが、出力して条件の結果を出力していますが、失敗することがあります*

val1 = 0.01;
val2 = 0.01。
/*時にはこれは条件が失敗した場合*
if(val1 == val2)
{
}

第2号:解決しよう

助けてくれてありがとう。
Saaedb

一樹旦燈翔勝
09-04-2021 08:03, 08:03 AM
最初のものはmtバグかもしれません。これに似たメタクォートフォーラムへの投稿があります。

Kisho
09-04-2021 09:24, 09:24 AM
これは単なる暗闇の中のショットですが、IsActiveLongPostionが等しくないことを伝える必要はありませんか。もっとそうではないでしょうか。 if(var == 1){if(X!= IsActiveLongPostion var2 gt; = varCont){CloseAllSellTrades();} if(IsTradingTime()){BuySignalGenerated(); }}}

頼沙也加佐羅螢
09-04-2021 10:45, 10:45 AM
これは単なる暗闇の中のショットですが、IsActiveLongPostionが等しくないことを伝える必要はありませんか。もっとそうではないでしょうか。 if(var == 1){if(X!= IsActiveLongPostion var2 gt; = varCont){CloseAllSellTrades();} if(IsTradingTime()){BuySignalGenerated(); }}}
それはBoolだ

頼沙也加佐羅螢
09-04-2021 12:06, 12:06 PM
最初のものはmtバグかもしれません。これに似たメタクォートフォーラムへの投稿があります。
そうではないことを願って、それは物事は​​非常に矛盾することになります。

MAKOTO JUROU
09-04-2021 13:26, 01:26 PM
最初のものについてのちょっとしたメモ。 double型に==比較を使うことは決してありません。しきい値を定義することをお勧めします。たとえば、var1-var2 lt; = 0.001の場合。 double型のパラメータは通常とても扱いにくいです。

頼沙也加佐羅螢
09-04-2021 14:47, 02:47 PM
最初のものについてのちょっとしたメモ。 double型に==比較を使うことは決してありません。しきい値を定義することをお勧めします。たとえば、var1-var2 lt; = 0.001の場合。 double型のパラメータは通常とても扱いにくいです。
Aparsai、実際にはif(dblVal1 - dblVal2 gt; = ThreshHold)を実行していますが、それよりも大きい値を2つのif条件に分割してみました。私は8年以上前からプログラミングをしてきたので、私は愚かなことをしていないと確信しています。それはMTのバグなのか、それともMTに関するものなのか私が知らないフローを制御します。そしてその問題は断続的です。 50回のチェックごとに、カップルが失敗する可能性があります。

MAKOTO JUROU
09-04-2021 16:08, 04:08 PM
Aparsai、実際にはif(dblVal1 - dblVal2 gt; = ThreshHold)を実行していますが、それよりも大きい値を2つのif条件に分割してみました。私は8年以上前からプログラミングをしてきたので、私は愚かなことをしていないと確信しています。それはMTのバグなのか、それともMTに関するものなのか私が知らないフローを制御します。そしてその問題は断続的です。 50回のチェックごとに、カップルが失敗する可能性があります。
私は非常にうるさいかもしれませんが、MT4は明らかに括弧の使用に非常に敏感です。次のように1組の括弧を追加することをお勧めします。if((dblVal1 - dblVal2)gt; = ThreshHold)ところで、私はあなたが提供した情報に基づいてそのコメントを配置しました。入力した内容に基づいて同じことをしています。幸運、アル

頼沙也加佐羅螢
09-04-2021 17:29, 05:29 PM
私は非常にうるさいかもしれませんが、MT4は明らかに括弧の使用に非常に敏感です。次のように1組の括弧を追加することをお勧めします。if((dblVal1 - dblVal2)gt; = ThreshHold)ところで、私はあなたが提供した情報に基づいてそのコメントを配置しました。入力した内容に基づいて同じことをしています。幸運、アル
括弧はそこにあります、そして私が言ったように、それは間欠的です。ここで、この1分足チャートで走ってみてください。アラート(MathAbs、MathAbs(Open [1] - 閉じる[1])、Open、Open [1]、閉じる、閉じる[1]、Condition、MathAbs(Open [1] - 閉じる) [1])gt; = 1 *ポイント); if(MathAbs(Open [1] - Close [1])gt; = 1 * Point){Alert(Here);私はテストのために同じことをしていて、30分毎に一度はそれがチェックを逃します。私の実際の状態はVal1 = 1.800のように見えますVal2 = 1.799 ThreshHold = 1(MathAbs(Val1 - Val2)gt; = MathAbs(ThreshHold * Point)){}ここで唯一の問題は、私がThreshHold値を設定していることです。 EAのプロパティの入力タブにあります。

Hiriko
09-04-2021 18:49, 06:49 PM
最初のものはmtバグかもしれません。これに似たメタクォートフォーラムへの投稿があります。
バグではなく、単なる浮動小数点です。詳細については、ダブルを比較してください。

頼沙也加佐羅螢
09-04-2021 20:10, 08:10 PM
バグではなく、単なる浮動小数点です。詳細については、ダブルを比較してください。
ダブルスを正規化することはあなたが話している問題の面倒を見る。そして私はそれらを正規化しています。

介杜椿友美
09-04-2021 21:31, 09:31 PM
ダブルスを正規化することはあなたが話している問題の面倒を見る。そして私はそれらを正規化しています。
いくつかのアイデア - 10の10乗(あなたが正確に小数点以下の桁数を知っていて、整数演算であなたがしたいことをしたことがあるなら) - それを文字列に変換して欲しい部分を比較する

頼沙也加佐羅螢
09-04-2021 22:52, 10:52 PM
いくつかのアイデア - 10の10乗(あなたが正確に小数点以下の桁数を知っていて、整数演算であなたがしたいことをしたことがあるなら) - それを文字列に変換して欲しい部分を比較する
今、私はこの問題を解決するためにそれをPointで割っています。しかしそれでも、それがMQLのバグなのか、それとも私が何かを見逃していたのかを知っておくといいでしょう。