y 资料应用到可变量的模型中来。B1}R_iO_d3 Bars_D_RDn_;j_ Bid)p$a1\\_~m Closeb"DV8_fd_X Digits>/r^l)`9_f HighLpQ=Y]_{j Low%nRz~3X|+v Open4Y2!q$}I+ PointaUGRFK_6_$ Time_" />
0
对于每个执行的MQL4程序,一定数量的变量设定可以轻松应对图表中的价格状态: x:7"/_H|_
智能交易,脚本或者是客户指标。. ^dR__="N
_
vn_]_e`O>y
资料应用到可变量的模型中来。 B<9__9-7x3
%_j.B__/U$
可以由预定义的变量分开处理。 9h _Jlc_
这些数据会在开启后应用 RefreshRates()函数更新。 _kqebU_!0-
W E-_cq1)
Ask >1}R_iO_d3
Bars _D_RDn_;j_
Bid )p$a1\\_ ~m
Close b"DV8_fd_X
Digits >/r^l)`9_f
High LpQ=Y]_{j
Low %nRz~3X|+v
Open 4Y2!q$}I+
Point aUGRFK_6_$
Time _'%W`:K_'_
Volume d)R7#HL_Z7
Ask b
~u53 ___
double Ask _}_#_Q?_\\
对于当前货币对的最新卖价格。使用RefreshRates()函数更新。 _r__Ihe}1
参见 MarketInfo(). 9R1_S_20O_
示例: u__&Lp___
if(iRSI(NULL,0,14,PRICE_CLOSE,0)<25) i__iWm>_yy
{ fJd_TVs@
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Bid-StopLoss*Point,Ask+TakeProfit*Point, b-"kcl__K
"My order #2",3,D'2005.10.10 12:30',Red); ^rX5C2}G\\D
return; *@-_a{T}_
} |{j\\7G_*5_
i\\yp_(tE%^
{_*_NM~yQ
Bars Vgg' _5o&.
int Bars ebTw_U]Nb_
返回图表中的柱数。 S4__!}7NOh
参见 iBars(). _ *`W_D/fG
示例: '0t_No_.8K
int counter=1; :vW_ix_gLg
for(int i=1; i<=Bars; i++) 6jpf_o'uB$
{ 6EY W:o
Print(关闭[i-1]); hha_!uD~_(
} Y_3M"a8e'
in_>.Tax_*
Bid C<"b99\\2`
double Bid 9X ^_D(_
对于当前货币对的最新买价格。使用RefreshRates()函数更新。 CWx_9b zk
参见 MarketInfo(). j#D( <_/T
示例: ZD`p_$:p_T
if(iRSI(NULL,0,14,PRICE_CLOSE,0)>75) @S#Ls="_G_
{ vIp_i_tbFC
OrderSend("EURUSD",OP_SELL,Lots,Bid,3,Ask+StopLoss*Point,Bid-TakeProfit*Point, __$QC^h_C_
"My Order #2",3,D'2005.10.10 12:30',Red); s& Lyg>>`
return(0); VcpN _PU_6
} A_"pV 7 _y
Q2 jl61d_9
> a"_4aYj
i8 f_Uzg_)
_a0*qK)g_H
Close jB-wJ_NP/
double Close[] _ _H$^m #h
系列数组包含当前图表每个柱的收盘价格。 !^_G~`r$2J
,_`_.`}_'
系列数组元素被索引入倒序的定单,即从最后一个到第一个。. 当前最后一个柱在数组中的索引为0。图表中的第一个柱的索引为Bars-1. u___ _.R _
>#8J@=iuqv
参见 iClose(). \\h UE_, _^
示例: 0{zA6__Xu
int handle = FileOpen("file.csv", FILE_CSV|FILE_WRITE, ";"); }\\wTV*n`X_
if(handle>0) [>x_Gyn_U0
{ ;&__?l1V_u
// 表格栏标题记录 rn"
}_@5
FileWrite(handle, "Time;Open;High;Low;Close;Volume"); QJK__VN_Oo
// 数据记录 U___CD__vN
for(int i=0; i FileClose(handle); .>b_ vI 1_ } __Z2soy - tW__7_*_(D Weq_Qw?-_ Digits q"_%;),_@ int Digits T___.R ( 返回当前货币对的汇率小数位 (y;_8izp9! 参见 MarketInfo(). }iF_"&b0n" 示例: <_+2M,f_q+ Print(DoubleToStr(Close[0], 小数位)); _M.Q_XwIT |=__CV.Su_ Z-BPC_|e High %_}%v___ey double High[] Nq3_q##Ut: 系列数组包含当前图表每个柱的最高价格。 oztfr 系列数组元素被索引入倒序的定单,即从最后一个到第一个。. 当前最后一个柱在数组中的索引为0。图表中的第一个柱的索引为 Bars-1. 1]l_ m0bfs 3#@ETt0X( 参见 iHigh(). _9G'Q3?_ z 示例: __B[R1XpB7 //---- 最大值 ]c \\_g_UU i=Bars-KPeriod; BEv>?T _0 if(counted_bars>KPeriod) i=Bars-counted_bars-1; I}_aiy._l while(i>=0) {_t_;{={_$ { 6j_R_UkI-! double max=-1000000; _e_;$Y#`EO k = i + KPeriod-1; -H%806NAX7 while(k>=i) K]_ ^kU_N_ { _coxMsDs_ price=High[k]; xM/B"_SG2 if(max } EEaf/D/jt HighesBuffer=max; *_\\Y \\_$w_ i--; eoS8__e$}_ } N%A[}Y0;MW //---- Low aA?Uf_~ "t double Low[] Bb2;z_OGdA 系列数组包含当前图表每个柱的最低价格。 ;0ap_#_6T CM+Nm(|\\, 系列数组元素被索引入倒序的定单,即从最后一个到第一个。. 当前最后一个柱在数组中的索引为0。图表中的第一个柱的索引为 Bars-1. nF_U'D_Z _C?_j_k#T 参见 iLow(). 68 % = V>V 示例: h I._@!$~= //---- 最小值 P_,-f]k[__ i=Bars-KPeriod; _T8( \\_:v_ if(counted_bars>KPeriod) i=Bars-counted_bars-1; dW_bSr_l__ while(i>=0) _C7#ji"_t { n qS_jP5__ double min=1000000; @v^;,_cu'8 k = i + KPeriod-1; .{[+d3+,_ while(k>=i) B_w _^"e8X { w U".^_ + price=Low[k]; L_c.=CB_Q_ if(min>price) min=price; Bx9_R!u_5D k--; 28,H_d_!_{ } G_?`{OW3:_ LowesBuffer=min; ___g_\\_J i--; 1iN__q|~__ } ]_-ad\\P_I$ //---- g{|F<2rd[m AA=zDB_<_N r_<< ]4_1_ {A Open e__U1}_{=t double Open[] (_*qMs)~]B 系列数组包含当前图表每个柱的开盘价格。 v___U_+wga _}6S~"<_Ym 系列数组元素被索引入倒序的定单,即从最后一个到第一个。. 当前最后一个柱在数组中的索引为0。图表中的第一个柱的索引为Bars-1. 8v_{0=9_,Z :pz`_bFJk 参见 iOpen(). )gNS%t c*K 示例: _{_X_ r|_L i = Bars - counted_bars - 1; {"_rYlN7_, while(i>=0) JSp V2c_5Q { ~F)[H__'$A double high = High; }N^3P0XjYq double low = Low; IA6_,P_>}N double open = Open; e-&_0_f);i double close = Close; _YR_U1^=_v AccumulationBuffer = (close-low) - (high-close); H_l|_EySno if(AccumulationBuffer != 0) ta;q{3_fe_ { "_pA_24_Ze double diff = high - low; _K ^6f_g,& if(0==diff) [D$% LRX AccumulationBuffer = 0; ]=ubl_!0=: else l|_jb}9_(J { __:qAF}|_6 AccumulationBuffer /= diff; >Hd Pcsl L AccumulationBuffer *= Volume; 'uBa_ gd>* } ! < O,x_I' } iJaA&z_5sr if(i zNh$d;(O$^ JI7__.:k;_ }"_ \\ j B_ _____-. J@ j0_(+Kq:J double Point _r__y7 [/) 返回当前图表的点值 __7 ___nl_ 参见 MarketInfo(). ,_!I'0x1OR 示例: V|T3blG?D_ OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point); Q__ P$hmDTn72 datetime Time j"J_[dlm2M datetime Time[] UEh_-_k_" 系列数组包含当前图表的每个柱开盘时间。数据像日期时间一样呈现时间,从1979年1月1日零点开始以秒计算。 ;FH__qF`. _hc_Jn_y 系列数组元素被索引入倒序的定单,即从最后一个到第一个。当前最后一个柱在数组中的索引为0。图表中的第一个柱的索引为 Bars-1. ?5_U_b&{__ k__A 9gj_1 参见 iTime(). zra_zF_I0G 示例: jPyhn_8V_w for(i=Bars-2; i>=0; i--) =2tl149m/z { m_j^_]e/s% if(High[i+1] > LastHigh) LastHigh = High[i+1]; Ag_@R 60# if(Low[i+1] < LastLow) LastLow = Low[i+1]; _+f]\\>{ o4 //---- )WR *8659e if(TimeDay(Time) != TimeDay(Time[i+1])) L |__pJ\\~ { _u4,b%h__. P = (LastHigh + LastLow + Close[i+1])/3; W*__D_]. | R1 = P*2 - LastLow; NX5NE2@^qH S1 = P*2 - LastHigh; ,`nl"_;Zc R2 = P + LastHigh - LastLow; [_ Cu 3D__ S2 = P - (LastHigh - LastLow); H,5_ ##@X R3 = P*2 + LastHigh - LastLow*2; #{L _!_o5 S3 = P*2 - (LastHigh*2 - LastLow); G_ _?&T_0 LastLow = Open; _b_/_Q\\ .! LastHigh = Open; AG==A&d>$ } J_&jNO Nu? //---- /_qalj\"r":"color:#333333;display:none;font-family:Arial;font-size:14px;font-style:italic PBuffer = P; T.j& UEsd_ S1Buffer = S1; :1_J ICxAU R1Buffer = R1; QW_Q_izR>| S2Buffer = S2; fpK__`____ R2Buffer = R2; S_.kFs{;1x S3Buffer = S3; [ queXDn"m R3Buffer = R3; #:_?M t_VC } _}hjJt,m >5|;8v-r 3M&I_Mf,/@ b[_I;6_H_W Volume __V_N__1a\\ double Volume[] ?8LRd5L_H 系列数组包含当前图表每个柱替克成交量。 =>7_\\s}Q_Z _ 8_/|_~E_ 系列数组元素被索引入倒序的定单,即从最后一个到第一个。. 当前最后一个柱在数组中的索引为0。图表中的第一个柱的索引为 Bars-1. L'JEkji" =k_(~PB^> 参见 iVolume(). 1K;_i/___ 示例: e!5nz_J1}_ if(i==0 && time0 if(Low[0] d_close = Close[0]; h_69 : Tj! } 3}H"(5dL}z last_fpos = FileTell(ExtHandle); w:_z_@!__< last_volume = Volume; BHwQB2t gc FileWriteInteger(ExtHandle, i_time, LONG_VALUE); _'xdM_>y#S FileWriteDouble(ExtHandle, d_open, DOUBLE_VALUE); _ +Mc_KyEa FileWriteDouble(ExtHandle, d_low, DOUBLE_VALUE); fWR]L4_7n FileWriteDouble(ExtHandle, d_high, DOUBLE_VALUE); V;Zp3Q_o_! FileWriteDouble(ExtHandle, d_close, DOUBLE_VALUE); !P, 9Sg&5) FileWriteDouble(ExtHandle, d_volume, DOUBLE_VALUE);