论坛风格切换切换到宽版
  • 3807阅读
  • 3回复

Mql5-TradingControler-II [复制链接]

上一主题 下一主题
离线tpy
 
发帖
4
金钱
2
威望
100
贡献
31
交易币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-10-27
本帖最后由 shawnyau 于 2009-10-27 21:07 编辑 }0X:F`Y-  
U}PiY"S<  
Mql5-TradingControler-II yRfSJbzaf\  
1PP $XJtyD  
//+------------------------------------------------------------------+ W>p-u6u%E|  
//| ManualTrading.mqh | ( m:Zk$  
//+------------------------------------------------------------------+ 5_z33,q2  
class CManualTrading _Gjk;|Sx<I  
{ vOc 9ZE  
private: :C65-[PSdO  
MqlTradeRequest request; yzLpK;  
MqlTradeResult result; /i-J&*6_  
public: ]5$eAYq  
CManualTrading(){}; u( wGl_  
bool CloseAll(); B{C??g8/  
bool CloseProfit(); Q'YH>oGh^  
bool CloseLoss(); (s7;^)}zx  
bool OpenBuy(string symbol,double lots,int tp,int sl); [I$ BmGQ  
bool OpenSell(string symbol,double lots,int tp,int sl); Tp-l^?O-p  
}; ae0> W  
//+------------------------------------------------------------------+ SOi*SwQ8  
bool CManualTrading::CloseAll() <Gt2(;  
{ -sjd&)~S[  
string symbol; w[ !^;#  
int positions=PositionsTotal(); W'.s\e?gh  
for(int ip=0;ip<positions;ip++) I*IhwJFl/  
{ b r^_'1  
symbol=PositionGetSymbol(ip); PG_0\'X)/w  
if(PositionSelect(symbol)==true) L\&<sy"H  
{ bV8!"{  
request.action=TRADE_ACTION_DEAL; +S R+x/?z  
request.symbol=symbol; @:U+9[  
request.volume=PositionGetDouble(POSITION_VOLUME); |iR T! ]  
request.tp=0.0; )Lwc  
request.sl=0.0; |pmZ.r  
request.deviation=(ulong)(SymbolInfoInteger(symbol,SYMBOL_SPREAD)); OnF3lCmu  
if(request.deviation==0) ltgc:&=|@  
request.deviation=(ulong)((SymbolInfoDouble(symbol,SYMBOL_ASK)-SymbolInfoDouble(symbol,SYMBOL_BID))/SymbolInfoDouble(symbol,SYMBOL_POINT)); O=$~O\}b  
request.type_filling=ORDER_FILLING_CANCEL; h~p>re  
if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY) L dm?JrU  
{ l"!Ko G7  
request.type=ORDER_TYPE_SELL; K,w"_T  
request.price=SymbolInfoDouble(symbol,SYMBOL_BID); XvE9 b5}  
} ;Wl+ zw  
if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_SELL) ,WG<hgg-U)  
{ B"v.* %"&/  
request.type=ORDER_TYPE_BUY; Z0*ljT5|  
request.price=SymbolInfoDouble(symbol,SYMBOL_ASK); {O,{c\  
} F P>)&3>_  
OrderSend(request,result); dpFVN[\oK  
} .%^]9/4  
} <]T`3W9  
return(true); Cz W:L&t  
} Q\WC+,_%  
//+------------------------------------------------------------------+ GHHav12][  
bool CManualTrading::CloseProfit() ~O]]N;>72"  
{ ! /NG.Wf  
string symbol; Ezi-VGjr]  
int positions=PositionsTotal(); ,i0b)=!o  
for(int ip=0;ip<positions;ip++) !j\" w p  
{ b.@P%`@a.  
symbol=PositionGetSymbol(ip); Qq@G\eRo  
if(PositionSelect(symbol)==true && PositionGetDouble(POSITION_PROFIT)>0.0) x+h~gckLb  
{ sz9G3artK&  
request.action=TRADE_ACTION_DEAL; 8NU`^L:1  
request.symbol=symbol; c(/VYMJZ&  
request.volume=PositionGetDouble(POSITION_VOLUME); [ G e=kFB  
request.tp=0.0; 78Aa|AJU  
request.sl=0.0; yR~R:  
request.deviation=(ulong)(SymbolInfoInteger(symbol,SYMBOL_SPREAD)); qU,c~C=Qf  
if(request.deviation==0) xEltwuDd?  
request.deviation=(ulong)((SymbolInfoDouble(symbol,SYMBOL_ASK)-SymbolInfoDouble(symbol,SYMBOL_BID))/SymbolInfoDouble(symbol,SYMBOL_POINT)); 1N\D5g3  
request.type_filling=ORDER_FILLING_CANCEL; 8`]=C~ G  
if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY) `?y<>m*  
{ 9M /SH$Qy  
request.type=ORDER_TYPE_SELL; jr /lk  
request.price=SymbolInfoDouble(symbol,SYMBOL_BID); ;ml 3  
} `' 153M]  
if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_SELL) Ox#Q2W@Uy  
{ ;@nFVy>U  
request.type=ORDER_TYPE_BUY; {u\%hpD_  
request.price=SymbolInfoDouble(symbol,SYMBOL_ASK); ;c -3g]  
} %y<ejM  
OrderSend(request,result); *<'M!iRC  
} $ C0TD7=  
} C*X G_b ]  
return(true); O%f8I'u$  
} ` r']^ ,  
//+------------------------------------------------------------------+ vU*x2fVb}  
bool CManualTrading::CloseLoss() q+a.G2S  
{ + q''y  
string symbol; nW+YOX|+  
int positions=PositionsTotal(); l12$l<x&M  
for(int ip=0;ip<positions;ip++) ?G08NR  
{ Sg] J7;]  
symbol=PositionGetSymbol(ip); nN3$\gHp8i  
if(PositionSelect(symbol)==true && PositionGetDouble(POSITION_PROFIT)<0.0) \;]kYO}  
{ ^*^/]vM  
request.action=TRADE_ACTION_DEAL; z{BA4sn  
request.symbol=symbol; )~rB}>^Z  
request.volume=PositionGetDouble(POSITION_VOLUME); cX At :m  
request.tp=0.0; xq!IbVV/h  
request.sl=0.0; YCw('i(|  
request.deviation=(ulong)(SymbolInfoInteger(symbol,SYMBOL_SPREAD)); E=/[s]@5  
if(request.deviation==0) c-5jYwV  
request.deviation=(ulong)((SymbolInfoDouble(symbol,SYMBOL_ASK)-SymbolInfoDouble(symbol,SYMBOL_BID))/SymbolInfoDouble(symbol,SYMBOL_POINT)); >]}yXg=QK+  
request.type_filling=ORDER_FILLING_CANCEL; ?Ay3u^X  
if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY) OCHm;  
{ K@@9:T$  
request.type=ORDER_TYPE_SELL; (G4'(6  
request.price=SymbolInfoDouble(symbol,SYMBOL_BID); W>L@j(  
} el'j&I  
if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_SELL) E '%lxr  
{ St>`p-  
request.type=ORDER_TYPE_BUY; bZ# X 9fT  
request.price=SymbolInfoDouble(symbol,SYMBOL_ASK); viuiqs5[Bi  
} *=vlqpG  
OrderSend(request,result); `Lz1{#F2G  
} \>)f5 gV@  
} w3#`1T`N  
return(true); <lOaor c  
} pN$;!  
//+------------------------------------------------------------------+ \n@V-b  
bool CManualTrading::OpenBuy(string symbol,double lots,int tp,int sl) L#j |2H|  
{ ogeRYq,g  
request.action=TRADE_ACTION_DEAL; 6wpU6NU  
request.symbol=symbol; Dq`~XS*  
request.type=ORDER_TYPE_BUY; ny`(f,)u*  
request.price=SymbolInfoDouble(symbol,SYMBOL_ASK); d~<QAh#rG  
request.volume=lots; gPUo25@pn*  
request.tp=SymbolInfoDouble(symbol,SYMBOL_ASK)+tp*SymbolInfoDouble(symbol,SYMBOL_POINT); <9\,QR)  
request.sl=SymbolInfoDouble(symbol,SYMBOL_ASK)-sl*SymbolInfoDouble(symbol,SYMBOL_POINT); u&SZ lkf6%  
request.deviation=(ulong)(SymbolInfoInteger(symbol,SYMBOL_SPREAD)); vfXJYw+6_  
if(request.deviation==0) QSmJ`Bm  
request.deviation=(ulong)((SymbolInfoDouble(symbol,SYMBOL_ASK)-SymbolInfoDouble(symbol,SYMBOL_BID))/SymbolInfoDouble(symbol,SYMBOL_POINT)); s$3`X(Pn  
request.type_filling=ORDER_FILLING_CANCEL; RH=$h! 5  
OrderSend(request,result); <~O}6HQ#  
return(true); ~BQV]BJ7  
} <N5rv3 s  
//+------------------------------------------------------------------+ kdBV1E+:C  
bool CManualTrading::OpenSell(string symbol,double lots,int tp,int sl) K>LpN')d  
{ ?C~X@sq  
request.action=TRADE_ACTION_DEAL; /4H[4m]I  
request.symbol=symbol; p6[#f96^u  
request.type=ORDER_TYPE_SELL; CfY7<o1>  
request.price=SymbolInfoDouble(symbol,SYMBOL_BID); X/wmKi  
request.volume=lots; &PSTwZd  
request.tp=SymbolInfoDouble(symbol,SYMBOL_BID)-tp*SymbolInfoDouble(symbol,SYMBOL_POINT); _^b@>C>O  
request.sl=SymbolInfoDouble(symbol,SYMBOL_BID)+sl*SymbolInfoDouble(symbol,SYMBOL_POINT); s~)L_ p  
request.deviation=(ulong)(SymbolInfoInteger(symbol,SYMBOL_SPREAD)); S{ey@ X(  
if(request.deviation==0) IyT ?-R  
request.deviation=(ulong)((SymbolInfoDouble(symbol,SYMBOL_ASK)-SymbolInfoDouble(symbol,SYMBOL_BID))/SymbolInfoDouble(symbol,SYMBOL_POINT)); aSTFcz"  
request.type_filling=ORDER_FILLING_CANCEL; &:q[-K@!  
OrderSend(request,result); FXeV6zfrE  
return(true); 7:h<`_HT(X  
} &q"'_4  
//+------------------------------------------------------------------+ ;hkro$  
l`G(O$ct  
6mi$.' qP  
//+------------------------------------------------------------------+ a6k(9ZF  
//| AutoTrading.mqh | )>?! xx_`  
//+------------------------------------------------------------------+ 7F=2t_2O  
#include \"ManualTrading.mqh\" {zY`h6d  
class CAutoTrading c1PViko,>  
{ Y:rJK|m  
private: Fgskb"k/  
MqlTradeRequest request; 2rF?Q?$,B  
MqlTradeResult result; ss/h[4h4h  
CManualTrading *Manual; N?\bBt@  
public: k\nH&nb  
CAutoTrading(){Manual=new CManualTrading;}; ZGA)r0] P`  
bool CloseAndBuy(string symbol,double lots,int tp,int sl); \5t`p67Ve_  
bool CloseAndSell(string symbol,double lots,int tp,int sl); "3\oQvi.  
}; mXQl;  
//+------------------------------------------------------------------+ A<mj8qz  
bool CAutoTrading::CloseAndBuy(string symbol,double lots,int tp,int sl) dFd lB `L  
{ }Q!h ov  
if(PositionSelect(symbol)==true) TNyK@~#m  
{ fL(':W&n-  
request.action=TRADE_ACTION_DEAL; zv$Gma_  
request.symbol=symbol; Y0@'za^y  
request.type=ORDER_TYPE_BUY; l#X=]xQf  
request.price=SymbolInfoDouble(symbol,SYMBOL_ASK); {9h`$e=  
request.volume=PositionGetDouble(POSITION_VOLUME)*2; >]:N?[Y_~}  
request.tp=SymbolInfoDouble(symbol,SYMBOL_ASK)+tp*SymbolInfoDouble(symbol,SYMBOL_POINT); S9 $o  
request.sl=SymbolInfoDouble(symbol,SYMBOL_ASK)-sl*SymbolInfoDouble(symbol,SYMBOL_POINT); }l,T~Pjb  
request.deviation=(ulong)(SymbolInfoInteger(symbol,SYMBOL_SPREAD)); Z[a O_6L  
if(request.deviation==0) m Y$nI -P  
request.deviation=(ulong)((SymbolInfoDouble(symbol,SYMBOL_ASK)-SymbolInfoDouble(symbol,SYMBOL_BID))/SymbolInfoDouble(symbol,SYMBOL_POINT)); IUluJ.sXIf  
request.type_filling=ORDER_FILLING_CANCEL; DkDw>Nx<rs  
OrderSend(request,result); aSn0o_4bD  
} B@ZqJw9J[  
else Py|H? ,6=  
{ g2+l@$W  
Manual.OpenBuy(symbol,lots,tp,sl); 4y|xUO:  
} a9yIV5_N  
return(true); ?R|fS*e2EB  
} ?D RFsA  
//+------------------------------------------------------------------+ N,WI{*  
bool CAutoTrading::CloseAndSell(string symbol,double lots,int tp,int sl) xB?S#5G}  
{ c*y$bf<  
if(PositionSelect(symbol)==true) :)KTZ  
{ 1VhoJGH;C  
request.action=TRADE_ACTION_DEAL; }4bB7,j  
request.symbol=symbol; N oX_?  
request.type=ORDER_TYPE_SELL; ;whFaQi 4  
request.price=SymbolInfoDouble(symbol,SYMBOL_BID); A2g"=x[1@K  
request.volume=PositionGetDouble(POSITION_VOLUME)*2; j33P~H~  
request.tp=SymbolInfoDouble(symbol,SYMBOL_BID)-tp*SymbolInfoDouble(symbol,SYMBOL_POINT); 6 . +[ z  
request.sl=SymbolInfoDouble(symbol,SYMBOL_BID)+sl*SymbolInfoDouble(symbol,SYMBOL_POINT); % j[O&[s}  
request.deviation=(ulong)(SymbolInfoInteger(symbol,SYMBOL_SPREAD)); GW>7R6i  
if(request.deviation==0) &rl]$Mtt  
request.deviation=(ulong)((SymbolInfoDouble(symbol,SYMBOL_ASK)-SymbolInfoDouble(symbol,SYMBOL_BID))/SymbolInfoDouble(symbol,SYMBOL_POINT)); xJ[k#?T'  
request.type_filling=ORDER_FILLING_CANCEL; O84v*=uA  
OrderSend(request,result); %nDPM? aO  
} 2FZ 0c/[&  
else 2fj0 I  
{ Vq\..!y  
Manual.OpenSell(symbol,lots,tp,sl); 48 c D3w  
} zCBtD_@  
return(true); ?l\gh1{C  
} LH3N}J({  
//+------------------------------------------------------------------+ *f0.=?  
'K;4102\  
//+------------------------------------------------------------------+ RB lOTQjv  
//| TradingControler.mq5 | Ww'TCWk@  
//+------------------------------------------------------------------+ Kh:#S|   
#property description \"Trading Controler\" }Ll3AR7\  
#property version \"2.00\" 4PO%qO  
#include <TradingControler\ManualTrading.mqh> 5,0 wj0l  
#include <TradingControler\AutoTrading.mqh> 8zCGMhd  
int TakeProfit=50; BqLtTo?'  
int StopLoss=30; |L.~Am d  
double Lots=0.1; U>L=.\\|  
CManualTrading *Manual; skR, M=F~  
CAutoTrading *Auto; !dbA (  
bool AutoFlag=false; /SPAJHh  
intMAOpenHandle,MACloseHandle,MacdHandle; I*vj26qvg  
double MAOpenBuffer[]; k@t,[  
double MACloseBuffer[]; XC$+ `?  
double MacdBuffer[]; U&w 5&W{F}  
//+------------------------------------------------------------------+ -9H!j4]T?  
int OnInit() /K1$_   
{ !7ZfT?&  
if(Digits()==5) . ~A"Wyu\  
{ t5jhpPVf  
TakeProfit=500; 2,XqslB)  
StopLoss=300; ~\)&{ '  
} uu@'02G8  
else if(Digits()==4) kXZV%mnT7  
{ E? m#S  
TakeProfit=50; O 44IH`SI  
StopLoss=30; i3kI2\bd/  
} Y^jnlS)h  
Manual=new CManualTrading; <k-@R!K~JC  
Auto=new CAutoTrading; 3 ?|; on  
ANpY qV  
CreateTradeObject(); j=jrzG+`  
InitEA(); E]eqvTNH  
ChartRedraw(); RkH oT^  
return(0); +} !F(c  
} a4a[pX,5  
//+------------------------------------------------------------------+ #L4Kwy  
void OnDeinit(const int reason) i;'X}KW  
{ w6In{uO-Z  
ObjectDelete(0,\"CloseAll\"); 7E75s)KH  
ObjectDelete(0,\"CloseProfit\"); zc,9Qfn  
ObjectDelete(0,\"CloseLoss\"); ??%T  
ObjectDelete(0,\"OpenBuy\"); >yT@?!/Q>'  
ObjectDelete(0,\"OpenSell\"); z.9FDQLp  
q(PT'z  
ObjectDelete(0,\"LotsLabel\"); eGypXf%  
ObjectDelete(0,\"Lots\"); 2hA66ar{$  
ObjectDelete(0,\"LotsIncrease\"); [@)z$W  
ObjectDelete(0,\"LotsDecrease\"); `:BQ&T%UQR  
aj'8;E+  
ObjectDelete(0,\"TPLabel\"); ,N|R/Vk$+E  
ObjectDelete(0,\"TP\"); *(q8?x0>  
ObjectDelete(0,\"TPIncrease\"); t?H;iBrpxd  
ObjectDelete(0,\"TPDecrease\"); eKFc W5O  
;s B:s9M  
ObjectDelete(0,\"SLLabel\"); mhkAI@)>  
ObjectDelete(0,\"SL\"); % m5^p  
ObjectDelete(0,\"SLIncrease\"); ,lS-;.  
ObjectDelete(0,\"SLDecrease\"); bOIM0<(h  
ObjectDelete(0,\"AutoManual\"); 5b4V/d* '  
G@<lwnvD*J  
ChartRedraw(); Vh9s.=*P@  
} !#gE'(J;c  
//+------------------------------------------------------------------+ wOkJ:k   
void OnTick() oUKbzr/C  
{ OQ&D?2r  
if(AutoFlag==true) d47:2Zj  
OpenCloseMacdEA(); +rpd0s49  
} XoiYtx53  
//+------------------------------------------------------------------+ 7^TXlW n^G  
void OnChartEvent(const int id,const long& lparam,const double& dparam,const string& sparam) z'D{:q  
{ YYr&r.6  
if(id==CHARTEVENT_OBJECT_ENDEDIT) ^JVP2L>o*  
{ &j@J<*k  
OnEndEdit(sparam); .EZ{d  
} ;fME4Sp  
else if(id==CHARTEVENT_OBJECT_CLICK && sparam==\"CloseAll\") ugPI1'f  
{ O36r ,/X  
Manual.CloseAll(); ]hVXFHrR  
ObjectSetInteger(0,\"CloseAll\",OBJPROP_STATE,0); %FFm[[nxI  
} v4~Xv5|w^F  
else if(id==CHARTEVENT_OBJECT_CLICK && sparam==\"CloseProfit\") zP'pfBgbJW  
{ q &6=oss!  
Manual.CloseProfit(); Y]Vc}-a(h  
ObjectSetInteger(0,\"CloseProfit\",OBJPROP_STATE,0); PR6uw  
} }V,M0b>  
else if(id==CHARTEVENT_OBJECT_CLICK && sparam==\"CloseLoss\") $<mL2$.L~  
{ 0$ac1;7  
Manual.CloseLoss(); o"M^ sKz47  
ObjectSetInteger(0,\"CloseLoss\",OBJPROP_STATE,0); ,O{ 5   
} <qY>d,+E'  
else if(id==CHARTEVENT_OBJECT_CLICK && sparam==\"OpenBuy\") [4rMUS7-m"  
{ Qs X59d  
Manual.OpenBuy(Symbol(),Lots,TakeProfit,StopLoss); ^O*hs%eO%  
ObjectSetInteger(0,\"OpenBuy\",OBJPROP_STATE,0); |o) _=Fx  
} T-i]O*u  
else if(id==CHARTEVENT_OBJECT_CLICK && sparam==\"OpenSell\") f_XCO=8'v  
{ G{=$/&St  
Manual.OpenSell(Symbol(),Lots,TakeProfit,StopLoss); (HKm2JuFG  
ObjectSetInteger(0,\"OpenSell\",OBJPROP_STATE,0); SJ+-H83x  
} ^:ngHue8~  
else if(id==CHARTEVENT_OBJECT_CLICK && sparam==\"LotsIncrease\") ~kT{O!x}4  
{ g``4U3T%X  
OnLotsIncrease(); O#Hz5 A5  
ObjectSetInteger(0,\"LotsIncrease\",OBJPROP_STATE,0); R)Fl@ Tn  
} E |3aiC,5  
else if(id==CHARTEVENT_OBJECT_CLICK && sparam==\"LotsDecrease\") Te#[+B?  
{ qrh7\`,.m/  
OnLotsDecrease(); ka%pS  
ObjectSetInteger(0,\"LotsDecrease\",OBJPROP_STATE,0); n(VMGCZPV  
} Lr&BZM  
else if(id==CHARTEVENT_OBJECT_CLICK && sparam==\"TPIncrease\") c7wgjQ[   
{ C( ;7*]  
OnTPIncrease(); r'?&VS-Cj  
ObjectSetInteger(0,\"TPIncrease\",OBJPROP_STATE,0); SUhP e+  
} R!CUR~F  
else if(id==CHARTEVENT_OBJECT_CLICK && sparam==\"TPDecrease\") WU_Q 7%+QS  
{ 6j#5Ag:  
OnTPDecrease(); $=R\3:j  
ObjectSetInteger(0,\"TPDecrease\",OBJPROP_STATE,0); !<ucwWY,  
} r$zXb9a|<  
else if(id==CHARTEVENT_OBJECT_CLICK && sparam==\"SLIncrease\") )\^OI:E  
{ ,3u19>2  
OnSLIncrease(); zV#k #/$  
ObjectSetInteger(0,\"SLIncrease\",OBJPROP_STATE,0); NunT2JP.  
} 1|CO>)*D  
else if(id==CHARTEVENT_OBJECT_CLICK && sparam==\"SLDecrease\") up6LO7drW/  
{ LBR_Q0EP  
OnSLDecrease(); Emo]I[<&q  
ObjectSetInteger(0,\"SLDecrease\",OBJPROP_STATE,0); ^+&}:9Ml  
} O^GTPYW  
else if(id==CHARTEVENT_OBJECT_CLICK && sparam==\"AutoManual\") ( ;q$cKy  
{ '1aOdEZA*  
OnAutoManual(); mc$dR, H0  
ObjectSetInteger(0,\"AutoManual\",OBJPROP_STATE,0); l8Ox]%F  
} #0tM88Wi  
ChartRedraw(); ^`$KN0PY  
} [z?XVl<  
//+------------------------------------------------------------------+ <e"2<qVi  
bool OnEndEdit(string edit) &E~7ty'  
{ SVJ3!1B,  
if(edit==\"Lots\") g.'4uqU  
{ 59LIK&w  
Lots=StringToDouble(ObjectGetString(0,\"Lots\",OBJPROP_TEXT)); +VfJ: [q  
if(Lots>20.0) |Ia46YS  
Lots=20.0; 8K$:9+OY  
ObjectSetString(0,\"Lots\",OBJPROP_TEXT,DoubleToString(Lots,2)); w% M0Mu  
} (jXgJ" m  
else if(edit==\"TP\") V%+KJ}S!Z  
{ @|M10r9E  
TakeProfit=StringToInteger(ObjectGetString(0,\"TP\",OBJPROP_TEXT)); yRAb HG,c  
if(TakeProfit>1000) R8a xdV9(  
TakeProfit=1000; edm&,ph]  
ObjectSetString(0,\"TP\",OBJPROP_TEXT,IntegerToString(TakeProfit)); 2'++G[z  
} \Ew2@dF{O  
else if(edit==\"SL\") dJ$}]   
{ c=7L)w:I  
StopLoss=StringToInteger(ObjectGetString(0,\"SL\",OBJPROP_TEXT)); F3?v&  
if(StopLoss>1000) he/FtkU  
StopLoss=1000; \2T@]!n  
ObjectSetString(0,\"SL\",OBJPROP_TEXT,IntegerToString(StopLoss)); \!-X&ws  
} W}KtB1J  
return(true); >Z/,DIn,I  
} "# JRw  
//+------------------------------------------------------------------+ *@/! h2  
bool OnLotsIncrease() l( "_JI  
{ ybfNG@N*  
Lots=StringToDouble(ObjectGetString(0,\"Lots\",OBJPROP_TEXT)); zK33.HY  
Lots+=0.10; 2@=JIMtc  
if(Lots>20.0) ^oj)#(3C  
Lots=20.0; WPLAh_fe  
ObjectSetString(0,\"Lots\",OBJPROP_TEXT,DoubleToString(Lots,2)); c 8#A^q}  
return (true); Cdc6<8  
} qbmy~\ZY  
//+------------------------------------------------------------------+ ><dSwwu  
bool OnLotsDecrease() |eJ4"OPC  
{ [|e7oNT(Q  
Lots=StringToDouble(ObjectGetString(0,\"Lots\",OBJPROP_TEXT)); ]7Tjt A.\q  
Lots-=0.10; rk{DrbRx  
if(Lots<0.1) 4$@)yZ  
Lots=0.1; }_Jr[iaB  
ObjectSetString(0,\"Lots\",OBJPROP_TEXT,DoubleToString(Lots,2)); B$sB1M0q  
return (true); _da>=^hFJ  
} * 3WK`9q  
//+------------------------------------------------------------------+ Pqi>,c<&mL  
bool OnTPIncrease() 1 f).J  
{ nJNdq`y2  
TakeProfit=StringToInteger(ObjectGetString(0,\"TP\",OBJPROP_TEXT)); kT t;3Ia  
TakeProfit+=1; 9U^jsb<St>  
if(TakeProfit>1000) s `U.h^V  
TakeProfit=1000; cK"b0K/M?B  
ObjectSetString(0,\"TP\",OBJPROP_TEXT,IntegerToString(TakeProfit)); F_$eu-y  
return (true); FE,&_J"  
} :Em[> XA  
//+------------------------------------------------------------------+ POdk0CuX  
bool OnTPDecrease() J*IC&jH:  
{ -L}crQl.'c  
TakeProfit=StringToInteger(ObjectGetString(0,\"TP\",OBJPROP_TEXT)); `D6Bw=7  
TakeProfit-=1; E`}KVi57  
if(TakeProfit<0) ,dOd3y'y  
TakeProfit=0; ,Y6Me+5B  
ObjectSetString(0,\"TP\",OBJPROP_TEXT,IntegerToString(TakeProfit)); -}_-#L!Q  
return (true); B[w~bW|K  
} )/A IfH  
//+------------------------------------------------------------------+ C(qqGK{  
bool OnSLIncrease() tQ=M=BPZ  
{ jl YnV/ ]  
StopLoss=StringToInteger(ObjectGetString(0,\"SL\",OBJPROP_TEXT)); Z6#}6Y{  
StopLoss+=1; F$T@OT6  
if(StopLoss>1000) ~OO&%\$k  
StopLoss=1000; O+~.p  
ObjectSetString(0,\"SL\",OBJPROP_TEXT,IntegerToString(StopLoss)); hY X H9:  
return (true); AC :cV='  
} z'OY6  
//+------------------------------------------------------------------+ ;dgxeP;mp  
bool OnSLDecrease() sJu^deX  
{ MW*@fl<@?M  
StopLoss=StringToInteger(ObjectGetString(0,\"SL\",OBJPROP_TEXT)); L>VZ-j  
StopLoss-=1; .4P5tIn\  
if(StopLoss<0) jSNUU.lur  
StopLoss=0; zG)XB*c  
ObjectSetString(0,\"SL\",OBJPROP_TEXT,IntegerToString(StopLoss)); xrb %-vT  
return (true); NGZEUtj  
} X-,scm  
//+------------------------------------------------------------------+ lYEMrr!KQw  
bool OnAutoManual() $=?1>zvF  
{ yM}b  
AutoFlag=!AutoFlag; =xz Dpn>f  
if(AutoFlag==true) }@Rq'VPZd  
{ ~a@O1MB  
ObjectSetInteger(0,\"AutoManual\",OBJPROP_COLOR,DarkRed); e_mUO"  
ObjectSetInteger(0,\"AutoManual\",OBJPROP_BGCOLOR,Red); TTB1}j+V6  
ObjectSetString(0,\"AutoManual\",OBJPROP_TEXT,\"Auto\"); X]up5tk~  
} iEd%8 F h  
else Bc1[^{`bq^  
{ Np$peT[  
ObjectSetInteger(0,\"AutoManual\",OBJPROP_COLOR,Green); N$#518  
ObjectSetInteger(0,\"AutoManual\",OBJPROP_BGCOLOR,LightGreen); ?1%/G<  
ObjectSetString(0,\"AutoManual\",OBJPROP_TEXT,\"Manual\"); t\YN\`XD  
} 2BTFK"=U  
return (true); zQY|=4NP  
} o#(z*v@  
//+------------------------------------------------------------------+ }Ej^M~Vv  
void CreateTradeObject() /JaCbT?*T  
{ GJlkEWs  
//---Close All }9Yd[`  
ObjectCreate(0,\"CloseAll\",OBJ_BUTTON,0,0,0,0,0); iCA!=%M@D  
ObjectSetInteger(0,\"CloseAll\",OBJPROP_XDISTANCE,10); a`SQcNBf*  
ObjectSetInteger(0,\"CloseAll\",OBJPROP_YDISTANCE,10); 96W!~w2xx  
ObjectSetInteger(0,\"CloseAll\",OBJPROP_XSIZE,80); B^4D`0G[4  
ObjectSetInteger(0,\"CloseAll\",OBJPROP_YSIZE,20); ]7H ?  
ObjectSetString(0,\"CloseAll\",OBJPROP_TEXT,\"CloseAll\"); R7'a/  
ObjectSetInteger(0,\"CloseAll\",OBJPROP_STATE,0); Z+jgFl 4  
//---Close Profit i1ph{;C  
ObjectCreate(0,\"CloseProfit\",OBJ_BUTTON,0,0,0,0,0); \SB~rz"A  
ObjectSetInteger(0,\"CloseProfit\",OBJPROP_XDISTANCE,10); #ma#oWqF}  
ObjectSetInteger(0,\"CloseProfit\",OBJPROP_YDISTANCE,35); I%dFVt@  
ObjectSetInteger(0,\"CloseProfit\",OBJPROP_XSIZE,80); *Q= 3v  
ObjectSetInteger(0,\"CloseProfit\",OBJPROP_YSIZE,20); NZUQ R`5  
ObjectSetString(0,\"CloseProfit\",OBJPROP_TEXT,\"CloseProfit\"); :Ja]Vt  
ObjectSetInteger(0,\"CloseProfit\",OBJPROP_STATE,0); ^1d"Rqtv  
//---Close Loss RI,Z&kXj2o  
ObjectCreate(0,\"CloseLoss\",OBJ_BUTTON,0,0,0,0,0); d'1 L#`?  
ObjectSetInteger(0,\"CloseLoss\",OBJPROP_XDISTANCE,10); 3:q\]]]S  
ObjectSetInteger(0,\"CloseLoss\",OBJPROP_YDISTANCE,60); VUfV=&D-*g  
ObjectSetInteger(0,\"CloseLoss\",OBJPROP_XSIZE,80); l=jfgsjc  
ObjectSetInteger(0,\"CloseLoss\",OBJPROP_YSIZE,20); eK }AVz}k  
ObjectSetString(0,\"CloseLoss\",OBJPROP_TEXT,\"CloseLoss\"); _ZgIm3p0A  
ObjectSetInteger(0,\"CloseLoss\",OBJPROP_STATE,0); $`J'Y>`  
//---Open Buy KH4 5A'o  
ObjectCreate(0,\"OpenBuy\",OBJ_BUTTON,0,0,0,0,0); zP\n<L5  
ObjectSetInteger(0,\"OpenBuy\",OBJPROP_XDISTANCE,10); \/8 I6a=  
ObjectSetInteger(0,\"OpenBuy\",OBJPROP_YDISTANCE,90); &_Py{Cv@Dw  
ObjectSetInteger(0,\"OpenBuy\",OBJPROP_XSIZE,80); '\[o>n2  
ObjectSetInteger(0,\"OpenBuy\",OBJPROP_YSIZE,20); +8+@Az[e0  
ObjectSetString(0,\"OpenBuy\",OBJPROP_TEXT,\"OpenBuy\"); &<</[h/B/F  
ObjectSetInteger(0,\"OpenBuy\",OBJPROP_STATE,0); MPt:bf#  
//---Open Sell {Mt4QA5iZ  
ObjectCreate(0,\"OpenSell\",OBJ_BUTTON,0,0,0,0,0); ,X Zo0 !  
ObjectSetInteger(0,\"OpenSell\",OBJPROP_XDISTANCE,10); _*b1]<  
ObjectSetInteger(0,\"OpenSell\",OBJPROP_YDISTANCE,115); P 19nF[A  
ObjectSetInteger(0,\"OpenSell\",OBJPROP_XSIZE,80); &m=Xg(G~c  
ObjectSetInteger(0,\"OpenSell\",OBJPROP_YSIZE,20); ?b?`(JTR  
ObjectSetString(0,\"OpenSell\",OBJPROP_TEXT,\"OpenSell\"); ["|' f  
ObjectSetInteger(0,\"OpenSell\",OBJPROP_STATE,0); }kg?A oo  
//---Lots-Label b2OVg +3  
ObjectCreate(0,\"LotsLabel\",OBJ_LABEL,0,0,0,0,0); 57/9i> @  
ObjectSetInteger(0,\"LotsLabel\",OBJPROP_COLOR,Yellow); odxsF(Q0p  
ObjectSetInteger(0,\"LotsLabel\",OBJPROP_XDISTANCE,100); FYIzMp.4  
ObjectSetInteger(0,\"LotsLabel\",OBJPROP_YDISTANCE,10); Z5aU7  
ObjectSetInteger(0,\"LotsLabel\",OBJPROP_XSIZE,30); 5IeF |#g  
ObjectSetInteger(0,\"LotsLabel\",OBJPROP_YSIZE,20); %x_c2  
ObjectSetString(0,\"LotsLabel\",OBJPROP_TEXT,\"Lots\"); =j[zMO  
ObjectSetInteger(0,\"LotsLabel\",OBJPROP_FONTSIZE,11); h>v;1Q O9D  
//---Lots-Edit p8<Y5:`  
ObjectCreate(0,\"Lots\",OBJ_EDIT,0,0,0,0,0); Skgvnmk[U  
ObjectSetInteger(0,\"Lots\",OBJPROP_COLOR,Yellow); B9`^JYT<  
ObjectSetInteger(0,\"Lots\",OBJPROP_XDISTANCE,130); [u[`!L=  
ObjectSetInteger(0,\"Lots\",OBJPROP_YDISTANCE,10); @-dM'R6C  
ObjectSetInteger(0,\"Lots\",OBJPROP_XSIZE,40); 'Z LGt#  
ObjectSetInteger(0,\"Lots\",OBJPROP_YSIZE,20); 2kV[A92s  
ObjectSetString(0,\"Lots\",OBJPROP_TEXT,DoubleToString(Lots,2)); fsa  
ObjectSetInteger(0,\"Lots\",OBJPROP_FONTSIZE,10); YH33E~f  
ObjectSetInteger(0,\"Lots\",OBJPROP_SELECTABLE,0); KE\p|Xi  
//---Lots-+ V6l*!R  
ObjectCreate(0,\"LotsIncrease\",OBJ_BUTTON,0,0,0,0,0); O[Xl*9P  
ObjectSetInteger(0,\"LotsIncrease\",OBJPROP_COLOR,White); L-_dq0T  
ObjectSetInteger(0,\"LotsIncrease\",OBJPROP_BGCOLOR,Green); t ?8 ?Ok  
ObjectSetInteger(0,\"LotsIncrease\",OBJPROP_XDISTANCE,170); )e.Y"5My  
ObjectSetInteger(0,\"LotsIncrease\",OBJPROP_YDISTANCE,10); }49X  N  
ObjectSetInteger(0,\"LotsIncrease\",OBJPROP_XSIZE,20); hNB;29r~  
ObjectSetInteger(0,\"LotsIncrease\",OBJPROP_YSIZE,10); }K,:aN,44\  
ObjectSetString(0,\"LotsIncrease\",OBJPROP_TEXT,\"+\"); |K?fVL  
ObjectSetInteger(0,\"LotsIncrease\",OBJPROP_STATE,0); l c)*HYqU  
//---Lots-- Bb[%?~ E!  
ObjectCreate(0,\"LotsDecrease\",OBJ_BUTTON,0,0,0,0,0); p D!IB`cA4  
ObjectSetInteger(0,\"LotsDecrease\",OBJPROP_COLOR,White); K7}EL|Kx  
ObjectSetInteger(0,\"LotsDecrease\",OBJPROP_BGCOLOR,Red); >B$ZKE  
ObjectSetInteger(0,\"LotsDecrease\",OBJPROP_XDISTANCE,170); ul~>eZ  
ObjectSetInteger(0,\"LotsDecrease\",OBJPROP_YDISTANCE,20); MfUG@  
ObjectSetInteger(0,\"LotsDecrease\",OBJPROP_XSIZE,20); -e#YWMo(  
ObjectSetInteger(0,\"LotsDecrease\",OBJPROP_YSIZE,10); uEQH6~\{Nl  
ObjectSetString(0,\"LotsDecrease\",OBJPROP_TEXT,\"-\"); ey<u  
ObjectSetInteger(0,\"LotsDecrease\",OBJPROP_STATE,0); ,c"_X8Fkx$  
//---TP-Label xB:,l'\G  
ObjectCreate(0,\"TPLabel\",OBJ_LABEL,0,0,0,0,0); }xTTz,Oj$  
ObjectSetInteger(0,\"TPLabel\",OBJPROP_COLOR,Yellow); /b,+YyWi%  
ObjectSetInteger(0,\"TPLabel\",OBJPROP_XDISTANCE,100); Mj |)KDL  
ObjectSetInteger(0,\"TPLabel\",OBJPROP_YDISTANCE,35); c38RE,4U  
ObjectSetInteger(0,\"TPLabel\",OBJPROP_XSIZE,30); P(G$@},W  
ObjectSetInteger(0,\"TPLabel\",OBJPROP_YSIZE,20); !o~% F5|t  
ObjectSetString(0,\"TPLabel\",OBJPROP_TEXT,\"TP\"); 9,Zg'4",d  
ObjectSetInteger(0,\"TPLabel\",OBJPROP_FONTSIZE,11); b_-ESs]g  
//---TP-Edit p?X.I]=vRv  
ObjectCreate(0,\"TP\",OBJ_EDIT,0,0,0,0,0); e8gJ }8Fj  
ObjectSetInteger(0,\"TP\",OBJPROP_COLOR,Yellow); *%(8z~(\  
ObjectSetInteger(0,\"TP\",OBJPROP_XDISTANCE,130);  Y2vzK;  
ObjectSetInteger(0,\"TP\",OBJPROP_YDISTANCE,35); w[\*\'Vm0  
ObjectSetInteger(0,\"TP\",OBJPROP_XSIZE,40); leyhiL<  
ObjectSetInteger(0,\"TP\",OBJPROP_YSIZE,20); `;WiTE)&)  
ObjectSetString(0,\"TP\",OBJPROP_TEXT,IntegerToString(TakeProfit)); /S1EQ%_  
ObjectSetInteger(0,\"TP\",OBJPROP_FONTSIZE,10); /,$;xt-J35  
ObjectSetInteger(0,\"TP\",OBJPROP_SELECTABLE,0); {YWj`K  
//---TP-+ t5N@ z  
ObjectCreate(0,\"TPIncrease\",OBJ_BUTTON,0,0,0,0,0); :s+AIo6  
ObjectSetInteger(0,\"TPIncrease\",OBJPROP_COLOR,White); zkn K2e,$  
ObjectSetInteger(0,\"TPIncrease\",OBJPROP_BGCOLOR,Green); X}p#9^%N  
ObjectSetInteger(0,\"TPIncrease\",OBJPROP_XDISTANCE,170); w{)*'8oCB  
ObjectSetInteger(0,\"TPIncrease\",OBJPROP_YDISTANCE,35); xy46].x-  
ObjectSetInteger(0,\"TPIncrease\",OBJPROP_XSIZE,20); sp0& " &5  
ObjectSetInteger(0,\"TPIncrease\",OBJPROP_YSIZE,10); </tiNc  
ObjectSetString(0,\"TPIncrease\",OBJPROP_TEXT,\"+\"); *D #H-]9  
ObjectSetInteger(0,\"TPIncrease\",OBJPROP_STATE,0); cy7GiB2'  
//---TP-- 6@g2v^ %  
ObjectCreate(0,\"TPDecrease\",OBJ_BUTTON,0,0,0,0,0); 5p"n g8nR  
ObjectSetInteger(0,\"TPDecrease\",OBJPROP_COLOR,White); *$/7;CLq  
ObjectSetInteger(0,\"TPDecrease\",OBJPROP_BGCOLOR,Red); c.6u)"@$  
ObjectSetInteger(0,\"TPDecrease\",OBJPROP_XDISTANCE,170); +e<P7}ZQ  
ObjectSetInteger(0,\"TPDecrease\",OBJPROP_YDISTANCE,45); Ttn=VX{ \  
ObjectSetInteger(0,\"TPDecrease\",OBJPROP_XSIZE,20); ##Z:/SU  
ObjectSetInteger(0,\"TPDecrease\",OBJPROP_YSIZE,10); .3qaaXeH  
ObjectSetString(0,\"TPDecrease\",OBJPROP_TEXT,\"-\"); 15VOQE5Fl`  
ObjectSetInteger(0,\"TPDecrease\",OBJPROP_STATE,0); \6)l(b;  
//---SL-Label iHr{ VQ  
ObjectCreate(0,\"SLLabel\",OBJ_LABEL,0,0,0,0,0); 'Fo*h6=  
ObjectSetInteger(0,\"SLLabel\",OBJPROP_COLOR,Yellow); @!'Pr$`  
ObjectSetInteger(0,\"SLLabel\",OBJPROP_XDISTANCE,100); K8Gc5#OF  
ObjectSetInteger(0,\"SLLabel\",OBJPROP_YDISTANCE,60); C>$5<bx  
ObjectSetInteger(0,\"SLLabel\",OBJPROP_XSIZE,30); [0yKd?e  
ObjectSetInteger(0,\"SLLabel\",OBJPROP_YSIZE,20); Xw`vf7z*  
ObjectSetString(0,\"SLLabel\",OBJPROP_TEXT,\"SL\"); ]p(+m_F  
ObjectSetInteger(0,\"SLLabel\",OBJPROP_FONTSIZE,11); )b"H]"  
//---SL-Edit JTNQz  
ObjectCreate(0,\"SL\",OBJ_EDIT,0,0,0,0,0); _zI9 5  
ObjectSetInteger(0,\"SL\",OBJPROP_COLOR,Yellow); :g2?)Er-  
ObjectSetInteger(0,\"SL\",OBJPROP_XDISTANCE,130); Vky~yTL)\  
ObjectSetInteger(0,\"SL\",OBJPROP_YDISTANCE,60); M A}=  
ObjectSetInteger(0,\"SL\",OBJPROP_XSIZE,40); +Qt=N6>  
ObjectSetInteger(0,\"SL\",OBJPROP_YSIZE,20); W)1)zOD  
ObjectSetString(0,\"SL\",OBJPROP_TEXT,IntegerToString(StopLoss)); 2uZ <q?=  
ObjectSetInteger(0,\"SL\",OBJPROP_FONTSIZE,10); <(6@l@J|6  
ObjectSetInteger(0,\"SL\",OBJPROP_SELECTABLE,0); GbwcbfH  
//---SL-+ Q mOG2  
ObjectCreate(0,\"SLIncrease\",OBJ_BUTTON,0,0,0,0,0); 6b9Ddb*  
ObjectSetInteger(0,\"SLIncrease\",OBJPROP_COLOR,White); g[@Kd  
ObjectSetInteger(0,\"SLIncrease\",OBJPROP_BGCOLOR,Green); P_j ?V"i<  
ObjectSetInteger(0,\"SLIncrease\",OBJPROP_XDISTANCE,170); e-,U@_B  
ObjectSetInteger(0,\"SLIncrease\",OBJPROP_YDISTANCE,60); ~7Kqc\/H&I  
ObjectSetInteger(0,\"SLIncrease\",OBJPROP_XSIZE,20); ! o:m*:  
ObjectSetInteger(0,\"SLIncrease\",OBJPROP_YSIZE,10); pB@8b$8(Z  
ObjectSetString(0,\"SLIncrease\",OBJPROP_TEXT,\"+\"); ] ^to r  
ObjectSetInteger(0,\"SLIncrease\",OBJPROP_STATE,0); #57nm]?  
//---SL-- bEV 9l  
ObjectCreate(0,\"SLDecrease\",OBJ_BUTTON,0,0,0,0,0); 9.qIhg  
ObjectSetInteger(0,\"SLDecrease\",OBJPROP_COLOR,White); J|sX{/WT  
ObjectSetInteger(0,\"SLDecrease\",OBJPROP_BGCOLOR,Red); ik+qx~+`Qv  
ObjectSetInteger(0,\"SLDecrease\",OBJPROP_XDISTANCE,170); i@6MO'y  
ObjectSetInteger(0,\"SLDecrease\",OBJPROP_YDISTANCE,70); lJ3/^Htn  
ObjectSetInteger(0,\"SLDecrease\",OBJPROP_XSIZE,20); 9qIUBHe  
ObjectSetInteger(0,\"SLDecrease\",OBJPROP_YSIZE,10); /wK5YN.em  
ObjectSetString(0,\"SLDecrease\",OBJPROP_TEXT,\"-\"); VQZ3&]o  
ObjectSetInteger(0,\"SLDecrease\",OBJPROP_STATE,0); =   
//---AutoManual )-Zpr1kD  
ObjectCreate(0,\"AutoManual\",OBJ_BUTTON,0,0,0,0,0); u6'vzLmM  
ObjectSetInteger(0,\"AutoManual\",OBJPROP_COLOR,Green); 95_ ?F7}9  
ObjectSetInteger(0,\"AutoManual\",OBJPROP_BGCOLOR,LightGreen); nSz Fs(]f  
ObjectSetInteger(0,\"AutoManual\",OBJPROP_XDISTANCE,100); #E2`KGCzW  
ObjectSetInteger(0,\"AutoManual\",OBJPROP_YDISTANCE,115); sRE$*^i  
ObjectSetInteger(0,\"AutoManual\",OBJPROP_XSIZE,90); *ys@ 'Ai?  
ObjectSetInteger(0,\"AutoManual\",OBJPROP_YSIZE,20); HW|c -\tS  
ObjectSetString(0,\"AutoManual\",OBJPROP_TEXT,\"Manual\"); qDqIy+WR  
ObjectSetInteger(0,\"AutoManual\",OBJPROP_STATE,0); }H?8~S =  
} qRJg/~_h{  
//+------------------------------------------------------------------+ q+x4Od3  
//+------------------------------------------------------------------+ A]Zp1XEG  
void InitEA() @\i6m]\X  
{ _0)#-L>xKF  
MAOpenHandle=iMA(Symbol(),PERIOD_CURRENT,5,0,MODE_SMA,PRICE_OPEN); % rdW:  
MACloseHandle=iMA(Symbol(),PERIOD_CURRENT,5,0,MODE_SMA,PRICE_CLOSE); X@b$C~+  
MacdHandle=iMACD(Symbol(),PERIOD_CURRENT,12,26,1,PRICE_CLOSE);  uw LT$  
ArraySetAsSeries(MAOpenBuffer,true); s^^X.z ,  
ArraySetAsSeries(MACloseBuffer,true); ;QR|v  
ArraySetAsSeries(MacdBuffer,true); ;} gvBI2e  
} %{yr#F=t#]  
//+------------------------------------------------------------------+ TIW6v4  
void OpenCloseMacdEA() #v:<\-MjN  
{ )"m FlS<I  
if(AccountInfoDouble(ACCOUNT_FREEMARGIN)<(1000*Lots)) 3! dD!'  
{ ynw^nmM  
MessageBox(\"Free Margin not enough!\",\"Expert Warning!\",MB_OK|MB_ICONWARNING); UIL5K   
OnAutoManual(); !.+iA=K{  
return; ve1jLjsB  
} [=Np.:Y%  
CopyBuffer(MAOpenHandle,0,0,2,MAOpenBuffer); jn^i4f>N  
CopyBuffer(MACloseHandle,0,0,2,MACloseBuffer); ' hO+b  
CopyBuffer(MacdHandle,0,0,3,MacdBuffer); D?}LKs[  
if(MACloseBuffer[0]>MAOpenBuffer[0] && MACloseBuffer[1]<=MAOpenBuffer[1]) j6/ 3p|E  
{ '&?47+W  
Auto.CloseAndBuy(Symbol(),Lots,TakeProfit,StopLoss); 5>j,P   
} E-*udQ  
else if(MACloseBuffer[0]>MAOpenBuffer[0] && MacdBuffer[2]>MacdBuffer[1] && MacdBuffer[1]<MacdBuffer[0]) sG}}a}U1  
{ csRba;Z[  
Auto.CloseAndBuy(Symbol(),Lots,TakeProfit,StopLoss); =WyAOgy}  
} eY\tO"Hc  
else if(MACloseBuffer[0]<MAOpenBuffer[0] && MACloseBuffer[1]>=MAOpenBuffer[1]) &4O"Xs`ka  
{ eP &K]#  
Auto.CloseAndSell(Symbol(),Lots,TakeProfit,StopLoss); }=?r`J+Ev;  
} { zlq6z  
else if(MACloseBuffer[0]<MAOpenBuffer[0] && MacdBuffer[2]<MacdBuffer[1] && MacdBuffer[1]>MacdBuffer[0]) 8Ral%I:gr  
{ P M9HfQU?  
Auto.CloseAndSell(Symbol(),Lots,TakeProfit,StopLoss); U=Z@Ipu5T  
} zFP}=K:o)  
} RvDqo d  
//+------------------------------------------------------------------+ ?B@hCd)  
#kLM=a/_NO  
(C6Y*Zm\  
 
离线b8866
发帖
8
金钱
1
威望
33
贡献
44
交易币
0
只看该作者 沙发  发表于: 2009-10-28
看不懂,谁翻译一下
 
离线couragez

发帖
24
金钱
16
威望
2
贡献
54
交易币
0
只看该作者 板凳  发表于: 2010-05-18
太棒了!!谢谢tpy!!
离线dangym

发帖
16
金钱
90
威望
34
贡献
59
交易币
0
只看该作者 地板  发表于: 2010-08-24
谢谢,先下载了再研究一下。

  • 在线咨询
  • 400-881-0680