MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1841

 
Mihail Matkovskij #:

CopyRatesが0、EMPTY_VALUE、DBL_MAXを配列ハイで 返すと思う?本気ですか?:)

もしかしたら、それが起こる例を示してくれるかもしれませんね?

そんな失敗をしたこともあります。積極的に統計を取り始めると、そうなります。

ALWAYS 他の人のデータを確認する。

このスレッドでもBid, Askが不正確になることがあると言っている件について。長いのでリンクは掘り出しませんが、そうして治りました。

 
こんにちは!お客様がソフトウェアのバグを発見されました。コードを修正し、新しいバージョンに入れました。新しいバージョンは、追加費用なしでお客様に提供されるのですか?修正したバージョンをお客様に転送したいのですが。
 
Oleksandr Nozemtsev #:
こんにちは!お客様がプログラムのバグを発見されました。コードを修正し、新しいバージョンのプログラムにアップロードしました。新バージョンは購入者に追加料金なしで提供されるのでしょうか?修正版を購入者に転送するにはどうすればよいですか?

製品をアップグレードしたばかりの場合。購入した人は、お金を払わずにアップグレードできるようになる。新製品として掲載されれば、当然、購入者/レンタル者しか利用できない。

 
Konstantin Nikitin #:

製品をアップグレードしたばかりの場合。購入された方は、お金を払わずにアップグレードできます。新製品として掲載された場合、当然ながら購入/レンタルされた方のみアップグレードが可能です。

同製品の「バージョン」タブに掲載 バージョン1.0が、2.0になりました。つまり、私の理解では、無料であるべきです。OK!アップデートの入手方法を教えてください。新しいバージョンをダウンロードし、インストールする必要はありますか?

 
Maxim Kuznetsov #:

そんな熊手を踏んでしまった。積極的に統計を取り始めると、そうなります。

必ず他人・外部データを確認する。

このスレッドでもBid, Askが不正確になることがあると言っている件について。リンク先は長いので掘り出しませんが、治りました。

オッケーです。確認するための関数を紹介します。

bool arrayCheck(const double &_values[]) {
  for (int i = 0; i < (int)_values.Size(); i++)
    if (_values[i] == 0 || _values[i] == EMPTY_VALUE || _values[i] == DBL_MAX) {
      Alert("Values incorrect! File: ", __FILE__, " Line: ", __LINE__, " ", __FUNCTION__);
      return false;
    }
  return true;
}

もし、そのようなケースを1件でもキャッチすることができたら、スレッドhttps://www.mql5.com/ru/forum/1111 に投稿してください。

あるユーザーは、テスターで間違った価格を出していたとも書いていましたから。しかし、それがわかるような例を挙げることはなかった(https://www.mql5.com/ru/forum/1111/page3131#comment_26786448)

Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2010.06.02
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
 
Mihail Matkovskij #:

こんな感じでやりました。

if(CopyLow(mSymbol,0,2,6,low)>0 && low[ArrayMinimum(low)]>CopySymb[1].low) {

皆さん、ありがとうございました。

 
Vitaly Muzichenko #:

こんな感じでやりました。

皆さん、ありがとうございました。

細かい説明。ArrayMaximum は失敗すると -1 を返すことができる。そのようなケースは、まだ考えなければなりません。空のローアレイを一旦拒否してみましょう。そして、他にどんなケースがあるのか推測するのを避けるために、こうするだけなのです。

int iMinLow;

if(CopyLow(mSymbol,0,2,6,low)>0 && (iMinLow = ArrayMinimum(low)) >= 0 && low[iMinLow]>CopySymb[1].low) {
 
Mihail Matkovskij #:

ちょっとした説明です。ArrayMaximum は失敗すると -1 を返すことができる。あとは、それがどのような失敗なのか、ということです。さっそく空のLow配列を拒否してみましょう。そして、他に何が起こるか推測できないように、このようにすればいいのです。

そして、さらに信頼性の高いものにするために。

int iMinLow;

if(CopyLow(mSymbol,0,2,6,low)>0 && (iMinLow = ArrayMinimum(low)) >= 0 && iMinLow < (int)low.Size() && low[iMinLow]>CopySymb[1].low) {
 
Vitaly Muzichenko #:

このように作りました。

皆さん、ありがとうございました。

iLowestを 利用してみてはいかがでしょうか?

 
Tretyakov Rostyslav #:

iLowestを 利用してみてはいかがでしょうか?

タスクの内容にもよりますが...。