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

Mql5-TradingControler-II [复制链接]

上一主题 下一主题
离线tpy
 
发帖
4
金钱
2
威望
100
贡献
31
交易币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-10-27
本帖最后由 shawnyau 于 2009-10-27 21:07 编辑 -*xm<R],  
t^eWFX  
Mql5-TradingControler-II /5cFa  
zN}1Qh  
//+------------------------------------------------------------------+ ;',hwo_LBf  
//| ManualTrading.mqh | -L%J,f[&,  
//+------------------------------------------------------------------+ @JJ,$ ?  
class CManualTrading u!kC+0Y  
{ IQn|0$':Z  
private: >q W_%  
MqlTradeRequest request; yGGQ;!/  
MqlTradeResult result; m417=wf  
public: ,-!h  
CManualTrading(){}; LOm*=MVex  
bool CloseAll(); z4qw*. 5  
bool CloseProfit(); B 4s^X`?z  
bool CloseLoss(); sZ~q|}D-  
bool OpenBuy(string symbol,double lots,int tp,int sl); +|Tz<\.C  
bool OpenSell(string symbol,double lots,int tp,int sl); 4J#F;#iA  
}; N0Y$QWr_$  
//+------------------------------------------------------------------+ l/=2P_8+Z  
bool CManualTrading::CloseAll() ;3\oU$'  
{ %[1\d)  
string symbol; i}fAjS:W  
int positions=PositionsTotal(); ,'FH[2  
for(int ip=0;ip<positions;ip++) x2q6y  
{ X# 625h  
symbol=PositionGetSymbol(ip); IJWUNKqo=  
if(PositionSelect(symbol)==true) VnZRsFY<^  
{ h=:*cqp4  
request.action=TRADE_ACTION_DEAL; dC&OjBQ  
request.symbol=symbol; 3YKJN4  
request.volume=PositionGetDouble(POSITION_VOLUME); Dd:TFZo  
request.tp=0.0; n\-nBrVSf  
request.sl=0.0; }9Th`   
request.deviation=(ulong)(SymbolInfoInteger(symbol,SYMBOL_SPREAD)); Ofx]  
if(request.deviation==0) _1c0pQ^}3  
request.deviation=(ulong)((SymbolInfoDouble(symbol,SYMBOL_ASK)-SymbolInfoDouble(symbol,SYMBOL_BID))/SymbolInfoDouble(symbol,SYMBOL_POINT)); O/(QLgUr  
request.type_filling=ORDER_FILLING_CANCEL; s6U$]9 `  
if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY) p\'0m0*   
{ L:.z FW,  
request.type=ORDER_TYPE_SELL; Q.U wtH  
request.price=SymbolInfoDouble(symbol,SYMBOL_BID); 6YHQ/#'G~  
} \80W?9qj  
if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_SELL) #`HY"-7m_  
{ #VvU8"u  
request.type=ORDER_TYPE_BUY; f}!Eu  
request.price=SymbolInfoDouble(symbol,SYMBOL_ASK); @^2?97i c  
} ; u@& [  
OrderSend(request,result); G%HuB5:u  
} n^t!+  
} @2`$ XWD  
return(true); 4Zn"K}q  
} JW}O`H9  
//+------------------------------------------------------------------+ ls@j8bVv^  
bool CManualTrading::CloseProfit() -<{;.~nI.  
{ I^l\<1"]  
string symbol; X-<l+WP  
int positions=PositionsTotal(); >X_5o^s2s  
for(int ip=0;ip<positions;ip++) Fz{T;  
{ o JX4+uJ  
symbol=PositionGetSymbol(ip); vACJE  
if(PositionSelect(symbol)==true && PositionGetDouble(POSITION_PROFIT)>0.0) a{@gzB  
{ ".7\>8A#a  
request.action=TRADE_ACTION_DEAL; #GuN.`__n,  
request.symbol=symbol; IKVFbTX:y  
request.volume=PositionGetDouble(POSITION_VOLUME); WNSY@q  
request.tp=0.0; ez14f$cJ+  
request.sl=0.0; )m$MC25  
request.deviation=(ulong)(SymbolInfoInteger(symbol,SYMBOL_SPREAD)); ugzrG0=lx  
if(request.deviation==0) d]K$0HY  
request.deviation=(ulong)((SymbolInfoDouble(symbol,SYMBOL_ASK)-SymbolInfoDouble(symbol,SYMBOL_BID))/SymbolInfoDouble(symbol,SYMBOL_POINT)); PJL [En*  
request.type_filling=ORDER_FILLING_CANCEL; ML.|\:r*  
if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY) X@ S~D7|ja  
{ PYiO l  
request.type=ORDER_TYPE_SELL; >BZ,g!N,J}  
request.price=SymbolInfoDouble(symbol,SYMBOL_BID); gKP=@v%-  
} \U>|^$4 #5  
if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_SELL) _%u t#  
{ -TS5g1  
request.type=ORDER_TYPE_BUY; M<r]a{Yv  
request.price=SymbolInfoDouble(symbol,SYMBOL_ASK); ~KczP1p  
} FXul u6"SX  
OrderSend(request,result); &$ fyY:<\  
} 85USMPF  
} [#(',~lN7  
return(true); ?2q0[T?e  
} NA$%Up  
//+------------------------------------------------------------------+ ;Sfe.ky @6  
bool CManualTrading::CloseLoss() {Wndp%  
{ UOyM=#ipY  
string symbol; bB)$=7\  
int positions=PositionsTotal(); b~2LD3"3  
for(int ip=0;ip<positions;ip++) eVd:C8q  
{ 6s>io%,:  
symbol=PositionGetSymbol(ip); wYLodMaYH  
if(PositionSelect(symbol)==true && PositionGetDouble(POSITION_PROFIT)<0.0) "MK2QIo  
{ >f4[OBc  
request.action=TRADE_ACTION_DEAL; -q8l"i>h=  
request.symbol=symbol; FzykC  
request.volume=PositionGetDouble(POSITION_VOLUME); ~7FS'!W,F  
request.tp=0.0; KyQTrl.qdl  
request.sl=0.0; e tL?UF$  
request.deviation=(ulong)(SymbolInfoInteger(symbol,SYMBOL_SPREAD)); =k,?+h~  
if(request.deviation==0) X|&H2y|*7  
request.deviation=(ulong)((SymbolInfoDouble(symbol,SYMBOL_ASK)-SymbolInfoDouble(symbol,SYMBOL_BID))/SymbolInfoDouble(symbol,SYMBOL_POINT)); HAo=t  
request.type_filling=ORDER_FILLING_CANCEL; fwmXIpteK  
if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_BUY) lMG+,?<uK&  
{  F=a  
request.type=ORDER_TYPE_SELL; ;nJ2i?"  
request.price=SymbolInfoDouble(symbol,SYMBOL_BID); nLmF5.&  
} !* KQ2#e  
if(PositionGetInteger(POSITION_TYPE)==POSITION_TYPE_SELL) rqnxRq  
{ 8)1=5 n  
request.type=ORDER_TYPE_BUY; dA E85  
request.price=SymbolInfoDouble(symbol,SYMBOL_ASK); GmE`YW  
} ZHUW1:qs  
OrderSend(request,result); sa _J6~  
} lkly2|wA  
} Yk)fBPHr  
return(true); ,fTC}>s4  
} vM]5IHqeE  
//+------------------------------------------------------------------+ `HnZ{PKf  
bool CManualTrading::OpenBuy(string symbol,double lots,int tp,int sl) e=p_qhBt  
{ KaS*LDzw  
request.action=TRADE_ACTION_DEAL; o2bmsnXQ  
request.symbol=symbol; gR gB= C{  
request.type=ORDER_TYPE_BUY; v _:KqdmO]  
request.price=SymbolInfoDouble(symbol,SYMBOL_ASK); ~% t'}JDZ  
request.volume=lots; =./PY10'  
request.tp=SymbolInfoDouble(symbol,SYMBOL_ASK)+tp*SymbolInfoDouble(symbol,SYMBOL_POINT); F|/6;&*?M  
request.sl=SymbolInfoDouble(symbol,SYMBOL_ASK)-sl*SymbolInfoDouble(symbol,SYMBOL_POINT);   )*6  
request.deviation=(ulong)(SymbolInfoInteger(symbol,SYMBOL_SPREAD)); vXwMo4F*  
if(request.deviation==0) fF>hca>  
request.deviation=(ulong)((SymbolInfoDouble(symbol,SYMBOL_ASK)-SymbolInfoDouble(symbol,SYMBOL_BID))/SymbolInfoDouble(symbol,SYMBOL_POINT)); WlY\R>x#  
request.type_filling=ORDER_FILLING_CANCEL; F Pjc;zNA  
OrderSend(request,result); #Tag"b`  
return(true); |; mET  
} ",[/pb  
//+------------------------------------------------------------------+ IG;= |  
bool CManualTrading::OpenSell(string symbol,double lots,int tp,int sl) q o-|.I  
{ V4CA*FEA  
request.action=TRADE_ACTION_DEAL; xO %yjG=  
request.symbol=symbol; F.(e}EMyNh  
request.type=ORDER_TYPE_SELL; OI:=>Bk  
request.price=SymbolInfoDouble(symbol,SYMBOL_BID); z Z~t ,>  
request.volume=lots; t4~?m{  
request.tp=SymbolInfoDouble(symbol,SYMBOL_BID)-tp*SymbolInfoDouble(symbol,SYMBOL_POINT); Z$m&F0g  
request.sl=SymbolInfoDouble(symbol,SYMBOL_BID)+sl*SymbolInfoDouble(symbol,SYMBOL_POINT); '&gUAt  
request.deviation=(ulong)(SymbolInfoInteger(symbol,SYMBOL_SPREAD)); $gk=~p|  
if(request.deviation==0) ov\%*z2=  
request.deviation=(ulong)((SymbolInfoDouble(symbol,SYMBOL_ASK)-SymbolInfoDouble(symbol,SYMBOL_BID))/SymbolInfoDouble(symbol,SYMBOL_POINT)); 7<2?NLE8*  
request.type_filling=ORDER_FILLING_CANCEL; xs "\c7pC  
OrderSend(request,result); 1OqVNp%K  
return(true); bOV]!)o  
} +K;%sAZy  
//+------------------------------------------------------------------+ 0d`lugf  
$"=0{H.?  
1gYvp9Ma  
//+------------------------------------------------------------------+  3+M+5  
//| AutoTrading.mqh | 4%TmW/yd  
//+------------------------------------------------------------------+ o 7&q  
#include \"ManualTrading.mqh\" %8|?YxiZ:  
class CAutoTrading oYeFO w`  
{ g8Zf("  
private: Psjk 7\  
MqlTradeRequest request; #)KQ-x,  
MqlTradeResult result; #}'sknvM}  
CManualTrading *Manual; 7)Bizlf  
public: L0xh?B  
CAutoTrading(){Manual=new CManualTrading;}; %TQ5#{Y  
bool CloseAndBuy(string symbol,double lots,int tp,int sl); ]i'gU(+;`  
bool CloseAndSell(string symbol,double lots,int tp,int sl); v;R+{K87  
}; 4= hz4(5a  
//+------------------------------------------------------------------+ D?? \H\  
bool CAutoTrading::CloseAndBuy(string symbol,double lots,int tp,int sl) #K[6Ai=We}  
{ 1|#j/  
if(PositionSelect(symbol)==true) Tn\59 (  
{ 14rX:z  
request.action=TRADE_ACTION_DEAL; Vb8{OD3PK  
request.symbol=symbol; hk+"c^g:j<  
request.type=ORDER_TYPE_BUY; ]Saw}agE[%  
request.price=SymbolInfoDouble(symbol,SYMBOL_ASK); ;"D I)hd z  
request.volume=PositionGetDouble(POSITION_VOLUME)*2; 6ALUd^  
request.tp=SymbolInfoDouble(symbol,SYMBOL_ASK)+tp*SymbolInfoDouble(symbol,SYMBOL_POINT); G_n~1?  
request.sl=SymbolInfoDouble(symbol,SYMBOL_ASK)-sl*SymbolInfoDouble(symbol,SYMBOL_POINT); Eg|C  
request.deviation=(ulong)(SymbolInfoInteger(symbol,SYMBOL_SPREAD)); _f~m&="T!  
if(request.deviation==0) t_ZWd#x+;  
request.deviation=(ulong)((SymbolInfoDouble(symbol,SYMBOL_ASK)-SymbolInfoDouble(symbol,SYMBOL_BID))/SymbolInfoDouble(symbol,SYMBOL_POINT)); |+(Hia,X  
request.type_filling=ORDER_FILLING_CANCEL; ,O ]AB  
OrderSend(request,result); .< /.(7  
} Y!L<& sl   
else 9\D0mjn=l  
{ dsUY[X-<6  
Manual.OpenBuy(symbol,lots,tp,sl); /N82h`\n  
} U/I+A|S[  
return(true); vAp?Zl?g  
} 9,zM.g9Qv  
//+------------------------------------------------------------------+ (N25.}8Y  
bool CAutoTrading::CloseAndSell(string symbol,double lots,int tp,int sl) ]w[T_4 l  
{ 6$^dOJ_"  
if(PositionSelect(symbol)==true) p~w|St 7jg  
{ FI$#x%A  
request.action=TRADE_ACTION_DEAL; `Gp!Y  
request.symbol=symbol; v lsS  
request.type=ORDER_TYPE_SELL; |6.1uRFE2  
request.price=SymbolInfoDouble(symbol,SYMBOL_BID); JKsdPW<?  
request.volume=PositionGetDouble(POSITION_VOLUME)*2; N%.Dj H  
request.tp=SymbolInfoDouble(symbol,SYMBOL_BID)-tp*SymbolInfoDouble(symbol,SYMBOL_POINT); _("&jfn  
request.sl=SymbolInfoDouble(symbol,SYMBOL_BID)+sl*SymbolInfoDouble(symbol,SYMBOL_POINT); aab?hR  
request.deviation=(ulong)(SymbolInfoInteger(symbol,SYMBOL_SPREAD)); }w)`)N  
if(request.deviation==0) xf.2Ig  
request.deviation=(ulong)((SymbolInfoDouble(symbol,SYMBOL_ASK)-SymbolInfoDouble(symbol,SYMBOL_BID))/SymbolInfoDouble(symbol,SYMBOL_POINT)); igW>C2J  
request.type_filling=ORDER_FILLING_CANCEL; ,T|%vqbmw  
OrderSend(request,result); 92k}ON  
} |UO1vA@  
else ~"*;lT5KX  
{ zq5_&AeW  
Manual.OpenSell(symbol,lots,tp,sl); swDSV1alMB  
} ^w<:UE2a!  
return(true); YSuw V)Y  
} X |f'e@  
//+------------------------------------------------------------------+ / N@0qQ  
S)"5X)mq  
//+------------------------------------------------------------------+ dBG]J18  
//| TradingControler.mq5 | iR#jBqXD  
//+------------------------------------------------------------------+ uF T\a=  
#property description \"Trading Controler\" eT+MN`  
#property version \"2.00\" {\t:{.F A  
#include <TradingControler\ManualTrading.mqh> YKh%`Y1<  
#include <TradingControler\AutoTrading.mqh> T6H"ER$  
int TakeProfit=50; #G#gB   
int StopLoss=30; U(./LrM05  
double Lots=0.1; ]Wa,a T'  
CManualTrading *Manual; kd \G>  
CAutoTrading *Auto; cDTDim1F  
bool AutoFlag=false; 5o~Z>  
intMAOpenHandle,MACloseHandle,MacdHandle; <E\BKC%M  
double MAOpenBuffer[]; 9DtSYd/  
double MACloseBuffer[]; I3s}t$`y(  
double MacdBuffer[]; FyS K&  
//+------------------------------------------------------------------+ v5$zz w  
int OnInit() *smo{!0Gg  
{ 2C8M1^0:Z  
if(Digits()==5) "1#,d#Q$  
{ JqZ%*^O  
TakeProfit=500; L|H{;r'  
StopLoss=300; G![1+2p:Tq  
} igQyn|  
else if(Digits()==4) [,e_2<   
{ 2Vi[qS^  
TakeProfit=50; u@|yw)  
StopLoss=30; {oZ]1Qf_  
} L@ay4,e.bz  
Manual=new CManualTrading; #*`|}_6L  
Auto=new CAutoTrading; xSf3Ir(,  
ls5S9R 5  
CreateTradeObject(); qnlj~]NV  
InitEA(); +(<f(]bG  
ChartRedraw(); prWid3}  
return(0); 1Li@O[%X<  
} )>/c/ B  
//+------------------------------------------------------------------+ WAEKvM4*i0  
void OnDeinit(const int reason) #.@=xhK/  
{ M Q6Y^,B  
ObjectDelete(0,\"CloseAll\"); YJy*OS_&  
ObjectDelete(0,\"CloseProfit\"); %L/=heBBd  
ObjectDelete(0,\"CloseLoss\"); 1 W0;YcT]  
ObjectDelete(0,\"OpenBuy\"); >W;i2%T  
ObjectDelete(0,\"OpenSell\"); 9ZBF1sMg  
|(S W  
ObjectDelete(0,\"LotsLabel\"); C gx?K]>y  
ObjectDelete(0,\"Lots\"); zgqw*)C~  
ObjectDelete(0,\"LotsIncrease\"); ~laZ(Bma);  
ObjectDelete(0,\"LotsDecrease\"); b5DrwX{Ff  
!A!\S/x4  
ObjectDelete(0,\"TPLabel\");  zjA/Z(  
ObjectDelete(0,\"TP\"); 9QMn%8=j  
ObjectDelete(0,\"TPIncrease\"); aJ8pJ{,P  
ObjectDelete(0,\"TPDecrease\"); [Ni4[\  
S F>D:$a  
ObjectDelete(0,\"SLLabel\"); tWn m{mF  
ObjectDelete(0,\"SL\"); iIE(zw)H  
ObjectDelete(0,\"SLIncrease\"); s{e(- 7'  
ObjectDelete(0,\"SLDecrease\"); 4MJzx9#  
ObjectDelete(0,\"AutoManual\"); +ZKhmb!  
R`2A-c  
ChartRedraw(); /y)"j#-eW  
} m>ycN  
//+------------------------------------------------------------------+ DYlvxF`  
void OnTick() \oX8/-0f  
{ *ldMr{s<R  
if(AutoFlag==true) ~AanU1U<  
OpenCloseMacdEA(); lt6;*z[  
} GWhAjL/N  
//+------------------------------------------------------------------+ M J,ZXJXs  
void OnChartEvent(const int id,const long& lparam,const double& dparam,const string& sparam) ^Opy6Bqb  
{ M+;P?|a  
if(id==CHARTEVENT_OBJECT_ENDEDIT) IT`=\K/[4  
{ 0sDwTb"  
OnEndEdit(sparam); knOn UU  
} F|l`YtZZd  
else if(id==CHARTEVENT_OBJECT_CLICK && sparam==\"CloseAll\") 4su_;+]  
{ $54=gRo^  
Manual.CloseAll(); xN3 [Kp  
ObjectSetInteger(0,\"CloseAll\",OBJPROP_STATE,0); 0UGiPH,()  
} NdsX*o@a  
else if(id==CHARTEVENT_OBJECT_CLICK && sparam==\"CloseProfit\") v0`qMBr1y  
{ - LiPHHX<  
Manual.CloseProfit(); :YqQlr\  
ObjectSetInteger(0,\"CloseProfit\",OBJPROP_STATE,0); IAP/G5'Q  
} `u#;MUg  
else if(id==CHARTEVENT_OBJECT_CLICK && sparam==\"CloseLoss\") sK@Y!oF}\  
{ ZU-4})7uSB  
Manual.CloseLoss(); WVS$O99Y  
ObjectSetInteger(0,\"CloseLoss\",OBJPROP_STATE,0); Cs:+93w  
} e^k!vk-SLF  
else if(id==CHARTEVENT_OBJECT_CLICK && sparam==\"OpenBuy\") 'y4zBLY  
{ |*^8~u3J"  
Manual.OpenBuy(Symbol(),Lots,TakeProfit,StopLoss); sULIrYRA  
ObjectSetInteger(0,\"OpenBuy\",OBJPROP_STATE,0); @[MO,J&h  
} 5vD3K! \u  
else if(id==CHARTEVENT_OBJECT_CLICK && sparam==\"OpenSell\") h6u2j p(+  
{ F:M>z=  
Manual.OpenSell(Symbol(),Lots,TakeProfit,StopLoss); z)4UMR#b&  
ObjectSetInteger(0,\"OpenSell\",OBJPROP_STATE,0); QVIcb ;&:}  
} .#*D!;f  
else if(id==CHARTEVENT_OBJECT_CLICK && sparam==\"LotsIncrease\") 8r,9OM  
{  fO K|:  
OnLotsIncrease(); hZcmP"wgC1  
ObjectSetInteger(0,\"LotsIncrease\",OBJPROP_STATE,0); .iFViVZC  
} ?RHn @$g8M  
else if(id==CHARTEVENT_OBJECT_CLICK && sparam==\"LotsDecrease\") %/51o6a  
{ d$pYo)8o({  
OnLotsDecrease(); tl|ijR  
ObjectSetInteger(0,\"LotsDecrease\",OBJPROP_STATE,0); Z a! gbt  
} axX{6  
else if(id==CHARTEVENT_OBJECT_CLICK && sparam==\"TPIncrease\") I?B,sl_w  
{ @K\o4\  
OnTPIncrease(); x>v-m*4Z4@  
ObjectSetInteger(0,\"TPIncrease\",OBJPROP_STATE,0); >z(wf>2J  
} k0JW[04j  
else if(id==CHARTEVENT_OBJECT_CLICK && sparam==\"TPDecrease\") 6hO-H&r++  
{ RND9D\7  
OnTPDecrease(); |#k@U6`SG  
ObjectSetInteger(0,\"TPDecrease\",OBJPROP_STATE,0); {{\ce;hN  
} +y/55VLq  
else if(id==CHARTEVENT_OBJECT_CLICK && sparam==\"SLIncrease\") )hBE11,PB  
{ iPvuz7j=h  
OnSLIncrease(); x:fW~!Xc6  
ObjectSetInteger(0,\"SLIncrease\",OBJPROP_STATE,0); .fp&MgiQ  
} zU&L.+   
else if(id==CHARTEVENT_OBJECT_CLICK && sparam==\"SLDecrease\") >&Y-u%}U  
{ GSi>l,y'  
OnSLDecrease(); LHkQ'O0  
ObjectSetInteger(0,\"SLDecrease\",OBJPROP_STATE,0); K\u_Ji]k  
} pDl3!m  
else if(id==CHARTEVENT_OBJECT_CLICK && sparam==\"AutoManual\") __Nv0Ru  
{ ) #+^ sAO  
OnAutoManual(); .4-,_`T?  
ObjectSetInteger(0,\"AutoManual\",OBJPROP_STATE,0); LT VF8-v  
} gE])!GMM3  
ChartRedraw(); 69G`2_eKCp  
} .i Hn5SGA  
//+------------------------------------------------------------------+ B*3Y !!  
bool OnEndEdit(string edit) S DLvi!y  
{ aZ|=(]  
if(edit==\"Lots\") 2RM+W2!!  
{ ZJ*g)) k7  
Lots=StringToDouble(ObjectGetString(0,\"Lots\",OBJPROP_TEXT)); DA&?e~L&H  
if(Lots>20.0) 2*iIjw3g  
Lots=20.0; D BE4&  
ObjectSetString(0,\"Lots\",OBJPROP_TEXT,DoubleToString(Lots,2)); /FP5`:PfL  
} L;Z0`mdz  
else if(edit==\"TP\") kn"(mJe$  
{ G  uQ=gN  
TakeProfit=StringToInteger(ObjectGetString(0,\"TP\",OBJPROP_TEXT));  -!W<DJ*  
if(TakeProfit>1000) a ] =  
TakeProfit=1000; ~w8JH2O  
ObjectSetString(0,\"TP\",OBJPROP_TEXT,IntegerToString(TakeProfit)); B33$pUk  
} Tou/5?# %e  
else if(edit==\"SL\") )q7UxzE+  
{ N_:qRpp6i  
StopLoss=StringToInteger(ObjectGetString(0,\"SL\",OBJPROP_TEXT)); ;4N;D  
if(StopLoss>1000) sVG(N.y  
StopLoss=1000; 3bnS W5  
ObjectSetString(0,\"SL\",OBJPROP_TEXT,IntegerToString(StopLoss)); C4TE-OM8  
} ,U(1NK8o  
return(true); o,|[GhtHqs  
} 8\:NMP8W\  
//+------------------------------------------------------------------+ `ZC<W]WYX/  
bool OnLotsIncrease() $56,$K`H  
{ )7h$G-fe  
Lots=StringToDouble(ObjectGetString(0,\"Lots\",OBJPROP_TEXT)); ,\NFt`]j  
Lots+=0.10; 72'5%*1  
if(Lots>20.0) 720DV +o  
Lots=20.0; G;YrF)\  
ObjectSetString(0,\"Lots\",OBJPROP_TEXT,DoubleToString(Lots,2)); Cg(Y&Gxf.  
return (true); ?!+MM&c-n  
} kBffF@{  
//+------------------------------------------------------------------+ UeRj< \"Q  
bool OnLotsDecrease() ' ET~  
{ #)nSr  
Lots=StringToDouble(ObjectGetString(0,\"Lots\",OBJPROP_TEXT)); .nVa[B |.  
Lots-=0.10; Hg=";,J  
if(Lots<0.1) \RG8{G,  
Lots=0.1; s6@DGSJ  
ObjectSetString(0,\"Lots\",OBJPROP_TEXT,DoubleToString(Lots,2)); W>j!Q^?  
return (true); C@'h<[v`1v  
} md"!33 @  
//+------------------------------------------------------------------+ 9[.8cg*  
bool OnTPIncrease() FG.em  
{ '/^qJ7eb  
TakeProfit=StringToInteger(ObjectGetString(0,\"TP\",OBJPROP_TEXT)); rustMs2p  
TakeProfit+=1; uM_wjP  
if(TakeProfit>1000) z=q3Zo  
TakeProfit=1000; Brf5dT49  
ObjectSetString(0,\"TP\",OBJPROP_TEXT,IntegerToString(TakeProfit)); RBs-_o+%  
return (true); t gI{`jS%  
} X-K=!pET  
//+------------------------------------------------------------------+ t*Sa@$p  
bool OnTPDecrease() H[,i{dD  
{ 5z7U1:  
TakeProfit=StringToInteger(ObjectGetString(0,\"TP\",OBJPROP_TEXT)); gG<~-8uQ  
TakeProfit-=1; WW4vn|0v  
if(TakeProfit<0) 5:Z0Pt  
TakeProfit=0; }B\a<0L/  
ObjectSetString(0,\"TP\",OBJPROP_TEXT,IntegerToString(TakeProfit)); e7Xeo+/  
return (true);  P5a4ze  
} U>=Z- T  
//+------------------------------------------------------------------+ A9I{2qW9+Z  
bool OnSLIncrease() l=S35og  
{ ;RDh ~EV  
StopLoss=StringToInteger(ObjectGetString(0,\"SL\",OBJPROP_TEXT)); 6& e3Nt  
StopLoss+=1; rI= v  
if(StopLoss>1000) 7Ri46Tkt  
StopLoss=1000; RDW8]=uM  
ObjectSetString(0,\"SL\",OBJPROP_TEXT,IntegerToString(StopLoss)); [Y|8\Ph`&  
return (true); >80;8\  
} = s>T;|  
//+------------------------------------------------------------------+ Yw4n-0g  
bool OnSLDecrease() V=R 3)GC  
{  CJ1 7n  
StopLoss=StringToInteger(ObjectGetString(0,\"SL\",OBJPROP_TEXT)); 15%w 8u  
StopLoss-=1; E(O74/2c8  
if(StopLoss<0) Eo{"9j\  
StopLoss=0; %-)H^i~]%  
ObjectSetString(0,\"SL\",OBJPROP_TEXT,IntegerToString(StopLoss)); d74d/l1*{  
return (true); 8J:}%DaxL  
} r[2ILe  
//+------------------------------------------------------------------+ ,5i`-OI  
bool OnAutoManual() T=iJGRctB  
{ 9KDEM gCW  
AutoFlag=!AutoFlag; LCZ\4g05  
if(AutoFlag==true) wb]%m1H`:  
{ ZIf  
ObjectSetInteger(0,\"AutoManual\",OBJPROP_COLOR,DarkRed); JW{rA6?   
ObjectSetInteger(0,\"AutoManual\",OBJPROP_BGCOLOR,Red); Sm)Ha:[4  
ObjectSetString(0,\"AutoManual\",OBJPROP_TEXT,\"Auto\"); C9~52+S  
} xAK6pDp  
else o^^rJk  
{ !B\R''J5  
ObjectSetInteger(0,\"AutoManual\",OBJPROP_COLOR,Green); G f,`  
ObjectSetInteger(0,\"AutoManual\",OBJPROP_BGCOLOR,LightGreen); B P2=2)Q  
ObjectSetString(0,\"AutoManual\",OBJPROP_TEXT,\"Manual\"); H| 8Qp*  
} "/3 db[  
return (true); xCg52zkH#  
} CS@FYO  
//+------------------------------------------------------------------+ +?:7O=Y  
void CreateTradeObject() UaWl6 Y&Vu  
{ ~rDZ?~%  
//---Close All _I)U%? V+  
ObjectCreate(0,\"CloseAll\",OBJ_BUTTON,0,0,0,0,0); V8rx#H~  
ObjectSetInteger(0,\"CloseAll\",OBJPROP_XDISTANCE,10); {U1?Et#  
ObjectSetInteger(0,\"CloseAll\",OBJPROP_YDISTANCE,10); 7s/u(~d)  
ObjectSetInteger(0,\"CloseAll\",OBJPROP_XSIZE,80); S 5/R_5  
ObjectSetInteger(0,\"CloseAll\",OBJPROP_YSIZE,20); pi Z[Y 5OE  
ObjectSetString(0,\"CloseAll\",OBJPROP_TEXT,\"CloseAll\"); 2 lj'"nm  
ObjectSetInteger(0,\"CloseAll\",OBJPROP_STATE,0); TygW0b 1  
//---Close Profit aMtsmL?=  
ObjectCreate(0,\"CloseProfit\",OBJ_BUTTON,0,0,0,0,0); r[4tPk  
ObjectSetInteger(0,\"CloseProfit\",OBJPROP_XDISTANCE,10); _H j!2 '  
ObjectSetInteger(0,\"CloseProfit\",OBJPROP_YDISTANCE,35); H5Z$*4%G  
ObjectSetInteger(0,\"CloseProfit\",OBJPROP_XSIZE,80); fA+ ,TEB~d  
ObjectSetInteger(0,\"CloseProfit\",OBJPROP_YSIZE,20); ;1%-8f:lW  
ObjectSetString(0,\"CloseProfit\",OBJPROP_TEXT,\"CloseProfit\"); :cF[(i/k4  
ObjectSetInteger(0,\"CloseProfit\",OBJPROP_STATE,0); n/+.s(7c  
//---Close Loss gk"$,\DI  
ObjectCreate(0,\"CloseLoss\",OBJ_BUTTON,0,0,0,0,0); ioYGZ%RG#  
ObjectSetInteger(0,\"CloseLoss\",OBJPROP_XDISTANCE,10); mt,OniU=Q  
ObjectSetInteger(0,\"CloseLoss\",OBJPROP_YDISTANCE,60); ]sE?ezu  
ObjectSetInteger(0,\"CloseLoss\",OBJPROP_XSIZE,80); 3'cE\u  
ObjectSetInteger(0,\"CloseLoss\",OBJPROP_YSIZE,20); 23RN}LUi  
ObjectSetString(0,\"CloseLoss\",OBJPROP_TEXT,\"CloseLoss\"); 5h Q E4/hH  
ObjectSetInteger(0,\"CloseLoss\",OBJPROP_STATE,0); 0w&27wW  
//---Open Buy +yk24 ` >  
ObjectCreate(0,\"OpenBuy\",OBJ_BUTTON,0,0,0,0,0); )qo {c1X  
ObjectSetInteger(0,\"OpenBuy\",OBJPROP_XDISTANCE,10); 2O.i\cH  
ObjectSetInteger(0,\"OpenBuy\",OBJPROP_YDISTANCE,90); _"bHe/'CI  
ObjectSetInteger(0,\"OpenBuy\",OBJPROP_XSIZE,80); ]yK7PH-{L  
ObjectSetInteger(0,\"OpenBuy\",OBJPROP_YSIZE,20); E\as@pqo\p  
ObjectSetString(0,\"OpenBuy\",OBJPROP_TEXT,\"OpenBuy\"); [AYOYENp-  
ObjectSetInteger(0,\"OpenBuy\",OBJPROP_STATE,0); !g5xq  
//---Open Sell {2=jAz'?  
ObjectCreate(0,\"OpenSell\",OBJ_BUTTON,0,0,0,0,0); 5,_u/5Y4  
ObjectSetInteger(0,\"OpenSell\",OBJPROP_XDISTANCE,10); LBM ^9W  
ObjectSetInteger(0,\"OpenSell\",OBJPROP_YDISTANCE,115); ++6`sMJ  
ObjectSetInteger(0,\"OpenSell\",OBJPROP_XSIZE,80); 2R;}y7{  
ObjectSetInteger(0,\"OpenSell\",OBJPROP_YSIZE,20); 9 7GV2]-M  
ObjectSetString(0,\"OpenSell\",OBJPROP_TEXT,\"OpenSell\"); xe{ !wX  
ObjectSetInteger(0,\"OpenSell\",OBJPROP_STATE,0); 'p> Ra/4  
//---Lots-Label X-6de>=   
ObjectCreate(0,\"LotsLabel\",OBJ_LABEL,0,0,0,0,0); . $BUw  
ObjectSetInteger(0,\"LotsLabel\",OBJPROP_COLOR,Yellow); dIN$)?aB0  
ObjectSetInteger(0,\"LotsLabel\",OBJPROP_XDISTANCE,100); W-mQjJ`,B  
ObjectSetInteger(0,\"LotsLabel\",OBJPROP_YDISTANCE,10); c3 jx+Q  
ObjectSetInteger(0,\"LotsLabel\",OBJPROP_XSIZE,30); >/l? g5{  
ObjectSetInteger(0,\"LotsLabel\",OBJPROP_YSIZE,20); ~;l@|7wGz  
ObjectSetString(0,\"LotsLabel\",OBJPROP_TEXT,\"Lots\"); 1S{D6#bE  
ObjectSetInteger(0,\"LotsLabel\",OBJPROP_FONTSIZE,11); 3EJj9}#x"'  
//---Lots-Edit O_ `VV*  
ObjectCreate(0,\"Lots\",OBJ_EDIT,0,0,0,0,0); >_[ 9t  
ObjectSetInteger(0,\"Lots\",OBJPROP_COLOR,Yellow); FHj" nB  
ObjectSetInteger(0,\"Lots\",OBJPROP_XDISTANCE,130); .nrMfl_  
ObjectSetInteger(0,\"Lots\",OBJPROP_YDISTANCE,10); aS{|uE]  
ObjectSetInteger(0,\"Lots\",OBJPROP_XSIZE,40); zZL6z4g  
ObjectSetInteger(0,\"Lots\",OBJPROP_YSIZE,20); @:+8?qcP  
ObjectSetString(0,\"Lots\",OBJPROP_TEXT,DoubleToString(Lots,2)); {m4b(t`xw  
ObjectSetInteger(0,\"Lots\",OBJPROP_FONTSIZE,10); |cK*~  
ObjectSetInteger(0,\"Lots\",OBJPROP_SELECTABLE,0); &v56#lG  
//---Lots-+ Si_ _8D  
ObjectCreate(0,\"LotsIncrease\",OBJ_BUTTON,0,0,0,0,0); (/=f6^}  
ObjectSetInteger(0,\"LotsIncrease\",OBJPROP_COLOR,White); ]^yFaTfS  
ObjectSetInteger(0,\"LotsIncrease\",OBJPROP_BGCOLOR,Green); gqZ'$7So  
ObjectSetInteger(0,\"LotsIncrease\",OBJPROP_XDISTANCE,170); _GV:HOBi  
ObjectSetInteger(0,\"LotsIncrease\",OBJPROP_YDISTANCE,10); 8m-U){r!U^  
ObjectSetInteger(0,\"LotsIncrease\",OBJPROP_XSIZE,20); Q A< Rhv,  
ObjectSetInteger(0,\"LotsIncrease\",OBJPROP_YSIZE,10); o*-)Tq8GHE  
ObjectSetString(0,\"LotsIncrease\",OBJPROP_TEXT,\"+\"); 5&QJ7B,!  
ObjectSetInteger(0,\"LotsIncrease\",OBJPROP_STATE,0); o2nv+fy W  
//---Lots-- >tYm+coS  
ObjectCreate(0,\"LotsDecrease\",OBJ_BUTTON,0,0,0,0,0); 3-[q4R  
ObjectSetInteger(0,\"LotsDecrease\",OBJPROP_COLOR,White); L9r8BK;  
ObjectSetInteger(0,\"LotsDecrease\",OBJPROP_BGCOLOR,Red); pM+ AjPr  
ObjectSetInteger(0,\"LotsDecrease\",OBJPROP_XDISTANCE,170); HguT"%iv  
ObjectSetInteger(0,\"LotsDecrease\",OBJPROP_YDISTANCE,20); 4;w;'3zq  
ObjectSetInteger(0,\"LotsDecrease\",OBJPROP_XSIZE,20); Sxnpq Vbk  
ObjectSetInteger(0,\"LotsDecrease\",OBJPROP_YSIZE,10); iIvc43YV%  
ObjectSetString(0,\"LotsDecrease\",OBJPROP_TEXT,\"-\"); 9{'N{  
ObjectSetInteger(0,\"LotsDecrease\",OBJPROP_STATE,0); N,`$M.|?  
//---TP-Label Pj[PIz  
ObjectCreate(0,\"TPLabel\",OBJ_LABEL,0,0,0,0,0); yg `j-9[8  
ObjectSetInteger(0,\"TPLabel\",OBJPROP_COLOR,Yellow); c>,'Y)8   
ObjectSetInteger(0,\"TPLabel\",OBJPROP_XDISTANCE,100); -j+UMlkB  
ObjectSetInteger(0,\"TPLabel\",OBJPROP_YDISTANCE,35); i{Uc6 R6  
ObjectSetInteger(0,\"TPLabel\",OBJPROP_XSIZE,30); 'OE&/ C [  
ObjectSetInteger(0,\"TPLabel\",OBJPROP_YSIZE,20); AhCW'.  
ObjectSetString(0,\"TPLabel\",OBJPROP_TEXT,\"TP\"); 7P%%p3  
ObjectSetInteger(0,\"TPLabel\",OBJPROP_FONTSIZE,11); !lREaSM  
//---TP-Edit N/[p <  
ObjectCreate(0,\"TP\",OBJ_EDIT,0,0,0,0,0); a_[Eh fE  
ObjectSetInteger(0,\"TP\",OBJPROP_COLOR,Yellow); ?# Mr  
ObjectSetInteger(0,\"TP\",OBJPROP_XDISTANCE,130); 4qN{n#{+]  
ObjectSetInteger(0,\"TP\",OBJPROP_YDISTANCE,35); gMv.V{vD  
ObjectSetInteger(0,\"TP\",OBJPROP_XSIZE,40); R]Vt Y7}i,  
ObjectSetInteger(0,\"TP\",OBJPROP_YSIZE,20); hMzs*gK  
ObjectSetString(0,\"TP\",OBJPROP_TEXT,IntegerToString(TakeProfit)); fs|)l$Rd  
ObjectSetInteger(0,\"TP\",OBJPROP_FONTSIZE,10); Hh%I0#  
ObjectSetInteger(0,\"TP\",OBJPROP_SELECTABLE,0); ".f ;+wH  
//---TP-+ B6=ebM`q  
ObjectCreate(0,\"TPIncrease\",OBJ_BUTTON,0,0,0,0,0); @(l^]9(V\  
ObjectSetInteger(0,\"TPIncrease\",OBJPROP_COLOR,White); 6f;fx}y  
ObjectSetInteger(0,\"TPIncrease\",OBJPROP_BGCOLOR,Green); ?M$.+V{a  
ObjectSetInteger(0,\"TPIncrease\",OBJPROP_XDISTANCE,170); .=U#eHBdAQ  
ObjectSetInteger(0,\"TPIncrease\",OBJPROP_YDISTANCE,35); *v?`<)P#  
ObjectSetInteger(0,\"TPIncrease\",OBJPROP_XSIZE,20); 2C2fGYu  
ObjectSetInteger(0,\"TPIncrease\",OBJPROP_YSIZE,10); 1h(0IjG8  
ObjectSetString(0,\"TPIncrease\",OBJPROP_TEXT,\"+\"); #1J &7F1  
ObjectSetInteger(0,\"TPIncrease\",OBJPROP_STATE,0); YX%[ipgB  
//---TP-- k")R[)92b?  
ObjectCreate(0,\"TPDecrease\",OBJ_BUTTON,0,0,0,0,0); !P ~_Dl2d  
ObjectSetInteger(0,\"TPDecrease\",OBJPROP_COLOR,White); YZP(tn  
ObjectSetInteger(0,\"TPDecrease\",OBJPROP_BGCOLOR,Red); CPgCjtY  
ObjectSetInteger(0,\"TPDecrease\",OBJPROP_XDISTANCE,170); .#wqXRd  
ObjectSetInteger(0,\"TPDecrease\",OBJPROP_YDISTANCE,45); `(T,+T4C5k  
ObjectSetInteger(0,\"TPDecrease\",OBJPROP_XSIZE,20); A2^\q>_#  
ObjectSetInteger(0,\"TPDecrease\",OBJPROP_YSIZE,10); ^ K|;~}P  
ObjectSetString(0,\"TPDecrease\",OBJPROP_TEXT,\"-\"); ~SQ?BoCI[  
ObjectSetInteger(0,\"TPDecrease\",OBJPROP_STATE,0); 1[kMOp  
//---SL-Label `IOs-%s  
ObjectCreate(0,\"SLLabel\",OBJ_LABEL,0,0,0,0,0); qe#P?[  
ObjectSetInteger(0,\"SLLabel\",OBJPROP_COLOR,Yellow); ~jK{ ,$:=  
ObjectSetInteger(0,\"SLLabel\",OBJPROP_XDISTANCE,100); "dsU>3u  
ObjectSetInteger(0,\"SLLabel\",OBJPROP_YDISTANCE,60); <Gav5R c  
ObjectSetInteger(0,\"SLLabel\",OBJPROP_XSIZE,30); c;{Q,"9U  
ObjectSetInteger(0,\"SLLabel\",OBJPROP_YSIZE,20); ii%+jdi.  
ObjectSetString(0,\"SLLabel\",OBJPROP_TEXT,\"SL\"); zR `EU,  
ObjectSetInteger(0,\"SLLabel\",OBJPROP_FONTSIZE,11); <F'X<Bau  
//---SL-Edit !icT/5  
ObjectCreate(0,\"SL\",OBJ_EDIT,0,0,0,0,0); kgy:Q'  
ObjectSetInteger(0,\"SL\",OBJPROP_COLOR,Yellow); +zu(  
ObjectSetInteger(0,\"SL\",OBJPROP_XDISTANCE,130); ?6(I V]  
ObjectSetInteger(0,\"SL\",OBJPROP_YDISTANCE,60); hdnTXs@z  
ObjectSetInteger(0,\"SL\",OBJPROP_XSIZE,40);  DVah  
ObjectSetInteger(0,\"SL\",OBJPROP_YSIZE,20); jx.[#6e  
ObjectSetString(0,\"SL\",OBJPROP_TEXT,IntegerToString(StopLoss)); 90|7ArM_[  
ObjectSetInteger(0,\"SL\",OBJPROP_FONTSIZE,10); RletL)  
ObjectSetInteger(0,\"SL\",OBJPROP_SELECTABLE,0); -od!J\ KCy  
//---SL-+ 2H/Z_+\  
ObjectCreate(0,\"SLIncrease\",OBJ_BUTTON,0,0,0,0,0); qb5#_1qz+^  
ObjectSetInteger(0,\"SLIncrease\",OBJPROP_COLOR,White);  %ObLWH'  
ObjectSetInteger(0,\"SLIncrease\",OBJPROP_BGCOLOR,Green); nL$x|}XAcj  
ObjectSetInteger(0,\"SLIncrease\",OBJPROP_XDISTANCE,170); >H(i^z/c  
ObjectSetInteger(0,\"SLIncrease\",OBJPROP_YDISTANCE,60); < 'f dkW  
ObjectSetInteger(0,\"SLIncrease\",OBJPROP_XSIZE,20); Zm"{Viv]  
ObjectSetInteger(0,\"SLIncrease\",OBJPROP_YSIZE,10); Z4A!U~  
ObjectSetString(0,\"SLIncrease\",OBJPROP_TEXT,\"+\"); WVmq% ,7  
ObjectSetInteger(0,\"SLIncrease\",OBJPROP_STATE,0); d"5oD@JG:  
//---SL-- s[K^9wz  
ObjectCreate(0,\"SLDecrease\",OBJ_BUTTON,0,0,0,0,0); Xg=x7\V  
ObjectSetInteger(0,\"SLDecrease\",OBJPROP_COLOR,White); qw7@(R'"  
ObjectSetInteger(0,\"SLDecrease\",OBJPROP_BGCOLOR,Red); z-@=+4~  
ObjectSetInteger(0,\"SLDecrease\",OBJPROP_XDISTANCE,170); &K43x&mFF  
ObjectSetInteger(0,\"SLDecrease\",OBJPROP_YDISTANCE,70); p}|.ZkyN  
ObjectSetInteger(0,\"SLDecrease\",OBJPROP_XSIZE,20); |\dZ'   
ObjectSetInteger(0,\"SLDecrease\",OBJPROP_YSIZE,10); QJ F=UB  
ObjectSetString(0,\"SLDecrease\",OBJPROP_TEXT,\"-\"); sK"9fU  
ObjectSetInteger(0,\"SLDecrease\",OBJPROP_STATE,0); 9U {y1}  
//---AutoManual (faK+z,*6R  
ObjectCreate(0,\"AutoManual\",OBJ_BUTTON,0,0,0,0,0); l"{Sm6:;-  
ObjectSetInteger(0,\"AutoManual\",OBJPROP_COLOR,Green); K*IxUz(  
ObjectSetInteger(0,\"AutoManual\",OBJPROP_BGCOLOR,LightGreen); \X F}?*8  
ObjectSetInteger(0,\"AutoManual\",OBJPROP_XDISTANCE,100); 3;7q`  
ObjectSetInteger(0,\"AutoManual\",OBJPROP_YDISTANCE,115); V $|<  
ObjectSetInteger(0,\"AutoManual\",OBJPROP_XSIZE,90); O1D6^3w  
ObjectSetInteger(0,\"AutoManual\",OBJPROP_YSIZE,20); `^(jm  
ObjectSetString(0,\"AutoManual\",OBJPROP_TEXT,\"Manual\"); @ct+7v~  
ObjectSetInteger(0,\"AutoManual\",OBJPROP_STATE,0); >sD4R}\})  
} <e)o1+[w  
//+------------------------------------------------------------------+ Bi~:>X\[^6  
//+------------------------------------------------------------------+ 3L _I[T$s  
void InitEA() b@t5`Y-+K  
{ "BVdPSDBk  
MAOpenHandle=iMA(Symbol(),PERIOD_CURRENT,5,0,MODE_SMA,PRICE_OPEN); BHj\G7,S  
MACloseHandle=iMA(Symbol(),PERIOD_CURRENT,5,0,MODE_SMA,PRICE_CLOSE); |<`.fOxJP  
MacdHandle=iMACD(Symbol(),PERIOD_CURRENT,12,26,1,PRICE_CLOSE); ?0<w  
ArraySetAsSeries(MAOpenBuffer,true); 0_yP\m  
ArraySetAsSeries(MACloseBuffer,true); K{cbn1\,H  
ArraySetAsSeries(MacdBuffer,true); Zg:gY"^  
} -Dzsa  
//+------------------------------------------------------------------+ x`Fjf/1T*m  
void OpenCloseMacdEA() ]M,06P>?  
{ {hqAnZ@]vr  
if(AccountInfoDouble(ACCOUNT_FREEMARGIN)<(1000*Lots)) TSL9ax4j  
{ h<p3'  
MessageBox(\"Free Margin not enough!\",\"Expert Warning!\",MB_OK|MB_ICONWARNING); zuL7%qyv  
OnAutoManual(); jB@4b 'y  
return; u/AT-e r;  
} .Gb+\E{M  
CopyBuffer(MAOpenHandle,0,0,2,MAOpenBuffer); 8&}~'4[b[$  
CopyBuffer(MACloseHandle,0,0,2,MACloseBuffer); kI*UkM-  
CopyBuffer(MacdHandle,0,0,3,MacdBuffer); e^e$mtI  
if(MACloseBuffer[0]>MAOpenBuffer[0] && MACloseBuffer[1]<=MAOpenBuffer[1]) X<MpN5%|Wo  
{ 9Z!lmfnJ  
Auto.CloseAndBuy(Symbol(),Lots,TakeProfit,StopLoss); \3{3ly~L  
} 9NIy#  
else if(MACloseBuffer[0]>MAOpenBuffer[0] && MacdBuffer[2]>MacdBuffer[1] && MacdBuffer[1]<MacdBuffer[0]) sp8[cO=  
{ /)1v9<vM"  
Auto.CloseAndBuy(Symbol(),Lots,TakeProfit,StopLoss); 0K3Hf^>m  
} %yw=[]Vjze  
else if(MACloseBuffer[0]<MAOpenBuffer[0] && MACloseBuffer[1]>=MAOpenBuffer[1]) 'yT`ef  
{ =jIxI,  
Auto.CloseAndSell(Symbol(),Lots,TakeProfit,StopLoss); q0|Z oP  
} 0_V*B[V  
else if(MACloseBuffer[0]<MAOpenBuffer[0] && MacdBuffer[2]<MacdBuffer[1] && MacdBuffer[1]>MacdBuffer[0]) `Yogq)G}  
{ FuMq|S  
Auto.CloseAndSell(Symbol(),Lots,TakeProfit,StopLoss); B/u*<k4  
} M7U:g}  
} B? TpBd  
//+------------------------------------------------------------------+ %Ht ^yemQ  
6BPAux.]  
y"Ihr5S\  
 
离线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