继续了。。。
: K7 o; S0 P9 d5 [9 B7 B- I r; G# T
2 h: }9 y) _1 B! @+ Y// 是否开仓; J2 ~. G8 i8 B, O% J* [
void CheckForOpen()* m6 j/ p# }9 U
{7 I5 I* l! L" f8 C5 q. |- [' H
double open_short_ma, open_middle_ma,open_long_ma;
" m7 F3 l( x6 C3 w+ u int res;
6 p2 b. ?" E# E( x//---- go trading only for first tiks of new bar: P3 H# O3 M. h; U2 u9 q" z
if(Volume[0]>1) return;. y, ^6 T6 A h( o) W8 S2 U" d
. v$ c# k6 ?7 c5 Q! r- e//---- get Moving Average * l& Z) r# n$ w8 ~6 l
open_short_ma = iMA(NULL, 0, short_period, 0, MODE_EMA, PRICE_CLOSE, 0);
2 b0 B; D# D- ^0 [$ G: _ open_middle_ma = iMA(NULL, 0, middle_period, 0, MODE_EMA, PRICE_CLOSE, 0);0 U# B4 k5 e ^- o
open_long_ma = iMA(NULL, 0, long_period, 0, MODE_SMA, PRICE_CLOSE, 0);3 @; v0 ?6 m' U7 X
! r( X/ l M3 S, d
//---- sell conditions# ]( |; j' B1 M* ?( |% E' B! }8 l: Z
if ( ( open_short_ma < open_middle_ma && open_short_ma < open_long_ma && open_middle_ma < open_long_ma ) &&
4 }9 F3 f3 s; |8 h; n3 j { ( ( open_middle_ma - Open[0] ) / Point < 80 ): R: I* r0 s( t3 T- d
)+ f. H2 |; r/ ]/ o" r' y9 [: H! y
{
8 M" i) [9 U# ~" o$ R2 ` res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,Bid-StopLoss*Point,0,"",MAGICMA,0,Red);, U8 f* g5 Z4 w* \* S
return;6 Z/ \* `7 }6 i: C. G: I D7 u
}
( D- i3 X, g1 t4 \//---- buy conditions- q* o0 B6 A) }& o4 r& d# b1 e
if ( ( open_short_ma > open_long_ma && open_short_ma > open_middle_ma && open_middle_ma > open_long_ma ) &&& t3 {& m4 q, v
( ( open_middle_ma - Open[0] ) / Point < 80 )
) y% [6 }) N! W* @0 x ), ~+ @& m! m# `, z
{
* f2 c2 P6 T# n. Z1 K4 A" u res=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,Ask-StopLoss*Point,0,"",MAGICMA,0,Blue);3 d: V# D; W* l6 E5 g( Y4 v
return;# g& |9 M7 l% A* ^# T+ \3 u( b
}$ S0 _( T: |9 n) C* h
//----3 s3 z& @" O* c! e' s
}