CharToString
シンボルコードを1文字の文字列に変換します。
string CharToString( uchar char_code ); |
パラメータ
char_code
[in] ANSI シンボルのコード
戻り値
参照
StringToCharArray, ShortToString, StringGetCharacter
CharArrayToString
uchar 型の配列の一部を複製して戻り値の文字列に変換します。
string CharArrayToString( uchar array[], int start=0, int count=-1 uint codepage=CP_ACP ); |
パラメータ
array[]
[in] uchar 型の配列。
start=0
[in] コピー開始位置。デフォルトでは 0。
count=-1
[in] 複製する要素数。結果の文字列の長さを定義します。初期値は、配列の最後または終了する 0まで複製することを意味する -1 です。
codepage=CP_ACP
[in] コードページの値。よく使用されるコードページでは、内蔵された定数がいくつもあります。
戻り値
参照
StringToCharArray, ShortArrayToString, コードページの利用
CharArrayToStruct
uchar型の配列をPOD structureにコピーします。
bool CharArrayToStruct( void& struct_object, const uchar& char_array[], uint start_pos=0 ); |
パラメータ
struct_object
[in] 任意の型のPOD構造体への参照(単純なデータ型のみを含む)
char_array[]
[in] uchar型の配列。
start_pos=0
[in] 配列内のデータコピーが始まる位置
戻り値
参照
StringToCharArray、 ShortArrayToString、 StructToCharArray、コードページの使用、 FileReadStruct、 ユニオン(union)、 MathSwap
StructToCharArray
POD構造体をuchar型配列にコピーします。
bool StructToCharArray( const void& struct_object, uchar& char_array[], uint start_pos=0 ); |
パラメータ
struct_object
[in] 任意の型のPOD構造体への参照(単純なデータ型のみを含む)
char_array[]
[in] uchar型の配列。
start_pos=0
[in] コピーされたデータを追加する配列内の位置。
戻り値
注意事項
参照
StringToCharArray、 ShortArrayToString、CharArrayToStruct、Use of a Codepage、 FileWriteStruct、Unions (union)、MathSwap
ColorToARGB
この関数は color 型を uint 型に変換し色の ARGB 表現を取得します。ARGB カラー形式は グラフィックリソースやテキスト表示に使用され、CCanvas 標準ライブラリクラスにも使用されます。
uint ColorToARGB( color clr, uchar alpha=255 ); |
パラメータ
clr
[in] color 型変数のカラー値。
alpha
[in] ARGB 形式で色を受け取るためのアルファチャンネルの値。値は 0 (前景ピクセル色は基礎ピクセル色の表示に影響しない)から 255(基本ピクセル色が完全に前景ピクセル色で置き換えられる)までです。百分率での色の透明度は (1-alpha/255)*100% のように計算されます。つまり、アルファチャンネルの小さい値は、より透明な色につながります。
戻り値
注意事項
例:
//+——————————————————————+ //| スクリプトプログラムを開始する関数 | //+——————————————————————+ void OnStart() { //— 透明度を設定する uchar alpha=0x55; // 0x55 は 55/255=21.6 % 透明度を意味する //— clrBlue 色のために、ARGBへの変換を導き出す PrintFormat("0x%.8X – clrBlue",clrBlue); PrintFormat("0x%.8X – clrBlue ARGB with alpha=0x55 (transparency 21.6%%)",ColorToARGB(clrBlue,alpha)); //— clrGreen 色のために、ARGB への変換を導き出す PrintFormat("0x%.8X – clrGreen",clrGreen); PrintFormat("0x%.8X – clrGreen ARGB with alpha=0x55 (transparency 21.6%%)",ColorToARGB(clrGreen,alpha)); //— clrRed 色のために、ARGB への変換を導き出す PrintFormat("0x%.8X – clrRed",clrRed); PrintFormat("0x%.8X – clrRed ARGB with alpha=0x55 (transparency 21.6%%)",ColorToARGB(clrRed,alpha)); } |
参照
リソース、ResourceCreate()、TextOut()、color 型, char、short、int 及び long 型
ColorToString
color 値を「R,G,B」の文字列に変換します。
string ColorToString( color color_value, bool color_name ); |
パラメータ
color_value
[in] color 型変数のカラー値。
color_name
[in] 色の名称が事前に定義された color 定数 と同じ場合は色の名称を返します。
戻り値
例:
string clr=ColorToString(C'0,255,0'); // 緑 Print(clr); clr=ColorToString(C'0,255,0',true); // カラー定数を取得 Print(clr); |
参照
StringToColor, ColorToARGB
DoubleToString
数値をテキスト文字列に変換します。
string DoubleToString( double value, int digits=8 ); |
パラメータ
value
[in] 浮動小数点を持つ値
digits
[in] 精度フォーマット。digits 値が 0 から 16 の間の場合、指定された小数点以下の桁数で数値の文字列表現が取得されます。digits 値が -1 から -16 の間の場合、指定された小数点以下の桁数で数値の科学表記での文字列が表現取得されます。それ以外の場合では全て、文字列値には小数点以下8桁が含まれます。
戻り値
例:
Print("DoubleToString(120.0 + M_PI) : ",DoubleToString(120.0+M_PI)); Print("DoubleToString(120.0 + M_PI,16) : ",DoubleToString(120.0+M_PI,16)); Print("DoubleToString(120.0 + M_PI,-16) : ",DoubleToString(120.0+M_PI,-16)); Print("DoubleToString(120.0 + M_PI,-1) : ",DoubleToString(120.0+M_PI,-1)); Print("DoubleToString(120.0 + M_PI,-20) : ",DoubleToString(120.0+M_PI,-20)); |
参照
NormalizeDouble、StringToDouble
EnumToString
任意型の列挙値を文字列に変換します。
string EnumToString( any_enum value ); |
パラメータ
value
[in] 任意型の列挙値
戻り値
注意事項
- ERR_INTERNAL_ERROR – 実行環境のエラー
- ERR_NOT_ENOUGH_MEMORY – メモリが操作完了に不充分
- ERR_INVALID_PARAMETER – 列挙値の名称が使用不可能
例:
enum interval // 名前付き定数の列挙 { month=1, // 1 ヶ月の間隔 two_months, // 2 ヶ月 quarter, // 3 ヶ月(四半期) halfyear=6, // 半年 year=12, // 1 年( 12ヶ月) }; //+——————————————————————+ //| スクリプトプログラムを開始する関数 | //+——————————————————————+ void OnStart() { //— 時間間隔を 1 ヶ月に設定する interval period=month; Print(EnumToString(period)+"="+IntegerToString(period)); //— 時間間隔を四半期(3 ヶ月)に設定する period=quarter; Print(EnumToString(period)+"="+IntegerToString(period)); //— 時間間隔を 1 年(12ヶ月)に設定する period=year; Print(EnumToString(period)+"="+IntegerToString(period)); //— 注文の種類の表示をチェックする ENUM_ORDER_TYPE type=ORDER_TYPE_BUY; Print(EnumToString(type)+"="+IntegerToString(type)); //— 不正な値の表示をチェックする type=WRONG_VALUE; Print(EnumToString(type)+"="+IntegerToString(type)); // 結果: // month=1 // quarter=3 // year=12 // ORDER_TYPE_BUY=0 // ENUM_ORDER_TYPE::-1=-1 } |
参照
列挙、入力変数
IntegerToString
この関数は、整数型の値を指定された長さの文字列に変換し、取得された文字列を返します。
string IntegerToString( long number, int str_len=0, ushort fill_symbol=' ' ); |
パラメータ
number
[in] 変換される数
str_len=0
[in] 文字列の長さ。結果の文字列が指定より長い場合、文字列は短くされません。結果の文字列が指定より短い場合には、フィラーシンボルが左側に追加されます。
fill_symbol=' '
[in] フィラーシンボル。デフォルトではスペース。
戻り値
参照
StringToInteger
ShortToString
Unicode シンボルコードを 1 シンボルの文字列に変換して返します。
string ShortToString( ushort symbol_code ); |
パラメータ
symbol_code
[in] シンボルコード。シンボルコードの代わりに、シンボルまたは Unicode の表にある 2 バイトの16 進コードの文字列を含むリテラル文字列を使用することが出来ます。
戻り値
参照
StringToCharArray, CharToString, StringGetCharacter
ShortArrayToString
配列の一部を戻り値の文字列に複製します。
string ShortArrayToString( ushort array[], int start=0, int count=-1 ); |
パラメータ
array[]
[in] ushort 型の配列(wchar_t type 型のアナログ)
start=0
[in] コピー開始位置。デフォルトは 0。
count=-1
[in] 複製する配列要素数。結果の文字列の長さを定義します。初期値は、配列の最後または終了する 0まで複製することを意味する -1 です。
戻り値
参照
StringToShortArray, CharArrayToString, コードページの利用
TimeToString
1970年1月1日からの経過秒を含む値を「yyyy.mm.dd hh:mi 」フォーマットの文字列に変換します。
string TimeToString( datetime value, int mode=TIME_DATE|TIME_MINUTES ); |
パラメータ
value
[in] 01.01.1970 から経った秒数
mode=TIME_DATE|TIME_MINUTES
[[in] 任意のデータ入力モード。フラグまたはフラグの組み合わせです。
TIME_DATE の結果は "yyyy.mm.dd"、
TIME_MINUTES の結果は "hh:mi"、
TIME_SECONDS の結果は "hh:mi:ss" です。
戻り値
参照
StringToTime, TimeToStruct
NormalizeDouble
浮動小数点数を指定された精度に丸めます。
double NormalizeDouble( double value, int digits ); |
パラメータ
value
[in] 浮動小数点を持つ値
digits
[in] 精度フォーマット。0~8 の小数点以下の桁数。
戻り値
注意事項
double a=76.671; // 小数点以下3桁の正規化数 Print("Print(76.671)=",a); // そのまま出力 Print("DoubleToString(a,8)=",DoubleToString(a,8)); // 事前定義された精度で出力 |
例:
double pi=M_PI; Print("pi = ",DoubleToString(pi,16)); double pi_3=NormalizeDouble(M_PI,3); Print("NormalizeDouble(pi,3) = ",DoubleToString(pi_3,16)) ; double pi_8=NormalizeDouble(M_PI,8); Print("NormalizeDouble(pi,8) = ",DoubleToString(pi_8,16)); double pi_0=NormalizeDouble(M_PI,0); Print("NormalizeDouble(pi,0) = ",DoubleToString(pi_0,16)); /* 結果: pi= 3.1415926535897931 NormalizeDouble(pi,3)= 3.1419999999999999 NormalizeDouble(pi,8)= 3.1415926499999998 NormalizeDouble(pi,0)= 3.0000000000000000 */ |
参照
DoubleToString、Real 型(double、float)、型の削減
StringToCharArray
Unicode から ANSI に変換された文字列をシンボルごとに uchar 型の配列の指定された一部に複製します。複製された要素の数が返されます。
int StringToCharArray( string text_string, uchar& array[], int start=0, int count=-1 uint codepage=CP_ACP ); |
パラメータ
text_string
[in] 複製する文字列
array[]
[out] uchar 型の配列
start=0
[in] コピー開始位置。デフォルトでは 0。
count=-1
[in] 複製する配列要素数。結果の文字列の長さを定義します。初期値は、配列の最後または終了する 0まで複製することを意味する -1 です。文字列を終了する 0 は受け取り側の配列に複製され、動的配列のサイズは文字列のサイズに応じて増加出来ます。動的配列のサイズはが文字列の長さを超える場合は、配列のサイズは縮小されません。
codepage=CP_ACP
[in] コードページの値。よく使用される コードページ では定数が提供されています。
戻り値
参照
CharArrayToString, StringToShortArray, コードページの利用
StringToColor
「R,G,B」の文字列またはカラー名を含む文字列を color 型の値に変換します。
color StringToColor( string color_string ); |
パラメータ
color_string
[in] 「R,G,B」型の色、または、事前定義されたウェブカラーの名称の文字列表現
戻り値
例:
color str_color=StringToColor("0,127,0"); Print(str_color); Print((string)str_color); //— 色を少し変更する str_color=StringToColor("0,128,0"); Print(str_color); Print((string)str_color); |
参照
ColorToString, ColorToARGB
StringToDouble
この関数は数のシンボル表現を含む文字列を double 型の数値に変換します。
double StringToDouble( string value ); |
パラメータ
value
[in] 数のシンボル表現を含む文字列
戻り値
参照
NormalizeDouble, Real 型(double、float)、型の削減
StringToInteger
この関数は数のシンボル表現を含む文字列を int(整数)型の数値に変換します。
long StringToInteger( string value ); |
パラメータ
value
[in] 数を含む文字列
戻り値
参照
IntegerToString, Real 型(double、float)、型の削減
StringToShortArray
この関数は文字列をシンボルごとに ushort 型の配列の指定された部分にコピーし、 複製された要素の数を返します。
int StringToShortArray( string text_string, ushort& array[], int start=0, int count=-1 ); |
パラメータ
text_string
[in] 複製する文字列
array[]
[out] ushort 型の配列(wchar_t type 型のアナログ)
start=0
[in] コピー開始位置。デフォルトでは 0。
count=-1
[in] 複製する配列要素数。結果の文字列の長さを定義します。初期値は、配列の最後または終了する 0まで複製することを意味する -1です。最後の 0 も受け取り側の配列に複製され、動的配列のサイズは文字列のサイズに応じて増加出来ます。動的配列のサイズはが文字列の長さを超える場合は、配列のサイズは縮小されません。
戻り値
参照
ShortArrayToString, StringToCharArray, コードページの利用
StringToTime
"yyyy.mm.dd [hh:mi]”形式の時刻および/または日付を含む文字列を日時型の数値に変換します。
datetime StringToTime( const string time_string ); |
パラメータ
time_string
[in] 次のいずれかで指定された形式での文字列:
- "yyyy.mm.dd [hh:mi]"
- "yyyy.mm.dd [hh:mi:ss]"
- "yyyymmdd [hh:mi:ss]"
- "yyyymmdd [hhmiss]"
- "yyyy/mm/dd [hh:mi:ss]"
- "yyyy-mm-dd [hh:mi:ss]"
戻り値
注意事項
参照
TimeToString、TimeToStruct
StringFormat
この関数は、取得されたパラメータをフォーマットして文字列として返します。
string StringFormat( string format, … … ); |
パラメータ
フォーマットでありません。
[in] フォーマット方法を含む文字列。フォーマットの規則は PrintFormat 関数の場合と同じです。
…
[in] コンマで区切られたパラメータ
戻り値
例:
void OnStart() { //– 文字列変数 string output_string; string temp_string; string format_string; //— ヘッダを準備 temp_string=StringFormat("Contract specification for %s:n",_Symbol); StringAdd(output_string,temp_string); //— int 値の出力 int digits=(int)SymbolInfoInteger(_Symbol,SYMBOL_DIGITS); temp_string=StringFormat(" SYMBOL_DIGITS = %d (number of digits after the decimal point)n", digits); StringAdd(output_string,temp_string); //— double 値の出力(小数点以下の桁数は変動) double point_value=SymbolInfoDouble(_Symbol,SYMBOL_POINT); format_string=StringFormat(" SYMBOL_POINT = %%.%df (point value)n", digits); temp_string=StringFormat(format_string,point_value); StringAdd(output_string,temp_string); //— int value output int spread=(int)SymbolInfoInteger(_Symbol,SYMBOL_SPREAD); temp_string=StringFormat(" SYMBOL_SPREAD = %d (current spread in points)n", spread); StringAdd(output_string,temp_string); //— int 値の出力 int min_stop=(int)SymbolInfoInteger(_Symbol,SYMBOL_TRADE_STOPS_LEVEL); temp_string=StringFormat(" SYMBOL_TRADE_STOPS_LEVEL = %d (minimal indention in points for Stop orders)n", min_stop); StringAdd(output_string,temp_string); //— double (分数部なし) double contract_size=SymbolInfoDouble(_Symbol,SYMBOL_TRADE_CONTRACT_SIZE); temp_string=StringFormat(" SYMBOL_TRADE_CONTRACT_SIZE = %.f (contract size)n", contract_size); StringAdd(output_string,temp_string); //— デフォルト精度での double 値の出力 double tick_size=SymbolInfoDouble(_Symbol,SYMBOL_TRADE_TICK_SIZE); temp_string=StringFormat(" SYMBOL_TRADE_TICK_SIZE = %f (minimal price change)n", tick_size); StringAdd(output_string,temp_string); //— スワップ計算モードの決定 int swap_mode=(int)SymbolInfoInteger(_Symbol,SYMBOL_SWAP_MODE); string str_swap_mode; switch(swap_mode) { case SYMBOL_SWAP_MODE_DISABLED: str_swap_mode="SYMBOL_SWAP_MODE_DISABLED (no swaps)"; break; case SYMBOL_SWAP_MODE_POINTS: str_swap_mode="SYMBOL_SWAP_MODE_POINTS (in points)"; break; case SYMBOL_SWAP_MODE_CURRENCY_SYMBOL: str_swap_mode="SYMBOL_SWAP_MODE_CURRENCY_SYMBOL (in money, in base currency of the symbol)"; break; case SYMBOL_SWAP_MODE_CURRENCY_MARGIN: str_swap_mode="SYMBOL_SWAP_MODE_CURRENCY_MARGIN (in money, in margin currency of the symbol)"; break; case SYMBOL_SWAP_MODE_CURRENCY_DEPOSIT: str_swap_mode="SYMBOL_SWAP_MODE_CURRENCY_DEPOSIT (in money, in client deposit currency)"; break; case SYMBOL_SWAP_MODE_INTEREST_CURRENT: str_swap_mode="SYMBOL_SWAP_MODE_INTEREST_CURRENT (as the specified annual interest from the instrument price at calculation of swap)"; break; case SYMBOL_SWAP_MODE_INTEREST_OPEN: str_swap_mode="SYMBOL_SWAP_MODE_INTEREST_OPEN (as the specified annual interest from the position open price)"; break; case SYMBOL_SWAP_MODE_REOPEN_CURRENT: str_swap_mode="SYMBOL_SWAP_MODE_REOPEN_CURRENT (by reopening positions by the close price +/- specified number of points)"; break; case SYMBOL_SWAP_MODE_REOPEN_BID: str_swap_mode="SYMBOL_SWAP_MODE_REOPEN_BID (by reopening positions by the current Bid price +/- specified number of points)"; break; } //— 文字列値の出力 temp_string=StringFormat(" SYMBOL_SWAP_MODE = %sn", str_swap_mode); StringAdd(output_string,temp_string); //— デフォルト精度でのdouble 値の出力 double swap_long=SymbolInfoDouble(_Symbol,SYMBOL_SWAP_LONG); temp_string=StringFormat(" SYMBOL_SWAP_LONG = %f (long swap value)n", swap_long); StringAdd(output_string,temp_string); //— デフォルト精度でのdouble 値の出力 double swap_short=SymbolInfoDouble(_Symbol,SYMBOL_SWAP_SHORT); temp_string=StringFormat(" SYMBOL_SWAP_SHORT = %f (short swap value)n", swap_short); StringAdd(output_string,temp_string); //— 取引モードの決定 int trade_mode=(int)SymbolInfoInteger(_Symbol,SYMBOL_TRADE_MODE); string str_trade_mode; switch(trade_mode) { case SYMBOL_TRADE_MODE_DISABLED: str_trade_mode="SYMBOL_TRADE_MODE_DISABLED (trade is disabled for the symbol)"; break; case SYMBOL_TRADE_MODE_LONGONLY: str_trade_mode="SYMBOL_TRADE_MODE_LONGONLY (only long positions are allowed)"; break; case SYMBOL_TRADE_MODE_SHORTONLY: str_trade_mode="SYMBOL_TRADE_MODE_SHORTONLY (only short positions are allowed)"; break; case SYMBOL_TRADE_MODE_CLOSEONLY: str_trade_mode="SYMBOL_TRADE_MODE_CLOSEONLY (only position close operations are allowed)"; break; case SYMBOL_TRADE_MODE_FULL: str_trade_mode="SYMBOL_TRADE_MODE_FULL (no trade restrictions)"; break; } //— 文字列値の出力 temp_string=StringFormat(" SYMBOL_TRADE_MODE = %sn", str_trade_mode); StringAdd(output_string,temp_string); //— コンパクトな形式での double 値の出力 double volume_min=SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MIN); temp_string=StringFormat(" SYMBOL_VOLUME_MIN = %g (minimal volume for a deal)n",volume_min); StringAdd(output_string,temp_string); //— コンパクトな形式での double 値の出力 double volume_step=SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_STEP); temp_string=StringFormat(" SYMBOL_VOLUME_STEP = %g (minimal volume change step)n",volume_step); StringAdd(output_string,temp_string); //— コンパクトな形式での double 値の出力 double volume_max=SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MAX); temp_string=StringFormat(" SYMBOL_VOLUME_MAX = %g (maximal volume for a deal)n",volume_max); StringAdd(output_string,temp_string); //— 契約金計算モードの決定 int calc_mode=(int)SymbolInfoInteger(_Symbol,SYMBOL_TRADE_CALC_MODE); string str_calc_mode; switch(calc_mode) { case SYMBOL_CALC_MODE_FOREX:str_calc_mode="SYMBOL_CALC_MODE_FOREX (Forex)";break; case SYMBOL_CALC_MODE_FUTURES:str_calc_mode="SYMBOL_CALC_MODE_FUTURES (futures)";break; case SYMBOL_CALC_MODE_CFD:str_calc_mode="SYMBOL_CALC_MODE_CFD (CFD)";break; case SYMBOL_CALC_MODE_CFDINDEX:str_calc_mode="SYMBOL_CALC_MODE_CFDINDEX (CFD for indices)";break; case SYMBOL_CALC_MODE_CFDLEVERAGE:str_calc_mode="SYMBOL_CALC_MODE_CFDLEVERAGE (CFD at leverage trading)";break; case SYMBOL_CALC_MODE_EXCH_STOCKS:str_calc_mode="SYMBOL_CALC_MODE_EXCH_STOCKS (trading securities on a stock exchange)";break; case SYMBOL_CALC_MODE_EXCH_FUTURES:str_calc_mode="SYMBOL_CALC_MODE_EXCH_FUTURES (trading futures contracts on a stock exchange)";break; case SYMBOL_CALC_MODE_EXCH_FUTURES_FORTS:str_calc_mode="SYMBOL_CALC_MODE_EXCH_FUTURES_FORTS (trading futures contracts on FORTS)";break; } //— 文字列値の出力 temp_string=StringFormat(" SYMBOL_TRADE_CALC_MODE = %sn", str_calc_mode); StringAdd(output_string,temp_string); //— 小数点以下の桁数が 2 桁の double 値の出力 double margin_initial=SymbolInfoDouble(_Symbol,SYMBOL_MARGIN_INITIAL); temp_string=StringFormat(" SYMBOL_MARGIN_INITIAL = %.2f (initial margin)n", margin_initial); StringAdd(output_string,temp_string); //— 小数点以下の桁数が 2 桁の double 値の出力 double margin_maintenance=SymbolInfoDouble(_Symbol,SYMBOL_MARGIN_MAINTENANCE); temp_string=StringFormat(" SYMBOL_MARGIN_MAINTENANCE = %.2f (maintenance margin)n", margin_maintenance); StringAdd(output_string,temp_string); //— int 値の出力 int freeze_level=(int)SymbolInfoInteger(_Symbol,SYMBOL_TRADE_FREEZE_LEVEL); temp_string=StringFormat(" SYMBOL_TRADE_FREEZE_LEVEL = %d (order freeze level in points)", freeze_level); StringAdd(output_string,temp_string); Print(output_string); Comment(output_string); /* execution result Contract specification for EURUSD: SYMBOL_DIGITS = 5 (number of digits after the decimal point) SYMBOL_POINT = 0.00001 (point value) SYMBOL_SPREAD = 10 (current spread in points) SYMBOL_TRADE_STOPS_LEVEL = 18 (minimal indention in points for Stop orders) SYMBOL_TRADE_CONTRACT_SIZE = 100000 (contract size) SYMBOL_TRADE_TICK_SIZE = 0.000010 (minimal price change) SYMBOL_SWAP_MODE = SYMBOL_SWAP_MODE_POINTS (in points) SYMBOL_SWAP_LONG = -0.700000 (buy order swap value) SYMBOL_SWAP_SHORT = -1.000000 (sell order swap value) SYMBOL_TRADE_MODE = SYMBOL_TRADE_MODE_FULL (no trade restrictions) SYMBOL_VOLUME_MIN = 0.01 (minimal volume for a deal) SYMBOL_VOLUME_STEP = 0.01 (minimal volume change step) SYMBOL_VOLUME_MAX = 500 (maximal volume for a deal) SYMBOL_TRADE_CALC_MODE = SYMBOL_CALC_MODE_FOREX (Forex) SYMBOL_MARGIN_INITIAL = 0.00 (initial margin) SYMBOL_MARGIN_MAINTENANCE = 0.00 (maintenance margin) SYMBOL_TRADE_FREEZE_LEVEL = 0 (order freeze level in points) */ } |
参照
PrintFormat、DoubleToString、ColorToString、TimeToString
Originally posted 2019-07-29 23:03:13.