[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 149

 
avatara:

私は、価格を比較するときは、いつもある+/-epsilon=Point*0.01を使用しています。

1,000,000倍しても何の意味もないんだよ。

なぜ問題があるのかがよくわからない←バグ?

ドキュメントでは

digits   -   Precision format, number of digits after decimal point (0-8). 

つまり、小数点以下は最大8桁で、問題には10桁と書かれていたのですが、それが問題なのでしょうか?

 
Elenn:

double 型の 2 つの変数を比較するとき、不正な結果が得られることがあります。これは、変数の一方が他方よりわずかに(例えば10桁)大きかったり小さかったりするためと思われます。NormalizeDouble関数を使用しても、ほとんどの場合、役に立ちません。ある変数から別の変数を引くことを勧める人がいますが、その場合、ある変数から別の変数を引く式 if(a>=b) をどのように構成するのが最も正しいでしょうか。それとも、何か他の方法があるのでしょうか?

昔、自分で観察した問題を思い出しました(その頃とは何かが変わっているのかもしれませんね)。

a=5、c=4.0。

MQの観点からは、この特定のケースでa>cが正しいとは限りません。

a=5.0かつc=4.0、あるいはa=5かつc=4であれば真となる。

 

こんにちは。

1.4451と1.4429という2つの数字があるとします。

1.445[1]と1.442[9]の下一桁はどうすればいいのでしょうか?

 
TEXX:

こんにちは。

1.4451と1.4429という2つの数字があるとします。

1.445[1]と1.442[9]の下一桁はどうすればいいのでしょうか?

x = (10000 * y) % 10
 
Zhunko:
x = (10000 * y) % 10


と、バカの一つ覚えのように数字で書かれることもあるのだろうか...。

ありがとうございました!!!

 

ごきげんよう、もう一度よろしいですか?EAでMACDACをトレンドフィルターとして使用しているのですが、EAでMACDACのあるバーからだけシグナルを分析し始め、トレンドが変わるとまたすべてが変わるようにすることは可能でしょうか?例えばMAKDAK>0トレンドの始まり、ゼロより大きいMAKDAKの15バーの後にのみ信号を分析するために始める?

ありがとうございました。

 
TEXX:


数字で書けるので、バカには...。

ありがとうございました!!!


1.MQL4 Reference (MetaEditor)-->Language Basics-->Operations and Expressions-->Arithmetic Operations
2.チュートリアル→https://book.mql4.com/ru/basics/expressions
x = (10000 * 1.4451) % 10, ここで "%" は算術演算「除算の余り」(この場合は "10" による), " *" は算術演算「値の掛け算」。
 
SeALALex:

こんにちは、何度も言いますが、いいですか?EAでMACDACをトレンドフィルターとして使用していますが、EAでMACDACの特定のバーからだけシグナルを分析し始め、トレンドが変わったら、再びシグナルを分析し始めるようにすることは可能ですか?例えば、MACD>0はトレンドを開始し、ゼロより高いmacdakの第15バーの後にのみ信号を分析するために開始?

ありがとうございました。

何が問題なのか?MACDが0を超えたときのバー(時間)を覚えておき、新しいバーごとに0からどれだけ離れているかを比較します。Delta>15 の場合 => 先に進みます。

 

何が問題なのか、アドバイスをお願いします。



アバター
1
smith 2011.09.06 13:08
私はティップスターを作りました。ストラテジーでは、オープンバー価格に相対するオープンバー価格(h1)で1時間に1回注文を出すことになっています。結果のバーでテストしたときはすべてOKですが、すべてのタイムフレームでテストしたとき(しかし、実際の貿易のように)各価格の変化ですべての時間は、他の後に順序を置く!(どのように私はそれを制御することができます!)?MT4とMT4ターミナルでも試しました。このような問題に対する機能を、できれば例文付きで提案してください。
 
sergeev:

何が問題なのか、アドバイスをお願いします。



1
smith 2011.09.06 13:08
私はティップスターを作りました。ストラテジーでは、オープンバー価格に相対するオープンバー価格(h1)で1時間に1回注文を出すことになっています。結果のバーでテストしたときはすべてOKですが、すべてのタイムフレームでテストしたとき(しかし、実際の貿易のように)各価格の変化ですべての時間は、他の後に1つの順序を置く!(どのように私はそれを制御することができます!)?mt4とmt4ターミナルでも試してみました。このような問題に対する機能を、できれば例文付きで提案してください。

..All Ticks」方式でテストする場合。

グローバル変数は、最初(start()の前)に設定されます。

datetime TimeHandle = 0;

start() {
   i = 0;                        // Для Советников
   if(TimeHandle!=Time[i]) {
      TimeHandle = Time[i];

   . . . 

   }
}