あなたはできませんが判明したが、私はそれで動作することに成功した。今、それは4つ以上の小数点以下の桁数を書くことは可能ですか?構文がどのようになるかわからない..
Originally Posted by ;Originally Posted by ;
あなたはできませんが判明したが、私はそれで動作することに成功した。今、それは4つ以上の小数点以下の桁数を書くことは可能ですか?構文がどのようになるかわからない..
Originally Posted by ;Originally Posted by ;
すみません、私はあなたの投稿を今見たばかりです。 Excelの日付は、1/1/1900からの日数として表されます。 MQL4の日付は、1970年1月1日の深夜0時以降の秒数として表されます。したがって、MQL4値をそのExcelに相当するものに変換するには、最初に86400(1日の秒数)で割り、次に25569(1/1/1900から1/11970の間の日数)を追加する必要があります。つまり、MQL4の構文は次のとおりです。datetime MT4DateValue = [任意の値]; int ExcelDateValue = MathFloor(MT4DateValue86400) 25569;この例を使用すると、2010年27月5日のMQL4値は1274918400です。これを86400で割ると14756が得られます。2569を14756に加算すると40325が得られます。Originally Posted by ;
なぜあなたが小数点以下の桁数を出力したいのかわからないが、DoubleToStr()関数を使用して任意の10進数を出力文字列に変換することができます。以下はMQL4オンラインヘルプからコピーされたものです。string DoubleToStr(double value、int digits)指定された数値を指定された精度の形式に変換したテキスト文字列を返します。パラメータ:value - 浮動小数点値。 digits - 精度フォーマット、小数点以下の桁数(0-8)サンプル:文字列値= DoubleToStr(1.28473418、5);/値は1.28473Originally Posted by ;
ハノーバーありがとう。その理由は、私がoutput_historyを実行したとき、最後の2桁を5桁のフィードに丸めることです。したがって、浮動小数点を指定したかったので、デフォルトのように丸めが行われませんでした。あなたの意見は大歓迎です。
Originally Posted by ;Originally Posted by ;
たとえば、次のようなコード行です。 i)、iVolume(ccy、tf、i))。 .csvファイルが書き込まれる場所です。小数点以下の桁数を増やすように指示するこのコマンドの実行中または実行前に発生する必要があります。御時間ありがとうございます。
それはあなたのbr0kerによって使用される小数点以下の桁数を書きます。ただし、最後の桁がゼロの場合、それらは省略されます。 1.43140は1.4314と出力されます。これは、MT4でF2を押して、History Centerで価格を確認することで確認できます。私は最初これに混乱しました。私のbr0kerはGoMarketsです、そして、私がGBPUSDのためにデータを出力するとき、D1(ファイルの一番上にある)最も古いOHLC値のすべてはわずか4桁で出ていました。一体何が起こっているのだろうか。しかし、History Centerに問い合わせると、2009年5月1日より前のOHLC値は4桁しかなかったようです。それ以降、彼らは5桁目を含めるようにMT4をアップグレードしたようです。これがあなたの問題の原因かどうか確認してください。最新のOHLC値(デフォルトの昇順出力順序を使用している場合は、これらはファイルの末尾になります)が5桁で出力されていることを確認してください。そうでなければ、もう一度投稿してください、そして私は別の解決策を見つけることを試みます。Originally Posted by ;
あなたはNormalizeDouble関数を使う必要があるでしょう。インラインで実行することもできますが、それは面倒になり始めますので、関数呼び出しを移動してそれらを変数に割り当てることをお勧めします。こんな感じ…挿入されたコードdouble dOpen = NormalizeDouble(iOpen(ccy、tf、i)、Digits);ファイルを開く関数に渡しているすべての価格に対して同じことをします。それが役立つことを願っています。ルクス