-Alexey-: Это было бы логично, но сейчас операция ">" ("<" не проверял) может возвращать результ true для таких чисел "равных в смысле машинного нуля". Обнаружился эффект т.к. результат численного расчета получился больше теоретически возможного в результате такого эффекта, а после использования спец. функций, что выше - стал правильным. Поэтому и предлагаю ввести дополнение в справку.
-Alexey-:
Это было бы логично, но сейчас операция ">" ("<" не проверял) может возвращать результ true для таких чисел "равных в смысле машинного нуля". Обнаружился эффект т.к. результат численного расчета получился больше теоретически возможного в результате такого эффекта, а после использования спец. функций, что выше - стал правильным. Поэтому и предлагаю ввести дополнение в справку.
私の知識は表面的なものなので、おっしゃることを評価することはできませんが。サービスデスクに 連絡すれば、調査してくれるでしょう。
Developerc - お疲れ様です - mt5は良いツールです。
関数を使った作業例をもっと増やしたい。
クラスなどもちろん、ヘルプでそれを行うには - 理想的な、しかし、あまりにもここで
でも、ここならいいんじゃないでしょうか。
例を挙げて記事を書いてくださる方に感謝します。ありがとうございました。
とりあえず、このファイルを例にとって説明します。
CSignalCustomMACDクラスは、CSignalMACDと全く同じですが、標準配布のインジケータの「カスタム」バージョンをベースにしているという点が異なります。
Expert Advisorのソースコードに一行追加することを忘れないでください。
でないと、テスターで動作しません。
IndicatorsExamples フォルダに MACD.ex5 ファイルがない場合、インジケータをコンパイルする必要があります。
近日中にヘルプに例を追加する予定です。
これなら納得ですが、今度は操作の">"("<" はチェックしませんでした) は、"マシンゼロの意味で等しい" 数に対して真を返すかもしれません。この効果により数値計算の結果が理論上可能な値よりも大きくなっていたため検出されましたが、上記の特殊な関数を使用した後は真となりました。そこで、ヘルプの追加を提案します。
すべての比較でDBL_EPSILONを使用するだけで、難しいことではありません。
価格を扱う場合は、計算後に正規化し、DBL_EPSILONの代わりにPoint/2.0を使用します。
FileReadArray 関数で配列を読み込むと、ファイルが開かれ、データも入っているのに、なぜかうまくいきません。
FileReadArray 関数で配列を読み込むと、ファイルが開かれ、データも入っているのに、なぜかうまくいきません。
まず、同じようにファイルにデータを書き込みますが、フォーマットをご覧ください...
そして、読む...
まず、同じようにデータをファイルに書き込みますが、フォーマットをご覧ください...
そして、読む...
OnCalculated インジケータやExpert AdvisorのOnInitでFileWriteを使って1行ずつデータを書き込んでいます。
その結果、ファイルは数字の羅列になる。
10000
10000
9996.85
10005.25
10023.4
10029.7
もちろん、配列全体も書けるのですが、なぜ無駄なステップを踏む必要があるのか、ここで何が間違いなのか?
ドキュメントには、これに関する制限事項が見つかりませんでした。
OnCalculatedインジケータやExpert AdvisorのOnInitにFileWriteで一行ずつデータを書き込んでいます。
その結果、ファイルは数字の羅列になる。
10000
10000
9996.85
10005.25
10023.4
10029.7
もちろん、配列ごと書くこともできますが、なぜ余計なことをする必要があるのか、また、ここでのエラーは何でしょうか。
この件に関する制限事項は、ドキュメントには見当たりませんでした。
FileReadArray 関数で配列を読み込むと、ファイルが開かれ、データも入っているのに、なぜかうまくいきません。
ヘルプより
FileReadArray
バイナリ ファイルから、文字列配列(文字列を含まない構造体の配列、動的配列でも可)以外の任意の型の配列を、ファイルポインタの現在位置から読み込む。