初心者の方からの質問 MQL5 MT5 MetaTrader 5 - ページ 1350

 
Evgeny Dyuka #:

...前問の続き

Expert Advisor とインジケータを同じチャートに開くと、交換バッファの機能がありますか?
つまり、Expert Advisorがそこに何かを置き、指標がそこから何かを読み取るのです。

データベース
 
Aliaksandr Hryshyn #:
データベース
特にフレームにアップロードする場合は、これが最適なオプションです。
 

不思議な問題に遭遇しました。EA実行中、ゼロ除算により EAが終了してしまうことがある。

C (HYDR-12.21,M2)  zero divide in 'C.mqh' (1321,60)

ここでは、1321行目を紹介します。

 if( B != 0 && A/B > 1.1)

どうしてそんなことが可能なのか?なぜなら、最初の条件では " B " はゼロにならないからです。ですから、2番目のケースでもゼロによる除算はできません。それとも、チェックした条件が狂っているのでしょうか?

 
pivomoe #:

混乱した問題に直面

正しく言うと、条件は順番にチェックされます。1つ目が偽の場合、2つ目はチェックされない。

しかし、あなたの端末は文字列の60文字目で悪態をついていますが、分割は最大で17文字です。おそらく、あなたが見ているのは「C.mqh」ではないのでしょう。


また、こんな風にするのも好きです。

if(A > B*1.1)
 
Aleksei Stepanenko #:

しかし、文字列の60文字目で端末が悪態をついているわけですから、分割は最大でも17文字です。

読みやすいように文字列を変更しました。以下は原文です。

if( BestSymmaSchtrafov != 0 && IdealnaySymmaSchtrafov/BestSymmaSchtrafov > 1.1)

分割記号はちょうど60番目の位置にある。

 

条件の前に「B」字のプリントを する。何を書くのだろう?


if( BestSymmaSchtrafov != 0)
   {
   printf(BestSymmaSchtrafov);
   if(IdealnaySymmaSchtrafov/BestSymmaSchtrafov > 1.1)
       {

       }
   }
 
試してみます。しかし、残念ながらそれは現実の世界でしか火花を散らしません。しかも、ごくまれに。待つしかない...。
 
pivomoe #:
試してみます。しかし、残念ながら火花は現実の上だけ。しかも、ごくまれに。待つしかない...。

アレクセイと同じように、2ifをやっています。論理ANDのあるifaでは、以下のANDでも0による除算をキャッチしています。2 ifasで解決しました。

 
Valeriy Yastremskiy #:

そして、次のEでゼロによる除算もキャッチしていた。2つのiphが問題を解決した。

ありがとうございます。

 
すべて削除しました 気に入らないものはすべて削除しました。まだ監禁されてるんだ!
理由: