PrintFormat

シンボルと値のセットをフォーマットし、事前に設定されたフォーマットに従ってExpert Advisorログに入力します。

void   PrintFormat string format_string 、    // format string    … //単純型の値   );
    
                     

パラメーター

format_string

[in]フォーマット文字列は単純なシンボルで構成され、フォーマット文字列の後に引数が続く場合、フォーマット仕様も含まれます。

[入力]カンマで区切られた単純型の値。パラメータの総数は、フォーマット文字列を含めて64を超えることはできません。

戻り値

文字列。

注意

Strategy Testerでの最適化中にPrintFormat()関数は機能しません。

パラメーターの数、順序、およびタイプは、修飾子のセットと正確に一致する必要があります。そうでない場合、印刷結果は未定義です。PrintFormat()の代わりに、printf ()を使用できます

フォーマット文字列の後にパラメータが続く場合、この文字列には、これらのパラメータの出力フォーマットを示すフォーマット仕様が含まれている必要があります。フォーマットの指定は、常にパーセント記号(%)で始まります。

フォーマット文字列は左から右に読み取られます。最初のフォーマット仕様が満たされている場合(ある場合)、フォーマット文字列の後の最初のパラメーターの値は、プリセット仕様に従って変換および出力されます。2番目のフォーマット仕様は、2番目のパラメーターの変換と出力を呼び出し、フォーマット文字列が終了するまで続きます。

形式仕様の形式は次のとおりです。            

          %[flags] [width] [。precision] [{h | l | ll | I32 | I64}]タイプ

フォーマット仕様の各フィールドは、単純なシンボル、または単純なフォーマットオプションを示す数字のいずれかです。最も単純な形式仕様には、パーセント記号(%)と、出力パラメーターのタイプを定義する記号(たとえば、%s)のみが含まれます。書式文字列でパーセント記号を出力する必要がある場合は、書式仕様%%を使用します。

 

説明

デフォルトの動作

—(マイナス)

設定された幅内の左揃え

正当化

+(プラス)

符号タイプの値の+または-符号の出力

値が負の場合にのみ符号が表示されます

0(ゼロ)

プリセット内の出力値の前にゼロが追加されます。場合フラグは整数形式で指定されている(Xは)及び精度仕様(例えば、%04.d)に設定され、次いで、0は無視されます。

何も追加されません

スペース

符号および正の値の場合、出力値の前にスペースが表示されます

スペースは挿入されません

フォーマットまたはとともに使用する場合、出力値の前にそれぞれ0、0xまたは0Xが追加されます。

何も追加されません

 

フォーマットa、またはとともに使用すると、値は常に小数点付きで表示されます。

小数点は、非ゼロの小数部がある場合にのみ表示されます。

 

形式またはと共に使用する場合、flagは出力値に小数点の存在を定義し、先行ゼロの切り捨てを防ぎます。

フラグ#は、フォーマットと一緒に使用すると無視されます

小数点は、非ゼロの小数部がある場合にのみ表示されます。先行ゼロは切り捨てられます。

フォーマットされた値の出力シンボルの最小数を設定する負でない10進数。出力シンボルの数が指定された幅より少ない場合、対応する数のスペースが、配置(フラグ—)に応じて左または右から追加されます。フラグゼロ(0)がある場合、対応する数のゼロが出力値の前に追加されます。出力シンボルの数が指定された幅より大きい場合、出力値は切り捨てられません。

アスタリスク(*)が幅として指定されている場合、int型の値は、渡されたパラメーターのリストの対応する場所に示される必要があります。出力値の幅を指定するために使用されます。

精度

出力精度を設定する負でない10進数-小数点以下の桁数。幅の指定とは異なり、精度の指定では、丸めの有無にかかわらず、分数型の部分を切り捨てることができます。

精度仕様の使用は異なった形式タイプで異なります。

タイプ

説明

デフォルトの動作

a、A

精度仕様は、小数点以下の桁数を設定します。

デフォルトの精度— 6。

c、C

使用されていない

 

d、i、u、o、x、X

出力桁の最小数を設定します。対応するパラメーターの桁数がこの精度よりも小さい場合、出力値の左側にゼロが追加されます。出力桁数が指定された精度よりも大きい場合、出力値は切り捨てられません。

デフォルトの精度— 1。

e、E、f

小数点以下の出力桁数を設定します。最後の桁は四捨五入されます。

デフォルトの精度— 6.設定された精度が0であるか、小数部がない場合、小数点は表示されません。

g、G

意味のある数字の最大数を設定します。

6つの意味のある数字が出力されます。

s、S

文字列の出力シンボルの数を設定します。文字列の長さが精度を超える場合、文字列は切断されます。

文字列全体が出力されます。

h | l | ll | I32 | I64

パラメーターとして渡されるデータサイズの指定。

Parameter Type

Used Prefix

Joint Specifier of Type

int

l (lower case L)

d, i, o, x, or X

uint

l (lower case L)

o, u, x, or X

long

ll (two lower case L)

d, i, o, x, or X

short

h

d, i, o, x, or X

ushort

h

o, u, x, or X

int

I32

d, i, o, x, or X

uint

I32

o, u, x, or X

long

I64

d, i, o, x, or X

ulong

I64

o, u, x, or X

タイプ

型指定子は、フォーマットされた出力の唯一の必須フィールドです。

Symbol

Type

Output Format

c

int

Symbol of short type (Unicode)

C

int

Symbol of char type (ANSI)

d

int

Signed decimal integer

i

int

Signed decimal integer

o

int

Unsigned octal integer

u

int

Unsigned decimal integer

x

int

Unsigned hexadecimal integer, using “abcdef”

X

int

Unsigned hexadecimal integer, using “ABCDEF”

e

double

A real value in the format [-] d.dddde[sign] ddd, where d – one decimal digit, dddd – one or more decimal digits, ddd – a three-digit number that determines the size of the exponent, sign – plus or minus

E

double

Similar to the format of e, except that the sign of exponent is output by upper case letter (E instead of e)

f

double

A real value in the format [-] dddd.dddd, where dddd – one or more decimal digits. Number of displayed digits before the decimal point depends on the size of number value. Number of digits after the decimal point depends on the required accuracy.

g

double

A real value output in f or format depending on what output is more compact.

G

double

A real value output in F or format depending on what output is more compact.

a

double

A real number in format [−]0xh.hhhh p±dd, where h.hhhh — mantissa in the form of hexadecimal digits, using “abcdef”, dd – One or more digits of exponent. Number of decimal places is determined by the accuracy specification

A

double

A real number in format [−]0xh.hhhh P±dd, where h.hhhh — mantissa in the form of hexadecimal digits, using “ABCDEF”, dd – One or more digits of exponent. Number of decimal places is determined by the accuracy specification

s

string

String output

PrintFormat()の代わりに、printf ()を使用できます

Leave a Reply

Your email address will not be published. Required fields are marked *

CAPTCHA


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">