BetterSclperEA_V1.0

Price Data Components
Series array that contains close prices for each barSeries array that contains the highest prices of each barSeries array that contains the lowest prices of each barSeries array that contains open prices of each barSeries array that contains open time of each bar
Orders Execution
Checks for the total of closed ordersIt automatically opens orders when conditions are reachedIt can change open orders parameters, due to possible stepping strategyChecks for the total of open ordersIt Closes Orders by itself
Indicators Used
Bollinger bands indicatorIndicator of the average true range
Miscellaneous
It issuies visual alerts to the screenIt opens Message Boxes to the user
0 Views
0 Downloads
0 Favorites
BetterSclperEA_V1.0
ÿþ//lixg???  :1YîOeˆ

//lixg_zhongyao   ͑‰

// FTime*60   N9h¿~͑
Y_US



//2019.11.20 KmՋHr,g+------------------------------------------------------------------+

//2019.11.22 îO
Y$NtÝ»y§c6Rÿûy¨Rbk_c130•ï‹                                                          âlµk‹s.mq4 |

//2019.11.23 °ežXATRch§c6R                        Copyright 2020, MetaQuotes Software Corp. |

//2019.11.28 °ežX^—g&^,{ŒNÍyǏän¹e_                                                         Á‰ï
NpsSÁ‰àVœg |

//2019.11.30 ìrËz_ËYÓ~_göeô•ÿìrËz¹pî]ÿìrËzATRÿ,{AS!kîO9e	ÿ

//2019.12.01 ,{	NÍy_USs^ÓNŒT^—g&^Ǐänÿ,{AS	N!kîO9e	ÿ

//2019.12.09 ,{	NÍy_USs^ÓNŒT^—g&^Ǐän

//2020.01.20 ÞVKmóÇ†SòSÀhåg

//2020.01.21  Rd–_USž[ØvÐc:y

//2020.06.22 OS-^—gOP»yÂSpeOSÿwr'YK¿~Ǐänÿs^ÓN¹pî]OSû|pe

#property description  "\O€: "

#property description  "T€û|: QQ:"

#property version    "1.32"

#property strict



#ifndef Check_En

//#define Check_En

#endif





#ifdef Check_En

enum CHINESEBOOLEAN

{

	A=0,     //_

	B=1,     //sQ   

};



CHINESEBOOLEAN ÀhågO(ugP–=B;

datetime dtExpiry=D'2030.06.30';

CHINESEBOOLEAN ÀhågO(u&7b÷Sx=B;

string strActNumber="100215817";

CHINESEBOOLEAN Àhåg¤NfFU=B;

string ¤NfFU
Tðy="";

CHINESEBOOLEAN 
Ný€
YØvKmՋ=B;

CHINESEBOOLEAN ÅN(W!jßb^÷SO(u=B;  



bool bOrderSend,bOrderClose,bOrderModify,bOrderDelete,bError=false,bOrderBlock=false;

string strEA=MQLInfoString(MQL_PROGRAM_NAME),strFtc="®_oÅ–Ñž";



#endif



//true//false

enum opMV { _1_êS9eN!k=1, _2_I{ݍ»yۏ:W=2, _3_'}Æ[ý*Ž=3      };

enum opTP { _1_Ǐù[b—t=1, _2_Ǐ-N¿~=2,     _3_6eØvǏ-N¿~=3    };                   //ù[b—t==^—g
Nh

enum opBB { _1_Ǐt_US=1, _2_)ãS_US=2,   _3_6eØv(WtY_US=3}; //^—g&^_sQǏän¹e_



extern bool booMMLot=true;                                            //USϑ
Y)R_sQ

extern double MMper=0.1;                                               //Ïk10000Žё„˜ØN>k_úQ1KbÔk‹O¾‹n

extern double myLot=0.1;                                               //úVš[KbpeÿêS	gsQí•
Y)R_sQMb	gHe	ÿ

extern int NumMag =666666;                                              //T›/gxh°‹

extern string tip5="N*NIlW[—{$N*NW[ÍkÿMQL4û|ß~ꁫŽP–6R„v";            //ûm RYèlÐc:ygY30*NW[Ík

extern string EACom="âlµk‹s";                                           //ꁚ[INèlʑ

//----------------------------------------------------------------------

extern string tip1="==\öe+RŸ”=‚f\Pöeô•==";//N.•nÓN„v‚f\Pöeô•

extern string tip11="==
NgbLˆ‚f\P_US==";// ¡l	g¢‹US„vÅ`µQNN.•nÓN

extern int OneKeyHour=1;                                                //nmNnÓN‚f\P_US\öe

extern int OneKeyMin =0;                                                 //nmNnÓN‚f\P_USRŸ”

//----------------------------------------------------------------------

extern string tip2="==cš[öeô•…Q ^÷NŒTs^ÓN„v;`<P==";//nmN¡‹—{hÆQ

extern int     CntTime=1;                                                //gяcš[öeô•µk\öepe

extern double  CutLoss=100;                                               //nmNnÓN~vRÔk,  //lixg_zhongyao   ͑‰

extern int     NextOpH=1;                                               //nmNnÓN‚f\P_USÿ	c\öe—{	ÿ

//----------------------------------------------------------------------

extern bool booMiss=true;                                              //–Ï…'^	c®”

//----------------------------------------------------------------------

extern int  OpMax_ALL=5;                                                 //_US;`!kpe,         //lixg_zhongyao͑‰

extern string tip7="==,{	N{|_USÅ_{˜\ŽNI{ŽN_US;`!kpe==";                              //,{	N{|_sQ§c6RÐc:y

extern int  OpMax_3_=4;                                                 //,{	N{|_sQ!kpe  ,g'YNUSϑ

//----------------------------------------------------------------------

extern bool booAddSLTP=true;                                            //_USöe&^
NbkÈvbk_c

extern int SL_ALL =1500;                                                   //hQ'^bk_c®_¹p

extern int TP_ALL =2000;                                                   //hQ'^bkÈv®_¹p

extern int Sp_ALL =150;                                                   //_US¹pî]§c6R®_¹pÿ‚YœgkX-1ÿRìrËz§c6R'^_US¹pî]



extern bool booMVSL=!true;                                                  ///T¨Rûy¨Rbk_c //lixg_zhongyao   ͑‰

//enum opMV { _1_êS9eN!k=1, _2_I{ݍ»yÛ=2, _3_'}Æ[ý*Ž=3      };

extern opMV wWay = 1;                                                //Ǐ-N¿~ûy¨Rbk_c¹e_ //lixg_zhongyao   ͑‰

extern int MV_ALL=100;                                                     //ûy¨Rbk_c¹pݍ //lixg_zhongyao   ͑‰



//enum opTP { _1_Ǐù[b—t=1, _2_Ǐ-N¿~=2,     _3_6eØvǏ-N¿~=3    };                   //ù[b—t==^—g
Nh

extern opTP LineType = 1;                                           //Èv)Rs^ÓNúWÆQ 

extern string tip17="==s^ÓNOS¹pî]¾‹n==";                           //s^ÓNg\¹pî]Ǐän30®_¹pÿû|pe0:N
NOS¹pî]s^ÓN

extern double s^ÓNOS¹pî]û|pe=0;                                   //s^ÓNOS¹pî]XNpeÿ0:N
NOSÿ1:N¹pî]OSÿÖS<PƒôV0-1KNô•

extern string tip6="==6eØv÷N”–Y¹pî]Θi–§c6R==";                           //,{	NÍys^ÓN/f&T R
NpNVS÷Nî]„vǏän

extern bool BestClose=false;                                               //,{	NÍys^ÓN/f&T R
NpNVS÷Nî]

//----------------------------------------------------------------------

//enum opBB { _1_Ǐt_US=1, _2_)ãS_US=2,   _3_6eØv(WtY_US=3}; //^—g&^_sQǏän¹e_

extern opBB BB_Fiter =3;                                                  //^—g&^_USǏän¹e__3_6eØv(WtY_US



extern ENUM_TIMEFRAMES FTime = PERIOD_M30;                                //^—g&^ þVhˆhTg

extern int BB_MA =10;                                                     //^—g&^ öeô•hTg

extern double BB_Deviation =2.0;                                          //^—g&^ OPî]

extern double BB_adjopen=0.0  ;   //^—g&^OPî]OS_ÓN  0-0.3ÿ0.30

extern double BB_adjcloseSell=0.0;    //^—g&^OPî]OSs^sellÓN  0-0.3ÿ0.30

extern double BB_adjcloseBuy=0.0;     //^—g&^OPî]OSs^buyÓN  0-0.3ÿ0.30

//^—g&^OPî]_s^ÓNOS2020.06.22

extern bool booBB_UD = !true;                                              //$NtƒôV§c6R_sQ

extern int BB_MaxGap =900;                                                //$Ntg'Yî]ݍ§c6R

extern int BB_MinGap =10;                                                 //$Ntg\î]ݍ§c6R

//wr'YK¿~Ǐän 2020.06.22

extern bool booKHigh =!true;                                               //K1g'Y<PǏän

extern int KHigh =550;                                                //K1¿~gؚ-gNO÷N ÷Nî]§c6R





//2019.11.28 ^—g&^_sQǏän



 int BB_Check2=50;                                                   //^—g&^_US¹e_Ǐän2--)ãS§c6R®_¹p



//----------------------------------------------------------------------

/**/

extern bool boo_EU=!false;            //01_EURUSD _sQ§c6R_sQ

extern bool boo_GU=false;            //02_GBPUSD _sQ§c6R_sQ

extern bool boo_AU=false;            //03_AUDUSD _sQ§c6R_sQ

extern bool boo_NU=false;            //04_NZDUSD _sQ§c6R_sQ

extern bool boo_UJ=false;            //05_USDJPY _sQ§c6R_sQ

extern bool boo_UF=false;            //06_USDCHF _sQ§c6R_sQ

extern bool boo_UC=false;            //07_USDCAD _sQ§c6R_sQ

extern bool boo_EJ=false;            //08_EURJPY _sQ§c6R_sQ

extern bool boo_GJ=false;            //09_GBPJPY _sQ§c6R_sQ

extern bool boo_AJ=false;            //10_AUDJPY _sQ§c6R_sQ

extern bool boo_NJ=false;            //11_NZDJPY _sQ§c6R_sQ

extern bool boo_FJ=false;            //12_CHFJPY _sQ§c6R_sQ

extern bool boo_CJ=false;            //13_CADJPY _sQ§c6R_sQ

extern bool boo_EA=false;            //14_EURAUD _sQ§c6R_sQ

extern bool boo_GA=false;            //15_GBPAUD _sQ§c6R_sQ

extern bool boo_AN=false;            //16_AUDNZD _sQ§c6R_sQ

extern bool boo_AF=false;            //17_AUDCHF _sQ§c6R_sQ

extern bool boo_AC=false;            //18_AUDCHF _sQ§c6R_sQ

extern bool boo_EN=false;            //19_EURNZD _sQ§c6R_sQ

extern bool boo_GN=false;            //20_GBPNZD _sQ§c6R_sQ

extern bool boo_NF=false;            //21_NZDCHF _sQ§c6R_sQ

extern bool boo_CF=false;            //22_CADCHF _sQ§c6R_sQ

extern bool boo_EC=false;            //23_EURCHF _sQ§c6R_sQ

extern bool boo_GC=false;            //24_GBPCHF _sQ§c6R_sQ

extern bool boo_NC=false;            //25_NZDCAD _sQ§c6R_sQ

extern bool boo_EF=false;            //26_EURCHF _sQ§c6R_sQ

extern bool boo_GF=false;            //27_GBPCHF _sQ§c6R_sQ

extern bool boo_EG=false;            //28_EURGBP _sQ§c6R_sQ

extern bool boo_US=false;            //29_USDSGD _sQ§c6R_sQ

extern bool boo_ES=!false;           //30_EURSGD _sQ§c6R_sQ

extern bool boo_AS=false;            //31_AUDSGD _sQ§c6R_sQ

extern bool boo_FS=false;            //32_CHFSGD _sQ§c6R_sQ









#define SPEAD_POINT 30

//----------------------------------------------------------------------

extern string tip3="==_ËYöeô•'YŽNÓ~_göeô• 	cèåeYt==";//   öeô•¾‹nYèl

//-01---------------------------------------------------------------------

extern int SHou_EU = 0;             //EURUSD_ËYöeô•\öeÿ00-23	ÿ

extern int SMin_EU = 0;             //EURUSD_ËYöeô•RŸ”ÿ00-59	ÿ

extern int EHou_EU =23;             //EURUSDÓ~_göeô•\öeÿ00-23	ÿ

extern int EMin_EU =59;             //EURUSD_ËYöeô•RŸ”ÿ00-59	ÿ

extern int  Sp_EU  =SPEAD_POINT;             //EURUSD__US¹pî]§c6R®_¹p

//-//

extern bool boTR_EU= !true;         //EURUSD_ATR§c6R_sQ

extern int  TR_MA_EU=14;            //EURUSD_ATRöeô•hTg

extern int  TR_EU =150;             //EURUSD_ATR§c6R®_¹p

extern ENUM_TIMEFRAMES  TR_TF_EU=15;//EURUSD_ATRþVhˆhTg

//-02---------------------------------------------------------------------

extern int SHou_GU = 0;             //GBPUSD_ËYöeô•\öeÿ00-23	ÿ

extern int SMin_GU = 0;             //GBPUSD_ËYöeô•RŸ”ÿ00-59	ÿ

extern int EHou_GU =23;             //GBPUSDÓ~_göeô•\öeÿ00-23	ÿ

extern int EMin_GU =59;             //GBPUSD_ËYöeô•RŸ”ÿ00-59	ÿ

extern int  Sp_GU  =SPEAD_POINT;             //GBPUSD__US¹pî]§c6R®_¹p

//-//

extern bool boTR_GU= !true;            //GBPUSD_ATR§c6R_sQ

extern int  TR_MA_GU=14;               //GBPUSD_ATRöeô•hTg

extern int  TR_GU =150;                //GBPUSD_ATR§c6R®_¹p

extern ENUM_TIMEFRAMES  TR_TF_GU=15;   //GBPUSD_ATRþVhˆhTg

//--03--------------------------------------------------------------------

extern int SHou_AU = 0;             //AUDUSD_ËYöeô•\öeÿ00-23	ÿ

extern int SMin_AU = 0;             //AUDUSD_ËYöeô•RŸ”ÿ00-59	ÿ

extern int EHou_AU = 23;             //AUDUSDÓ~_göeô•\öeÿ00-23	ÿ

extern int EMin_AU = 59;             //AUDUSD_ËYöeô•RŸ”ÿ00-59	ÿ

extern int  Sp_AU  =SPEAD_POINT;             //AUDUSD__US¹pî]§c6R®_¹p

//-//

extern bool boTR_AU= !true;         //AUDUSD_ATR§c6R_sQ

extern int  TR_MA_AU=14;            //AUDUSD_ATRöeô•hTg

extern int  TR_AU =150;             //AUDUSD_ATR§c6R®_¹p

extern ENUM_TIMEFRAMES  TR_TF_AU=15;//AUDUSD_ATRþVhˆhTg

//--04--------------------------------------------------------------------

extern int SHou_NU = 0;             //NZDUSD_ËYöeô•\öeÿ00-23	ÿ

extern int SMin_NU = 0;             //NZDUSD_ËYöeô•RŸ”ÿ00-59	ÿ

extern int EHou_NU = 23;             //NZDUSDÓ~_göeô•\öeÿ00-23	ÿ

extern int EMin_NU = 59;             //NZDUSD_ËYöeô•RŸ”ÿ00-59	ÿ

extern int  Sp_NU  =SPEAD_POINT;             //NZDUSD__US¹pî]§c6R®_¹p

//-//

extern bool boTR_NU= !true;         //NZDUSD_ATR§c6R_sQ

extern int  TR_MA_NU=14;            //NZDUSD_ATRöeô•hTg

extern int  TR_NU =150;             //NZDUSD_ATR§c6R®_¹p

extern ENUM_TIMEFRAMES  TR_TF_NU=15;//NZDUSD_ATRþVhˆhTg

//--05--------------------------------------------------------------------

extern int SHou_UJ = 0;             //USDJPY_ËYöeô•\öeÿ00-23	ÿ

extern int SMin_UJ = 0;             //USDJPY_ËYöeô•RŸ”ÿ00-59	ÿ

extern int EHou_UJ = 23;             //USDJPYÓ~_göeô•\öeÿ00-23	ÿ

extern int EMin_UJ = 59;             //USDJPY_ËYöeô•RŸ”ÿ00-59	ÿ

extern int  Sp_UJ  =SPEAD_POINT;             //USDJPY__US¹pî]§c6R®_¹p

//-//

extern bool boTR_UJ= !true;         //USDJPY_ATR§c6R_sQ

extern int  TR_MA_UJ=14;            //USDJPY_ATRöeô•hTg

extern int  TR_UJ =150;             //USDJPY_ATR§c6R®_¹p

extern ENUM_TIMEFRAMES  TR_TF_UJ=15;//USDJPY_ATRþVhˆhTg

//--06--------------------------------------------------------------------

extern int SHou_UF = 0;             //USDCHF_ËYöeô•\öeÿ00-23	ÿ

extern int SMin_UF = 0;             //USDCHF_ËYöeô•RŸ”ÿ00-59	ÿ

extern int EHou_UF =23;             //USDCHFÓ~_göeô•\öeÿ00-23	ÿ

extern int EMin_UF =59;             //USDCHF_ËYöeô•RŸ”ÿ00-59	ÿ

extern int  Sp_UF  =SPEAD_POINT;             //USDCHF__US¹pî]§c6R®_¹p

//-//

extern bool boTR_UF= !true;         //USDCHF_ATR§c6R_sQ

extern int  TR_MA_UF=14;            //USDCHF_ATRöeô•hTg

extern int  TR_UF =150;             //USDCHF_ATR§c6R®_¹p

extern ENUM_TIMEFRAMES  TR_TF_UF=15;//USDCHF_ATRþVhˆhTg

//--07--------------------------------------------------------------------

extern int SHou_UC = 0;             //USDCAD_ËYöeô•\öeÿ00-23	ÿ

extern int SMin_UC = 0;             //USDCAD_ËYöeô•RŸ”ÿ00-59	ÿ

extern int EHou_UC =23;             //USDCADÓ~_göeô•\öeÿ00-23	ÿ

extern int EMin_UC =59;             //USDCAD_ËYöeô•RŸ”ÿ00-59	ÿ

extern int  Sp_UC  =SPEAD_POINT;             //USDCAD__US¹pî]§c6R®_¹p

//-//

extern bool boTR_UC= !true;         //USDCAD_ATR§c6R_sQ

extern int  TR_MA_UC=14;            //USDCAD_ATRöeô•hTg

extern int  TR_UC =150;             //USDCAD_ATR§c6R®_¹p

extern ENUM_TIMEFRAMES  TR_TF_UC=15;//USDCAD_ATRþVhˆhTg

//--08--------------------------------------------------------------------

extern int SHou_EJ = 0;             //EURJPY_ËYöeô•\öeÿ00-23	ÿ

extern int SMin_EJ = 0;             //EURJPY_ËYöeô•RŸ”ÿ00-59	ÿ

extern int EHou_EJ =23;             //EURJPYÓ~_göeô•\öeÿ00-23	ÿ

extern int EMin_EJ =59;             //EURJPY_ËYöeô•RŸ”ÿ00-59	ÿ

extern int  Sp_EJ  =SPEAD_POINT;             //EURJPY__US¹pî]§c6R®_¹p

//-//

extern bool boTR_EJ= !true;         //EURJPY_ATR§c6R_sQ

extern int  TR_MA_EJ=14;            //EURJPY_ATRöeô•hTg

extern int  TR_EJ =150;             //EURJPY_ATR§c6R®_¹p

extern ENUM_TIMEFRAMES  TR_TF_EJ=15;//EURJPY_ATRþVhˆhTg

//--09--------------------------------------------------------------------

extern int SHou_GJ = 0;             //GBPJPY_ËYöeô•\öeÿ00-23	ÿ

extern int SMin_GJ = 0;             //GBPJPY_ËYöeô•RŸ”ÿ00-59	ÿ

extern int EHou_GJ =23;             //GBPJPYÓ~_göeô•\öeÿ00-23	ÿ

extern int EMin_GJ =59;             //GBPJPY_ËYöeô•RŸ”ÿ00-59	ÿ

extern int  Sp_GJ  =SPEAD_POINT;             //GBPJPY__US¹pî]§c6R®_¹p

//-//

extern bool boTR_GJ= !true;         //GBPJPY_ATR§c6R_sQ

extern int  TR_MA_GJ=14;            //GBPJPY_ATRöeô•hTg

extern int  TR_GJ =150;             //GBPJPY_ATR§c6R®_¹p

extern ENUM_TIMEFRAMES  TR_TF_GJ=15;//GBPJPY_ATRþVhˆhTg

//--10--------------------------------------------------------------------

extern int SHou_AJ = 0;             //AUDJPY_ËYöeô•\öeÿ00-23	ÿ

extern int SMin_AJ = 0;             //AUDJPY_ËYöeô•RŸ”ÿ00-59	ÿ

extern int EHou_AJ =23;             //AUDJPYÓ~_göeô•\öeÿ00-23	ÿ

extern int EMin_AJ =59;             //AUDJPY_ËYöeô•RŸ”ÿ00-59	ÿ

extern int  Sp_AJ  =SPEAD_POINT;             //AUDJPY__US¹pî]§c6R®_¹p

//-//

extern bool boTR_AJ= !true;         //AUDJPY_ATR§c6R_sQ

extern int  TR_MA_AJ=14;            //AUDJPY_ATRöeô•hTg

extern int  TR_AJ =150;             //AUDJPY_ATR§c6R®_¹p

extern ENUM_TIMEFRAMES  TR_TF_AJ=15;//AUDJPY_ATRþVhˆhTg

//--11--------------------------------------------------------------------

extern int SHou_NJ = 0;             //NZDJPY_ËYöeô•\öeÿ00-23	ÿ

extern int SMin_NJ = 0;             //NZDJPY_ËYöeô•RŸ”ÿ00-59	ÿ

extern int EHou_NJ = 23;             //NZDJPYÓ~_göeô•\öeÿ00-23	ÿ

extern int EMin_NJ = 59;             //NZDJPY_ËYöeô•RŸ”ÿ00-59	ÿ

extern int  Sp_NJ  =SPEAD_POINT;             //NZDJPY__US¹pî]§c6R®_¹p

//-//

extern bool boTR_NJ= !true;         //NZDJPY_ATR§c6R_sQ

extern int  TR_MA_NJ=14;            //NZDJPY_ATRöeô•hTg

extern int  TR_NJ =150;             //NZDJPY_ATR§c6R®_¹p

extern ENUM_TIMEFRAMES  TR_TF_NJ=15;//NZDJPY_ATRþVhˆhTg

//--12--------------------------------------------------------------------

extern int SHou_FJ = 0;             //CHFJPY_ËYöeô•\öeÿ00-23	ÿ

extern int SMin_FJ = 0;             //CHFJPY_ËYöeô•RŸ”ÿ00-59	ÿ

extern int EHou_FJ =23;             //CHFJPYÓ~_göeô•\öeÿ00-23	ÿ

extern int EMin_FJ =59;             //CHFJPY_ËYöeô•RŸ”ÿ00-59	ÿ

extern int  Sp_FJ  =SPEAD_POINT;             //CHFJPY__US¹pî]§c6R®_¹p

//-//

extern bool boTR_FJ= !true;         //CHFJPY_ATR§c6R_sQ

extern int  TR_MA_FJ=14;            //CHFJPY_ATRöeô•hTg

extern int  TR_FJ =150;             //CHFJPY_ATR§c6R®_¹p

extern ENUM_TIMEFRAMES  TR_TF_FJ=15;//CHFJPY_ATRþVhˆhTg

//--13--------------------------------------------------------------------

extern int SHou_CJ = 0;             //CADJPY_ËYöeô•\öeÿ00-23	ÿ

extern int SMin_CJ = 0;             //CADJPY_ËYöeô•RŸ”ÿ00-59	ÿ

extern int EHou_CJ =23;             //CADJPYÓ~_göeô•\öeÿ00-23	ÿ

extern int EMin_CJ =59;             //CADJPY_ËYöeô•RŸ”ÿ00-59	ÿ

extern int  Sp_CJ  =SPEAD_POINT;             //CADJPY__US¹pî]§c6R®_¹p

//-//

extern bool boTR_CJ= !true;         //CADJPY_ATR§c6R_sQ

extern int  TR_MA_CJ=14;            //CADJPY_ATRöeô•hTg

extern int  TR_CJ =150;             //CADJPY_ATR§c6R®_¹p

extern ENUM_TIMEFRAMES  TR_TF_CJ=15;//CADJPY_ATRþVhˆhTg

//--14--------------------------------------------------------------------

extern int SHou_EA = 0;             //EURAUD_ËYöeô•\öeÿ00-23	ÿ

extern int SMin_EA = 0;             //EURAUD_ËYöeô•RŸ”ÿ00-59	ÿ

extern int EHou_EA =23;             //EURAUDÓ~_göeô•\öeÿ00-23	ÿ

extern int EMin_EA =59;             //EURAUD_ËYöeô•RŸ”ÿ00-59	ÿ

extern int  Sp_EA  =SPEAD_POINT;             //EURAUD__US¹pî]§c6R®_¹p

//-//

extern bool boTR_EA= !true;         //EURAUD_ATR§c6R_sQ

extern int  TR_MA_EA=14;            //EURAUD_ATRöeô•hTg

extern int  TR_EA =150;             //EURAUD_ATR§c6R®_¹p

extern ENUM_TIMEFRAMES  TR_TF_EA=15;//EURAUD_ATRþVhˆhTg

//--15--------------------------------------------------------------------

extern int SHou_GA =0;             //GBPAUD_ËYöeô•\öeÿ00-23	ÿ

extern int SMin_GA = 0;             //GBPAUD_ËYöeô•RŸ”ÿ00-59	ÿ

extern int EHou_GA = 23;             //GBPAUDÓ~_göeô•\öeÿ00-23	ÿ

extern int EMin_GA = 59;             //GBPAUD_ËYöeô•RŸ”ÿ00-59	ÿ

extern int  Sp_GA  =SPEAD_POINT;             //GBPAUD__US¹pî]§c6R®_¹p

//-//

extern bool boTR_GA= !true;         //GBPAUD_ATR§c6R_sQ

extern int  TR_MA_GA=14;            //GBPAUD_ATRöeô•hTg

extern int  TR_GA =150;             //GBPAUD_ATR§c6R®_¹p

extern ENUM_TIMEFRAMES  TR_TF_GA=15;//GBPAUD_ATRþVhˆhTg

//--16--------------------------------------------------------------------

extern int SHou_AN = 0;             //AUDNZD_ËYöeô•\öeÿ00-23	ÿ

extern int SMin_AN = 0;             //AUDNZD_ËYöeô•RŸ”ÿ00-59	ÿ

extern int EHou_AN = 23;             //AUDNZDÓ~_göeô•\öeÿ00-23	ÿ

extern int EMin_AN = 59;             //AUDNZD_ËYöeô•RŸ”ÿ00-59	ÿ

extern int  Sp_AN  =SPEAD_POINT;             //AUDNZD__US¹pî]§c6R®_¹p

//-//

extern bool boTR_AN= !true;         //AUDNZD_ATR§c6R_sQ

extern int  TR_MA_AN=14;            //AUDNZD_ATRöeô•hTg

extern int  TR_AN =150;             //AUDNZD_ATR§c6R®_¹p

extern ENUM_TIMEFRAMES  TR_TF_AN=15;//AUDNZD_ATRþVhˆhTg

//--17--------------------------------------------------------------------

extern int SHou_AF = 0;             //AUDCHF_ËYöeô•\öeÿ00-23	ÿ

extern int SMin_AF = 0;             //AUDCHF_ËYöeô•RŸ”ÿ00-59	ÿ

extern int EHou_AF =23;             //AUDCHFÓ~_göeô•\öeÿ00-23	ÿ

extern int EMin_AF =59;             //AUDCHF_ËYöeô•RŸ”ÿ00-59	ÿ

extern int  Sp_AF  =SPEAD_POINT;             //AUDCHF__US¹pî]§c6R®_¹p

//-//

extern bool boTR_AF= !true;         //AUDCHF_ATR§c6R_sQ

extern int  TR_MA_AF=14;            //AUDCHF_ATRöeô•hTg

extern int  TR_AF =150;             //AUDCHF_ATR§c6R®_¹p

extern ENUM_TIMEFRAMES  TR_TF_AF=15;//AUDCHF_ATRþVhˆhTg

//--18--------------------------------------------------------------------

extern int SHou_AC = 0;             //AUDCAD_ËYöeô•\öeÿ00-23	ÿ

extern int SMin_AC = 0;             //AUDCAD_ËYöeô•RŸ”ÿ00-59	ÿ

extern int EHou_AC =23;             //AUDCADÓ~_göeô•\öeÿ00-23	ÿ

extern int EMin_AC =59;             //AUDCAD_ËYöeô•RŸ”ÿ00-59	ÿ

extern int  Sp_AC  =SPEAD_POINT;             //AUDCAD__US¹pî]§c6R®_¹p

//-//

extern bool boTR_AC= !true;         //AUDCAD_ATR§c6R_sQ

extern int  TR_MA_AC=14;            //AUDCAD_ATRöeô•hTg

extern int  TR_AC =150;             //AUDCAD_ATR§c6R®_¹p

extern ENUM_TIMEFRAMES  TR_TF_AC=15;//AUDCAD_ATRþVhˆhTg

//--19--------------------------------------------------------------------

extern int SHou_EN = 0;             //EURNZD_ËYöeô•\öeÿ00-23	ÿ

extern int SMin_EN = 0;             //EURNZD_ËYöeô•RŸ”ÿ00-59	ÿ

extern int EHou_EN = 23;             //EURNZDÓ~_göeô•\öeÿ00-23	ÿ

extern int EMin_EN = 59;             //EURNZD_ËYöeô•RŸ”ÿ00-59	ÿ

extern int  Sp_EN  =SPEAD_POINT;             //EURNZD__US¹pî]§c6R®_¹p

//-//

extern bool boTR_EN= !true;         //EURNZD_ATR§c6R_sQ

extern int  TR_MA_EN=14;            //EURNZD_ATRöeô•hTg

extern int  TR_EN =150;             //EURNZD_ATR§c6R®_¹p

extern ENUM_TIMEFRAMES  TR_TF_EN=15;//EURNZD_ATRþVhˆhTg

//--20--------------------------------------------------------------------

extern int SHou_GN = 0;             //GBPNZD_ËYöeô•\öeÿ00-23	ÿ

extern int SMin_GN = 0;             //GBPNZD_ËYöeô•RŸ”ÿ00-59	ÿ

extern int EHou_GN = 23;             //GBPNZDÓ~_göeô•\öeÿ00-23	ÿ

extern int EMin_GN = 59;             //GBPNZD_ËYöeô•RŸ”ÿ00-59	ÿ

extern int  Sp_GN  =SPEAD_POINT;             //GBPNZD__US¹pî]§c6R®_¹p

//-//

extern bool boTR_GN= !true;         //GBPNZD_ATR§c6R_sQ

extern int  TR_MA_GN=14;            //GBPNZD_ATRöeô•hTg

extern int  TR_GN =150;             //GBPNZD_ATR§c6R®_¹p

extern ENUM_TIMEFRAMES  TR_TF_GN=15;//GBPNZD_ATRþVhˆhTg

//--21--------------------------------------------------------------------

extern int SHou_NF = 0;             //NZDCHF_ËYöeô•\öeÿ00-23	ÿ

extern int SMin_NF = 0;             //NZDCHF_ËYöeô•RŸ”ÿ00-59	ÿ

extern int EHou_NF =23;             //NZDCHFÓ~_göeô•\öeÿ00-23	ÿ

extern int EMin_NF =59;             //NZDCHF_ËYöeô•RŸ”ÿ00-59	ÿ

extern int  Sp_NF  =SPEAD_POINT;             //NZDCHF__US¹pî]§c6R®_¹p

//-//

extern bool boTR_NF= !true;         //NZDCHF_ATR§c6R_sQ

extern int  TR_MA_NF=14;            //NZDCHF_ATRöeô•hTg

extern int  TR_NF =150;             //NZDCHF_ATR§c6R®_¹p

extern ENUM_TIMEFRAMES  TR_TF_NF=15;//NZDCHF_ATRþVhˆhTg

//--22--------------------------------------------------------------------

extern int SHou_CF = 0;             //CADCHF_ËYöeô•\öeÿ00-23	ÿ

extern int SMin_CF = 0;             //CADCHF_ËYöeô•RŸ”ÿ00-59	ÿ

extern int EHou_CF =23;             //CADCHFÓ~_göeô•\öeÿ00-23	ÿ

extern int EMin_CF =59;             //CADCHF_ËYöeô•RŸ”ÿ00-59	ÿ

extern int  Sp_CF  =SPEAD_POINT;             //CADCHF__US¹pî]§c6R®_¹p

//-//

extern bool boTR_CF= !true;         //CADCHF_ATR§c6R_sQ

extern int  TR_MA_CF=14;            //CADCHF_ATRöeô•hTg

extern int  TR_CF =150;             //CADCHF_ATR§c6R®_¹p

extern ENUM_TIMEFRAMES  TR_TF_CF=15;//CADCHF_ATRþVhˆhTg

//--23--------------------------------------------------------------------

extern int SHou_EC = 0;             //EURCAD_ËYöeô•\öeÿ00-23	ÿ

extern int SMin_EC = 0;             //EURCAD_ËYöeô•RŸ”ÿ00-59	ÿ

extern int EHou_EC =23;             //EURCADÓ~_göeô•\öeÿ00-23	ÿ

extern int EMin_EC =59;             //EURCAD_ËYöeô•RŸ”ÿ00-59	ÿ

extern int  Sp_EC  =SPEAD_POINT;             //EURCAD__US¹pî]§c6R®_¹p

//-//	

extern bool boTR_EC= !true;         //EURCAD_ATR§c6R_sQ

extern int  TR_MA_EC=14;            //EURCAD_ATRöeô•hTg

extern int  TR_EC =150;             //EURCAD_ATR§c6R®_¹p

extern ENUM_TIMEFRAMES  TR_TF_EC=15;//EURCAD_ATRþVhˆhTg

//--24--------------------------------------------------------------------

extern int SHou_GC = 0;             //GBPCAD_ËYöeô•\öeÿ00-23	ÿ

extern int SMin_GC = 0;             //GBPCAD_ËYöeô•RŸ”ÿ00-59	ÿ

extern int EHou_GC =23;             //GBPCADÓ~_göeô•\öeÿ00-23	ÿ

extern int EMin_GC =59;             //GBPCAD_ËYöeô•RŸ”ÿ00-59	ÿ

extern int  Sp_GC  =SPEAD_POINT;             //GBPCAD__US¹pî]§c6R®_¹p

//-//	

extern bool boTR_GC= !true;         //GBPCAD_ATR§c6R_sQ

extern int  TR_MA_GC=14;            //GBPCAD_ATRöeô•hTg

extern int  TR_GC =150;             //GBPCAD_ATR§c6R®_¹p

extern ENUM_TIMEFRAMES  TR_TF_GC=15;//GBPCAD_ATRþVhˆhTg

//--25--------------------------------------------------------------------

extern int SHou_NC = 0;             //NZDCAD_ËYöeô•\öeÿ00-23	ÿ

extern int SMin_NC = 0;             //NZDCAD_ËYöeô•RŸ”ÿ00-59	ÿ

extern int EHou_NC =23;             //NZDCADÓ~_göeô•\öeÿ00-23	ÿ

extern int EMin_NC =59;             //NZDCAD_ËYöeô•RŸ”ÿ00-59	ÿ

extern int  Sp_NC  =SPEAD_POINT;             //NZDCAD__US¹pî]§c6R®_¹p

//-//	

extern bool boTR_NC= !true;         //NZDCAD_ATR§c6R_sQ

extern int  TR_MA_NC=14;            //NZDCAD_ATRöeô•hTg

extern int  TR_NC =150;             //NZDCAD_ATR§c6R®_¹p

extern ENUM_TIMEFRAMES  TR_TF_NC=15;//NZDCAD_ATRþVhˆhTg

//--26--------------------------------------------------------------------

extern int SHou_EF = 0;             //EURCHF_ËYöeô•\öeÿ00-23	ÿ

extern int SMin_EF = 0;             //EURCHF_ËYöeô•RŸ”ÿ00-59	ÿ

extern int EHou_EF =23;             //EURCHFÓ~_göeô•\öeÿ00-23	ÿ

extern int EMin_EF =59;             //EURCHF_ËYöeô•RŸ”ÿ00-59	ÿ

extern int  Sp_EF  =SPEAD_POINT;             //EURCHF__US¹pî]§c6R®_¹p

//-//	

extern bool boTR_EF= !true;         //EURCHF_ATR§c6R_sQ

extern int  TR_MA_EF=14;            //EURCHF_ATRöeô•hTg

extern int  TR_EF =150;             //EURCHF_ATR§c6R®_¹p

extern ENUM_TIMEFRAMES  TR_TF_EF=15;//EURCHF_ATRþVhˆhTg

//--27--------------------------------------------------------------------

extern int SHou_GF = 0;             //GBPCHF_ËYöeô•\öeÿ00-23	ÿ

extern int SMin_GF = 0;             //GBPCHF_ËYöeô•RŸ”ÿ00-59	ÿ

extern int EHou_GF =23;             //GBPCHFÓ~_göeô•\öeÿ00-23	ÿ

extern int EMin_GF =59;             //GBPCHF_ËYöeô•RŸ”ÿ00-59	ÿ

extern int  Sp_GF  =SPEAD_POINT;             //GBPCHF__US¹pî]§c6R®_¹p

//-//	

extern bool boTR_GF= !true;         //GBPCHF_ATR§c6R_sQ

extern int  TR_MA_GF=14;            //GBPCHF_ATRöeô•hTg

extern int  TR_GF =150;             //GBPCHF_ATR§c6R®_¹p

extern ENUM_TIMEFRAMES  TR_TF_GF=15;//GBPCHF_ATRþVhˆhTg

//--28--------------------------------------------------------------------

extern int SHou_EG = 0;             //EURGBP_ËYöeô•\öeÿ00-23	ÿ

extern int SMin_EG = 0;             //EURGBP_ËYöeô•RŸ”ÿ00-59	ÿ

extern int EHou_EG =23;             //EURGBPÓ~_göeô•\öeÿ00-23	ÿ

extern int EMin_EG =59;             //EURGBP_ËYöeô•RŸ”ÿ00-59	ÿ

extern int  Sp_EG  =SPEAD_POINT;             //EURGBP__US¹pî]§c6R®_¹p

//-//	

extern bool boTR_EG= !true;         //EURGBP_ATR§c6R_sQ

extern int  TR_MA_EG=14;            //EURGBP_ATRöeô•hTg

extern int  TR_EG =150;             //EURGBP_ATR§c6R®_¹p

extern ENUM_TIMEFRAMES  TR_TF_EG=15;//EURGBP_ATRþVhˆhTg

//--29-USDSGD-------------------------------------------------------------------

extern int SHou_US = 0;            //USDSGD_ËYöeô•\öeÿ00-23	ÿ

extern int SMin_US = 0;             //USDSGD_ËYöeô•RŸ”ÿ00-59	ÿ

extern int EHou_US =23;             //USDSGDÓ~_göeô•\öeÿ00-23	ÿ

extern int EMin_US =59;             //USDSGD_ËYöeô•RŸ”ÿ00-59	ÿ

extern int  Sp_US  =SPEAD_POINT;             //USDSGD__US¹pî]§c6R®_¹p

//-//	

extern bool boTR_US= !true;         //USDSGD_ATR§c6R_sQ

extern int  TR_MA_US=14;            //USDSGD_ATRöeô•hTg

extern int  TR_US =150;             //USDSGD_ATR§c6R®_¹p

extern ENUM_TIMEFRAMES  TR_TF_US=15;//USDSGD_ATRþVhˆhTg

//--30-EURSGD-------------------------------------------------------------------

extern int SHou_ES = 0;             //EURSGD_ËYöeô•\öeÿ00-23	ÿ

extern int SMin_ES = 0;             //EURSGD_ËYöeô•RŸ”ÿ00-59	ÿ

extern int EHou_ES = 23;             //EURSGDÓ~_göeô•\öeÿ00-23	ÿ

extern int EMin_ES = 59;             //EURSGDÓ~_göeô•RŸ”ÿ00-59	ÿ

extern int  Sp_ES  =SPEAD_POINT;             //EURSGD__US¹pî]§c6R®_¹p

//-//	

extern bool boTR_ES= !true;         //EURSGD_ATR§c6R_sQ

extern int  TR_MA_ES=14;            //EURSGD_ATRöeô•hTg

extern int  TR_ES =150;             //EURSGD_ATR§c6R®_¹p

extern ENUM_TIMEFRAMES  TR_TF_ES=15;//EURSGD_ATRþVhˆhTg

//--31--------------------------------------------------------------------

extern int SHou_AS = 0;             //AUDSGD_ËYöeô•\öeÿ00-23	ÿ

extern int SMin_AS = 0;             //AUDSGD_ËYöeô•RŸ”ÿ00-59	ÿ

extern int EHou_AS =23;             //AUDSGDÓ~_göeô•\öeÿ00-23	ÿ

extern int EMin_AS =59;             //AUDSGD_ËYöeô•RŸ”ÿ00-59	ÿ

extern int  Sp_AS  =SPEAD_POINT;             //AUDSGD__US¹pî]§c6R®_¹p

//-//	

extern bool boTR_AS= !true;         //AUDSGD_ATR§c6R_sQ

extern int  TR_MA_AS=14;            //AUDSGD_ATRöeô•hTg

extern int  TR_AS =150;             //AUDSGD_ATR§c6R®_¹p

extern ENUM_TIMEFRAMES  TR_TF_AS=15;//AUDSGD_ATRþVhˆhTg

//--32--------------------------------------------------------------------

extern int SHou_FS = 0;             //CHFSGD_ËYöeô•\öeÿ00-23	ÿ

extern int SMin_FS = 0;             //CHFSGD_ËYöeô•RŸ”ÿ00-59	ÿ

extern int EHou_FS =23;             //CHFSGDÓ~_göeô•\öeÿ00-23	ÿ

extern int EMin_FS =59;             //CHFSGD_ËYöeô•RŸ”ÿ00-59	ÿ

extern int  Sp_FS  =SPEAD_POINT;             //CHFSGD__US¹pî]§c6R®_¹p

//-//	

extern bool boTR_FS= !true;         //CHFSGD_ATR§c6R_sQ

extern int  TR_MA_FS=14;            //CHFSGD_ATRöeô•hTg

extern int  TR_FS =150;             //CHFSGD_ATR§c6R®_¹p

extern ENUM_TIMEFRAMES  TR_TF_FS=15;//CHFSGD_ATRþVhˆhTg



const string GGMyHB[31]=

{

      "EURUSD","GBPUSD","AUDUSD","NZDUSD","USDJPY","USDCHF","USDCAD","EURJPY",

      "GBPJPY","AUDJPY","NZDJPY","CHFJPY","CADJPY","EURAUD","GBPAUD","AUDNZD",

      "AUDCHF","AUDCAD","EURNZD","GBPNZD","NZDCHF","CADCHF","EURCAD","GBPCAD",

      "NZDCAD","EURCHF","GBPCHF","EURGBP","USDSGD","EURSGD","AUDSGD","CHFSGD",

};

const int GGSumHB=32;

bool One_Key_Clear_Sign=0;//N.•nÓN h×_

bool Key_slowT_Sign=0;//slowT h×_



bool booErr=true;



#ifdef Check_En

/*====================================================================

*    function: 

*          in:

*         mid:

*         out:

* instruction:

======================================================================*/

bool CheckIniError()

  {

   if(
Ný€
YØvKmՋ==A && IsTesting()) 

   	{ bError=true; return(true); }

   if(ÅN(W!jßb^÷SO(u==A && !IsDemo()) 

   	{ bError=true; return(true); }

   if(ÀhågO(ugP–==A)

     {

      if(TimeCurrent()>dtExpiry+24*3600-1)

        {

         SetLabel(strEA+"_ERROR","EAO(ugò]Ǐ",5,20,strFtc,12,Red); 

		 bError=true; 

		 Alert(TimeToString(TimeCurrent(),TIME_DATE|TIME_MINUTES)," , ",Symbol()," ,  ",", hTg= ",Period(),", ", " EAO(ugò]Ǐ ");

		 return(true);

        }

      else

         SetLabel(strEA+"_ERROR","EAO(ugó: "+TimeToString(dtExpiry,TIME_DATE),10,5,

                  strFtc,10,clrSilver,CORNER_LEFT_LOWER,ANCHOR_LEFT_LOWER);

     }

   if(ÀhågO(u&7b÷Sx==A && StringFind(strActNumber,IntegerToString(AccountNumber()),0)==-1 )

     {

      SetLabel(strEA+"_ERROR","O(u€&7b
N&{T",5,20,strFtc,12,Red); bError=true; return(true);

     }

   if(Àhåg¤NfFU==A && ¤NfFU
Tðy!="")

     {

      string strBroker=StringSubstr(AccountInfoString(ACCOUNT_SERVER),0,StringFind(AccountInfoString(ACCOUNT_SERVER),"-",0));

      if(StringFind(¤NfFU
Tðy,strBroker,0)==-1 && strBroker!="")

        { SetLabel(strEA+"_ERROR","*** "+strBroker+" ^—EAAQ¸‹O(u¤NfFU ***",5,20,strFtc,12,Red); bError=true; return(true); }

     }



   bError=false;  return(false);

  }

/*====================================================================

*    function: 

*          in:

*         mid:

*         out:

* instruction:

======================================================================*/

void SetLabel(string nm,string tx,int xd,int yd,string fn,int fs,color ct,

              ENUM_BASE_CORNER cn=CORNER_LEFT_UPPER,ENUM_ANCHOR_POINT ap=ANCHOR_LEFT_UPPER)

{

	if(ObjectFind(0,nm)<0) 

		ObjectCreate(0,nm,OBJ_LABEL,0,0,0);

	ObjectSetInteger(0,nm,OBJPROP_STYLE,STYLE_SOLID); 

	ObjectSetString(0,nm,OBJPROP_TOOLTIP,"\n");

	ObjectSetInteger(0,nm,OBJPROP_XDISTANCE,xd); 

	ObjectSetInteger(0,nm,OBJPROP_YDISTANCE,yd);

	ObjectSetInteger(0,nm,OBJPROP_COLOR,ct); 

	ObjectSetString(0,nm,OBJPROP_TEXT,tx);

	ObjectSetString(0,nm,OBJPROP_FONT,fn); 

	ObjectSetInteger(0,nm,OBJPROP_FONTSIZE,fs);

	ObjectSetInteger(0,nm,OBJPROP_CORNER,cn); 

	ObjectSetInteger(0,nm,OBJPROP_ANCHOR,ap);

	ObjectSetInteger(0,nm,OBJPROP_SELECTABLE,false); 

	ObjectSetInteger(0,nm,OBJPROP_SELECTED,false);

}



#endif



void booDateERR()

{//•ï‹Yt

	return;

}



void MySetErr()

{//

   if(CutLoss<=0)

      MyEA_Del("_nmN~vRÔk_¾‹nÅ_{˜/fckpe");

    

    if(NextOpH<=0)

      MyEA_Del("_nmNnÓN‚f\P_US\öepe<P¾‹n•ï‹ÿ‚f\P_US\öeÅ_{˜/fckpe");

      

    if(OpMax_ALL<=0)

      MyEA_Del("__US;`pe¾‹n•ï‹ÿpe<PÅ_{˜/fckpe");



//------------------------------------------------------------------------

   int i,wSHou,wSMin,wEHou,wEMin,wGap_ATR;

   for(i=0;i<GGSumHB;i++)

   {

      string wwHB=GGMyHB[i];

      wSHou =zzHBSHou(wwHB);

      wSMin =zzHBSMin(wwHB);

      wEHou =zzHBEHou(wwHB);

      wEHou =zzHBEHou(wwHB);

      wGap_ATR =zzHBATR(wwHB);//ATR¹ppe§c6R

      

      if(wSHou<0 || wSHou>23)

         MyEA_Del("_ËY\öe¾‹n•ï‹ÿ÷‹9hncÐc:y¾‹nöeô•");

      

      if(wSMin<0 || wSMin>59)

         MyEA_Del("_ËYRŸ”¾‹n•ï‹ÿ÷‹9hncÐc:y¾‹nöeô•");

      

      if(wEHou<0 || wEHou>23)

         MyEA_Del("Ó~_g\öe¾‹n•ï‹ÿ÷‹9hncÐc:y¾‹nöeô•");

      

      if(wEMin<0 || wEMin>59)

         MyEA_Del("Ó~_gRŸ”¾‹n•ï‹ÿ÷‹9hncÐc:y¾‹nöeô•");

         

       if(true==zzHBboTR(wwHB) && wGap_ATR<=0)

         MyEA_Del("ò]Ï~Sb_ATR§c6RÿFO/fATRÅ_{˜/fckpe");

        

        if(true==zzHBboTR(wwHB) && zzHBTR_MA(wwHB)<=0)

         MyEA_Del("ò]Ï~Sb_ATR§c6RÿFO/fATRhTgÅ_{˜/fckpe"); 

   }

//----------------------------------------------------------------   

   

      if(wWay>3 || wWay<0)

         MyEA_Del("ûy¨Rbk_c¹e_¾‹n•ï‹ÿ÷‹9hncÐc:y¾‹n");

      

      if(MV_ALL<0 )

         MyEA_Del("ûy¨Rbk_c¹ppe¾‹n•ï‹ÿ÷‹9hncÐc:y¾‹n");

       

       if(BB_MA<0 )

         MyEA_Del("^—g&^N¾‹n•ï‹ÿNÅ_{˜/fckpe");

        

        if(true==booBB_UD && BB_MaxGap<=0)

         MyEA_Del("ò]Ï~Sb_$Ntî]ݍ§c6RÿFO/f$Ntg'Yî]ݍ¾‹nN<PÅ_{˜/fckpe");

        

        if(true==booBB_UD && BB_MinGap<=0)

         MyEA_Del("ò]Ï~Sb_$Ntî]ݍ§c6RÿFO/f$Ntg\î]ݍ¾‹nN<PÅ_{˜/fckpe");

         

         if(StringLen(EACom)>30)

           MyEA_Del("ꁚ[INèlʑ…ÇMT4oöNP–6RÿèlʑàeHe"); 

}

void MyEA_Del(string wInfo)

{

   Alert(wInfo+"&TREAàeÕl R}");

   ExpertRemove();//\Pbk EA¤Nf v^ÎNþVhˆ-NxS}

}





int OnInit()

{

#ifdef Check_En

		  if(CheckIniError()) 

		  { 

			   return(INIT_FAILED); 

		  }

#endif



//

   /*

   if(!IsDemo() && !TESTbooTesting())

   {

      MessageBox("ybk(Wž[Øv
NЏLˆEA","ž[Øv&7bÐc:y",MB_YESNO);

      if(IDYES)

      {

         ExpertRemove();

         return(0);

      }

   }

   */

  ObjectsDeleteAll();

  

  MySetErr();

  

     ChartSetInteger(0,CHART_COLOR_BACKGROUND,LightGray);

     ChartSetInteger(0,CHART_COLOR_FOREGROUND,Black);

     ChartSetInteger(0,CHART_SHOW_GRID,false);

     ChartSetInteger(0,CHART_MODE,CHART_CANDLES);

     ChartSetInteger(0,CHART_SHOW_PERIOD_SEP,true);

     ChartSetInteger(0,CHART_AUTOSCROLL,true);

     ChartSetInteger(0,CHART_SHIFT,true);

           

     ChartSetInteger(0,CHART_COLOR_CHART_UP,clrBlack); 

     ChartSetInteger(0,CHART_COLOR_CHART_DOWN,clrBlack); 

     ChartSetInteger(0,CHART_COLOR_CANDLE_BULL,Green); 

     ChartSetInteger(0,CHART_COLOR_CANDLE_BEAR,Crimson); 





	 

     subALLButton_Init();//hQè	c.•RËYS

     EventSetTimer(1);

 /**/  

	for(int ci=60;ci>0;ci--)

	{

		for(int i=0;i<GGSumHB;i++)

		{

			if(TESTbooTesting() && Symbol()==GGMyHB[i])

				booDateCheck( GGMyHB[i]);

			if(!TESTbooTesting())

				booDateCheck( GGMyHB[i]);

		}

		Sleep(200);

		Comment ("\Ջ·ƒÖS'^pencÿ",ci);

	}

	







//  GUI_Button("Button_113_sell",clrBlack, SX+330, SY+4+160,",{1USSELL", 95);

//   PrintFormat("Button_113_sell");



   return(INIT_SUCCEEDED);

  }



void OnDeinit(const int reason)

  {//

      if(TESTbooTesting())

         GlobalVariablesDeleteAll(NULL,0);

      if(!TESTbooTesting())

      

      EventKillTimer();



	  

      return;   

  }



void subTXT(string wName,string wText,int wXX,int wYY,color wCol)

{//Rú^‡eW[h~{

   ObjectCreate(wName,OBJ_LABEL,0,0,0,0,0,0,0);

   ObjectSetText(wName,wText,"",wCol);

   ObjectSet(wName,OBJPROP_CORNER,1);

   ObjectSet(wName,OBJPROP_XDISTANCE,wXX);

   ObjectSet(wName,OBJPROP_XDISTANCE,wYY);

   return;

}



int start()

{//PrintFormat("start()");

     OnTimer();

     return(0);

}



void OnTimer()

{//

  int  AllCnt=0;  //lixg???  :1YîOeˆ

	//   PrintFormat("OnTimer()");













   Button_Key_Process();



/**/

//030;Nz^ÿ32*N'^ª_¯s   

   for(int i=0;i<GGSumHB;i++)

   {

     Mystart(i,GGMyHB[i]);     //;Nz^

   }

//040Θ§c1: nmNnÓN~vRÔk: 15%

   if(-0.01*CutLoss*AccountBalance()>(subSumTP()+subHisTP()) && 

   	  (int)TimeCurrent()>GlobalVariableGet("Stop_OP"))

   {

      GlobalVariableSet("Stop_OP",NextOpH*60*60+(int)TimeCurrent());

      GlobalVariableSet(AccountNumber()+"_CutLossALL",1);

   }



//050Θ§c2: nmNnÓN~vRÔk: 15%



//:1Y{˜îO
Y

	if(-0.01*CutLoss*AccountBalance()>(subSumTP()+subHisTP()) && (int)TimeCurrent()>GlobalVariableGet("Stop_OP"))

	{

		if(false==RunClearALL("N_c…Ç" + CutLoss + "%"))

			GlobalVariableSet(AccountNumber()+"_CutLossALL",-1);

	}

	

 }



void Mystart(int Indx, string wMyHB)//peÄ~^÷S, ù[”^„vpeÄ~

{//;Nz^

//010$R­eKmՋ!j_

   if(TESTbooTesting()&&wMyHB!=Symbol())return;

//020$R­e32*N'^ _sQ§c6R

   if(false==zzHBboo(wMyHB))return;



//030$R­eask,bidÿpoint/f&T==0

   if(0.0==HBAsk(wMyHB)||0.0==HBBid(wMyHB) || 0.0 ==HBPoit(wMyHB))

   {

      if(true == booErr)

         DateReNow(Indx, wMyHB);//

      return;

   }

   else

      ObjectDelete(0,Indx + "Miss");



//bkÈvbk_c /f&TNOŽNs^ðSgNO‰Bl

   int wStopLevel = MarketInfo(wMyHB,MODE_STOPLEVEL);

   int minSL = SL_ALL;

   int minTP = TP_ALL;

   

   if(SL_ALL<wStopLevel)

   {

      Print(wMyHB,"ꁚ[INbk_c\ŽNs^ðSg\ݍ»y‰Blÿ:_6R	cs^ðSg\ݍ»ygbLˆbk_cݍ»y"); //bk_cݍ»y\ŽN^÷Nî]

      minSL = wStopLevel;

   }



   if(TP_ALL<wStopLevel)

   {

      Print(wMyHB,"ꁚ[INbkÈv\ŽNs^ðSg\ݍ»y‰Blÿ:_6R	cs^ðSg\ݍ»ygbLˆbkÈvݍ»y"); //bk_cݍ»y\ŽN^÷Nî]

      minTP = wStopLevel;

   }

    

   FilterBuy(Indx,wMyHB,minSL,minTP);      //ǏänNYUS 

   FilterSell(Indx,wMyHB,minSL,minTP);

   

   RunTPClose(wMyHB,minSL,minTP);         //Èv)Rs^ÓN!jWW ^—g&^	gsQ

  RunOverMidMoveSL(wMyHB,minSL,minTP);

   

   return;

}



bool FilterTime(string wMyHB)//ЏLˆ(Wcš[„vöeô•ƒôV…Q

{//öeô•Ǐänÿ‚YœgԏÞVture
N_US

//010N_cnÓN ÿY•öeô•Q_US

   if((int)TimeCurrent()<GlobalVariableGet("Stop_OP"))

   {

      string strOpTime=TimeToStr((datetime)GlobalVariableGet("Stop_OP"),TIME_DATE|TIME_MINUTES);

      string Err="N_cnÓNÿEA(W"+strOpTime+"Q_US";

      ObjectCreate("LossWait",OBJ_LABEL,0,0,0);

      ObjectSetText("LossWait",Err,12,"",Lime);

      ObjectSet("LossWait",OBJPROP_CORNER,0);

      ObjectSet("LossWait",OBJPROP_XDISTANCE,10);

      ObjectSet("LossWait",OBJPROP_YDISTANCE,18);

	//  PrintFormat("FilterTime_0: 111 N_cnÓN ÿY•öeô•Q_US"); 

      return(true);

   }

   else

      ObjectDelete(0,"LossWait");

   

//020N.•nÓNT_USöeô•Ǐän

   if((int)TimeCurrent()-GlobalVariableGet(AccountNumber()+"OneKeySleep")<1*60)

   {//S_MRöeô•-¾‹š[öeô•<1RŸ”

      string strOkTime=TimeToStr((datetime)GlobalVariableGet(AccountNumber()+"OneKeySleep"),TIME_DATE|TIME_MINUTES);

      string Err="N.•nÓNÿEA(W"+strOkTime+"Q_US";

      ObjectCreate("OnekWait",OBJ_LABEL,0,0,0);

      ObjectSetText("OnekWait",Err,12,"",Lime);

      ObjectSet("OnekWait",OBJPROP_CORNER,0);

      ObjectSet("OnekWait",OBJPROP_XDISTANCE,10);

      ObjectSet("OnekWait",OBJPROP_YDISTANCE,18);

	//  PrintFormat("FilterTime_0: 222 N.•nÓNT_USöeô•Ǐän"); 

      return(true);

   }

    else

      ObjectDelete(0,"OnekWait");

    

    int wSHou = zzHBSHou(wMyHB);

    int wSMin = zzHBSMin(wMyHB);

    int wEHou = zzHBEHou(wMyHB);

    int wEMin = zzHBEMin(wMyHB);//Ó~_gRŸ”

    

    // int wTimeStart = 8*60*60+ wSMin*60;

     // int wTimeEnd =16*60*60+ wSMin*60;

    int wTimeStart = wSHou*60*60+ wSMin*60;

    int wTimeEnd =wEHou*60*60+ wEMin*60;

    int wTimeNow = Hour()*60*60+ Minute()*60+Seconds();

//030ЏLˆ(Wcš[„vöeô•ƒôV…Q    

    //_ËYöeô•'YŽNÓ~_göeô•ÿèåe¤Nf

    if(wTimeStart>wTimeEnd && (wTimeNow<wTimeStart && wTimeNow>wTimeEnd))

    {//	PrintFormat("FilterTime_0: 333 _ËYöeô•'YŽNÓ~_göeô•ÿèåe¤Nf"); 

    	return(true);

    }

      

    //_ËYöeô•\ŽNÓ~_göeô•ÿåe…Q¤Nf

    if(wTimeStart<wTimeEnd && (wTimeNow<wTimeStart || wTimeNow>wTimeEnd))

    {//	PrintFormat("FilterTime_0: 444 _ËYöeô•\ŽNÓ~_göeô•ÿåe…Q¤Nf"); 

   	  	return(true);

	

}

      

    return(false);

}







bool booDateCheck (string wMyHB)

{//2019.10.08penc:1YÀhKmǏän

   if(TESTbooTesting())  return(false);

   

   if( 0.0==iClose(wMyHB,FTime,015)) return(true);

   if( 0.0==iClose(wMyHB,FTime,195)) return(true);

   if( 0.0==iClose(wMyHB,FTime,095)) return(true);

   if( 0.0==iClose(wMyHB,FTime,045)) return(true);

   if( 0.0==iClose(wMyHB,FTime,155)) return(true);

   if( 0.0==iClose(wMyHB,FTime,115)) return(true);

   

   if( 0.0==iBands(wMyHB,FTime,BB_MA,BB_Deviation,0,PRICE_CLOSE,MODE_LOWER,015))  return(true);

   if( 0.0==iBands(wMyHB,FTime,BB_MA,BB_Deviation,0,PRICE_CLOSE,MODE_LOWER,240))  return(true);

   if( 0.0==iBands(wMyHB,FTime,BB_MA,BB_Deviation,0,PRICE_CLOSE,MODE_LOWER,120))  return(true);

   if( 0.0==iBands(wMyHB,FTime,BB_MA,BB_Deviation,0,PRICE_CLOSE,MODE_LOWER,030))  return(true);

   if( 0.0==iBands(wMyHB,FTime,BB_MA,BB_Deviation,0,PRICE_CLOSE,MODE_LOWER,180))  return(true);

   if( 0.0==iBands(wMyHB,FTime,BB_MA,BB_Deviation,0,PRICE_CLOSE,MODE_LOWER,070))  return(true);

   

   if( 0.0==iBands(wMyHB,FTime,BB_MA,BB_Deviation,0,PRICE_CLOSE,MODE_UPPER,020))  return(true);

   if( 0.0==iBands(wMyHB,FTime,BB_MA,BB_Deviation,0,PRICE_CLOSE,MODE_UPPER,210))  return(true);

   if( 0.0==iBands(wMyHB,FTime,BB_MA,BB_Deviation,0,PRICE_CLOSE,MODE_UPPER,110))  return(true);

   if( 0.0==iBands(wMyHB,FTime,BB_MA,BB_Deviation,0,PRICE_CLOSE,MODE_UPPER,040))  return(true);

   if( 0.0==iBands(wMyHB,FTime,BB_MA,BB_Deviation,0,PRICE_CLOSE,MODE_UPPER,140))  return(true);

   if( 0.0==iBands(wMyHB,FTime,BB_MA,BB_Deviation,0,PRICE_CLOSE,MODE_UPPER,080))  return(true);

   

   ENUM_TIMEFRAMES wFT = zzHBTR_TF(wMyHB);

   int wARTma = zzHBTR_MA(wMyHB);//ԏÞVwMyHB'^„vATRöeô•hTg

   

   if(0.0 == iClose(wMyHB,wFT,015)) return(true);

   if(0.0 == iClose(wMyHB,wFT,185)) return(true);

   if(0.0 == iClose(wMyHB,wFT,085)) return(true);   

   if(0.0 == iClose(wMyHB,wFT,035)) return(true);    

   if(0.0 == iClose(wMyHB,wFT,145)) return(true);    

   if(0.0 == iClose(wMyHB,wFT,105)) return(true); 

    

   if( 0.0==iATR(wMyHB,wFT,wARTma,020) ) return(true);

   if( 0.0==iATR(wMyHB,wFT,wARTma,240) ) return(true);

   if( 0.0==iATR(wMyHB,wFT,wARTma,120) ) return(true);

   if( 0.0==iATR(wMyHB,wFT,wARTma,040) ) return(true);

   if( 0.0==iATR(wMyHB,wFT,wARTma,180) ) return(true);

   if( 0.0==iATR(wMyHB,wFT,wARTma,080) ) return(true);

   

   return(false);

}



void DateReNow (int Indx,string wMyHB)

{//¡l	gdk'^ÿ‡eW[Ðc:y

	string Err="ck(W·ƒÖS "+wMyHB+" '^penc......";

	ObjectCreate(Indx+"Miss",OBJ_LABEL,0,0,0);

	ObjectSetText(Indx+"Miss",Err,8,"",Red);

	ObjectSet(Indx+"Miss",OBJPROP_CORNER,0);

	ObjectSet(Indx+"Miss",OBJPROP_XDISTANCE,400);

	ObjectSet(Indx+"Miss",OBJPROP_YDISTANCE,15+Indx*16);

	return;

}



void FilterBuy (int Indx,string wMyHB,int wSLgap, int wTPgap)

{//ǏänNYUS              peÄ~^÷S  ù[”^peÄ~            bk_c¹ppeÿ       bkÈv¹ppe   



//010¤Nföeô•Ǐän

	if(true==FilterTime(wMyHB))

		return;



//020,{N,{ŒNÍyÅ`µQ„vcÓN;`peǏän

	if((1==BB_Fiter || 2==BB_Fiter) && 

	   (subCnt(wMyHB,-1)+subCnt(wMyHB,1))>0)

		return;

	

	//030,{	NÍyÅ`µQcÓN;`peǏän

	if(3==BB_Fiter && subCnt(wMyHB,1)>=OpMax_3_)

	{

		return;

	}    

     //040'^pencÀhågǏän

     if(true==booDateCheck(wMyHB))

     {

         if(true==booErr)

            DateReNow(Indx,wMyHB);

          return;

     }

   

     //050^—g&^Ǐän

     //2019.11.28 ^—g&^ǏänagöN1ÿǏtÊS_US

     if(1==BB_Fiter && HBAsk(wMyHB)>iBands(wMyHB,FTime,BB_MA,BB_Deviation+BB_adjopen,0,PRICE_CLOSE,MODE_LOWER,0))

         return;

     

     //0602019.11.28 ^—g&^ǏänagöN2ÿ$Nt6eãS

     if(2==BB_Fiter)

     {

         double BB_Up2 = iBands(wMyHB,FTime,BB_MA,BB_Deviation+BB_adjopen,0,PRICE_CLOSE,MODE_UPPER,2);

         double BB_Low2 = iBands(wMyHB,FTime,BB_MA,BB_Deviation+BB_adjopen,0,PRICE_CLOSE,MODE_LOWER,2);

         double BB_Gap2 = BB_Up2-BB_Low2;

         

         //^—g&^_8^

         if(BB_Up2<=0 || BB_Low2<=0 || BB_Gap2<0)

            return;

         

         double BB_Up1 = iBands(wMyHB,FTime,BB_MA,BB_Deviation+BB_adjopen,0,PRICE_CLOSE,MODE_UPPER,1);

         double BB_Low1 = iBands(wMyHB,FTime,BB_MA,BB_Deviation+BB_adjopen,0,PRICE_CLOSE,MODE_LOWER,1);

         double BB_Gap1 = BB_Up1-BB_Low1;

         

         //^—g&^_8^

         if(BB_Up1<=0 || BB_Low1<=0 || BB_Gap1<0)

            return;

            

          //K¿~6e¿~„vgؚ÷N<h

          double wHig = iHigh(wMyHB,FTime,1);

          //K¿~6e¿~„vgؚ÷N<h

          double wLow = iLow(wMyHB,FTime,1);

          //K¿~6e¿~„v÷N<h

          double wclose = iClose(wMyHB,FTime,1);

          

          //gؚ÷N<h0gNO÷N<h06e¿~„v÷N<h_8^

          if(wHig<=0 || wLow<=0|| wclose<=0)

              return;

              

          //1.K¿~6e¿~TÿK¿~„vgNO¹p\ŽNI{ŽN^—g&^Nh„vpe<P

          if(wLow>BB_Low1)

             return;

          //2.K¿~6e¿~Tÿ^—g&^
NNh„vݍ»yÅ_{˜\ŽNMRN9hK¿~„v^—g&^
NNh„vݍ»yN*N®_¹p

          if(BB_Gap2-BB_Gap1<=BB_Check2*HBPoit(wMyHB))//^—g&^6eãS

            return;

          //3.6eØv÷NÅ_{˜(W-NtåNNÿMbïSåNZPY

          if(wclose>=iBands(wMyHB,FTime,BB_MA,BB_Deviation,0,PRICE_CLOSE,MODE_MAIN,1))

            return;

          //K¿~gؚ÷N'YŽNI{ŽN^—g&^
Nh„v<Pÿ£HNُ{YUSáO÷S\OŸ^

          if(wHig>=iBands(wMyHB,FTime,BB_MA,BB_Deviation+BB_adjopen,0,PRICE_CLOSE,MODE_UPPER,1))

            return;

     }

    

     //0702019.12.09 ^—g&^ǏänagöN3ÿ6eØv÷N(WNtåNN

	if(3==BB_Fiter)

	{

		double BBLow_1 = iBands(wMyHB,FTime,BB_MA,BB_Deviation+BB_adjopen,0,PRICE_CLOSE,MODE_LOWER,1);

		double k1close = iClose(wMyHB,FTime,1);

		double k0open = iOpen(wMyHB,FTime,0);



		if(BBLow_1<=k1close)

			return;

		if(subCnt(wMyHB,1)>0 && ((int)TimeCurrent()-(int)subNewTime(wMyHB,1))<FTime*60)

		{

		    return;

		}

	}   

       

//0802019.11.22 ‚YœgSb_$Ntî]ݍǏän_sQÿgbLˆ$NtÝ»yǏän

	if(true==booBB_UD)

	{

		double bb_up = iBands(wMyHB,FTime,BB_MA,BB_Deviation+BB_adjopen,0,PRICE_CLOSE,MODE_UPPER,0);

		double bb_low = iBands(wMyHB,FTime,BB_MA,BB_Deviation+BB_adjopen,0,PRICE_CLOSE,MODE_LOWER,0);



		//g\§c6R--9hncFilterSellîO
Y

		if(bb_up-bb_low<BB_MinGap*HBPoit(wMyHB) || bb_up<=bb_low)

			return;

		//g'Y§c6R

		if(bb_up-bb_low>BB_MaxGap*HBPoit(wMyHB) || bb_up<=bb_low)

			return;

	}

	//0802020.06.18 ‚YœgSb_$Ntî]ݍǏän_sQÿgbLˆ$NtÝ»yǏän



	if(true==booKHigh)

      {

         if(HBHigh(wMyHB)>KHigh)

         return;

      } 



//0902019.11.23 ATRǏän

	if(true ==zzHBboTR(wMyHB) &&//ԏÞVATR_sQ§c6Rh×_ 

		iATR(wMyHB,zzHBTR_TF(wMyHB),zzHBTR_MA(wMyHB),0)>=zzHBATR(wMyHB)*HBPoit(wMyHB) )

		return;





//0100†SòS¢‹USúQ°sbk_c

	subHisCheck(wMyHB,wSLgap);

	//†SòS¢‹USúQ°sbk_c

	//¤Nföeô•ƒôV…Qò]Ï~0R¾_ÓN;`!kpe„vP–6R

	if((int)TimeCurrent()<GlobalVariableGet(wMyHB+"_WaitOp"))

		return;



//0110ǏänNYUS             

     RunOpenBuy(wMyHB,wSLgap,wTPgap);//ǏänNYUS

    

     return;

}

          

void FilterSell (int Indx,string wMyHB,int wSLgap, int wTPgap)

{//ǏänNzzUS

   //¤Nföeô•Ǐän

   if(true==FilterTime(wMyHB))

      return;

    

    //,{N,{ŒNÍyÅ`µQ„vcÓN;`peǏän

    if( (1==BB_Fiter || 2==BB_Fiter) && subCnt(wMyHB,-1)+subCnt(wMyHB,1)>0)

      return;

    //,{	NÍyÅ`µQcÓN;`peǏän

    if(3==BB_Fiter && subCnt(wMyHB,-1)>=OpMax_3_)

      return;

      

     //'^pencÀhågǏän

     if(true==booDateCheck(wMyHB))

     {

         if(true==booErr)

            DateReNow(Indx,wMyHB);

          return;

     }

     

     //^—g&^Ǐän

     //2019.11.28 ^—g&^ǏänagöN1ÿǏtÊS_US

     if(1==BB_Fiter && HBBid(wMyHB)<iBands(wMyHB,FTime,BB_MA,BB_Deviation+BB_adjopen,0,PRICE_CLOSE,MODE_UPPER,0))//ù[ÔkîO
Y

         return;

     

     //2019.11.28 ^—g&^ǏänagöN2ÿ$Nt6eãS

     if(2==BB_Fiter)

     {

         double BB_Up2 = iBands(wMyHB,FTime,BB_MA,BB_Deviation+BB_adjopen,0,PRICE_CLOSE,MODE_UPPER,2);

         double BB_Low2 = iBands(wMyHB,FTime,BB_MA,BB_Deviation+BB_adjopen,0,PRICE_CLOSE,MODE_LOWER,2);

         double BB_Gap2 = BB_Up2-BB_Low2;

         

         //^—g&^_8^

         if(BB_Up2<=0 || BB_Low2<=0 || BB_Gap2<0)

            return;

         

         double BB_Up1 = iBands(wMyHB,FTime,BB_MA,BB_Deviation+BB_adjopen,0,PRICE_CLOSE,MODE_UPPER,1);

         double BB_Low1 = iBands(wMyHB,FTime,BB_MA,BB_Deviation+BB_adjopen,0,PRICE_CLOSE,MODE_LOWER,1);

         double BB_Gap1 = BB_Up1-BB_Low1;

         

         //^—g&^_8^

         if(BB_Up1<=0 || BB_Low1<=0 || BB_Gap1<0)

            return;

            

          //K¿~6e¿~„vgؚ÷N<h

          double wHig = iHigh(wMyHB,FTime,1);

          //K¿~6e¿~„vgؚ÷N<h

          double wLow = iLow(wMyHB,FTime,1);

          //K¿~6e¿~„v÷N<h

          double wclose = iClose(wMyHB,FTime,1);

          

          //gؚ÷N<h0gNO÷N<h06e¿~„v÷N<h_8^

          if(wHig<=0 || wLow<=0|| wclose<=0)

              return;

              

          //1.K¿~6e¿~TÿK¿~„vgؚ¹p'YŽNI{ŽN^—g&^Nh„vpe<P

          if(wHig<BB_Up1)

             return;

          //2.K¿~6e¿~Tÿ^—g&^
NNh„vݍ»yÅ_{˜\ŽNMRN9hK¿~„v^—g&^
NNh„vݍ»yN*N®_¹p

          if(BB_Gap2-BB_Gap1<=BB_Check2*HBPoit(wMyHB))

            return;

          //3.6eØv÷NÅ_{˜(W-NtNNÿMbïSåNZPzz

          if(wclose<=iBands(wMyHB,FTime,BB_MA,BB_Deviation,0,PRICE_CLOSE,MODE_MAIN,1))

            return;

          //K¿~gؚ÷N'YŽNI{ŽN^—g&^
Nh„v<Pÿ£HNُ{YUSáO÷S\OŸ^

          if(wLow<=iBands(wMyHB,FTime,BB_MA,BB_Deviation+BB_adjopen,0,PRICE_CLOSE,MODE_LOWER,1))

            return;

     }

     

     

     //2019.12.09 ^—g&^ǏänagöN3ÿ6eØv÷N(WNtåNN

     if(3==BB_Fiter)

     {

         double BBUp_1 = iBands(wMyHB,FTime,BB_MA,BB_Deviation+BB_adjopen,0,PRICE_CLOSE,MODE_UPPER,1);

         double k1close = iClose(wMyHB,FTime,1);

         double k0open = iOpen(wMyHB,FTime,0);

         

         if(BBUp_1>k1close)

            return;



         if(subCnt(wMyHB,-1)>0 && ((int)TimeCurrent()-(int)subNewTime(wMyHB,-1))<FTime*60)

         { 

		 	return;

         }

      }   

         

     //2019.11.22 ‚YœgSb_$Ntî]ݍǏän_sQÿgbLˆ$NtÝ»yǏän

     if(true==booBB_UD)

     {

         double bb_up = iBands(wMyHB,FTime,BB_MA,BB_Deviation+BB_adjopen,0,PRICE_CLOSE,MODE_UPPER,0);

          double bb_low = iBands(wMyHB,FTime,BB_MA,BB_Deviation+BB_adjopen,0,PRICE_CLOSE,MODE_LOWER,0);

            

          //g\§c6R--9hncFilterSellîO
Y

          if(bb_up-bb_low<BB_MinGap*HBPoit(wMyHB) || bb_up<=bb_low)

            return;

          //g'Y§c6R

          if(bb_up-bb_low>BB_MaxGap*HBPoit(wMyHB) || bb_up<=bb_low)

            return;

      }

     if(true==booKHigh)

      {

         if(HBHigh(wMyHB)>KHigh)

         return;

      } 

        

    subHisCheck(wMyHB,wSLgap);

        

     //†SòS¢‹USúQ°sbk_c

     //¤Nföeô•ƒôV…Qò]Ï~0R¾_ÓN;`!kpe„vP–6R

    if((int)TimeCurrent()<GlobalVariableGet(wMyHB+"_WaitOp"))

          return;

         

     //2019.11.23 ATRǏän

     if(true ==zzHBboTR(wMyHB) && //ԏÞVATR_sQ§c6Rh×_

	 	iATR(wMyHB,zzHBTR_TF(wMyHB),zzHBTR_MA(wMyHB),0)>=zzHBATR(wMyHB)*HBPoit(wMyHB) )

          return;

            

     RunOpenSell(wMyHB,wSLgap,wTPgap);

     return;

}            

 

void subHisCheck(string wMyHB,int wSLgap)//†SòS¢‹USúQ°sbk_cUSŒT6\öe…QNUS;`pe…P–6RÀhKm                   

{//                   ('^
TW[ÿ           bk_c)

	int wMagic = subMagic(wMyHB);

//:1Y{˜îO
Y



	double vSL=wSLgap*HBPoit(wMyHB);   //bk_c<P=¹ppe*Point

	datetime TempT=0.0; //lixg???  :1YîOeˆ

	int HisCnt=0;//lixg???  :1YîOeˆ

   /**/

	  for( int hisi= OrdersHistoryTotal()-1;hisi>=0; hisi--)//lixg???  :1YîOeˆ

	 {

		if(OrderSelect(hisi,SELECT_BY_POS,MODE_HISTORY))//lixg???  :1YîOeˆ

		{   

   

        	if(wMagic== OrderMagicNumber()) //lixg???  :1YîOeˆ

	       	{

	   			if((int)TimeCurrent()-OrderCloseTime()<6*60*60)//lixg???  :1YîOeˆ

			   	{

			   //†SòS¢‹USúQ°sbk_c

			         if( (OrderType()==OP_BUY && OrderClosePrice()<=OrderStopLoss()) ||//lixg???  :1YîOeˆ,       6*60*60 = 6\öe 

					     (OrderType()==OP_SELL && OrderClosePrice()>=OrderStopLoss())  //lixg???  :1YîOeˆ,       6*60*60 = 6\öe 

					   )

					 {

			             datetime TempC1Time=OrderCloseTime();

			              if(MathAbs(OrderOpenPrice()-OrderClosePrice())>=vSL && OrderProfit()<0)

			              {

			                 TempT=MathMax(GlobalVariableGet(wMyHB+"_WaitOp"),6*60*60+(int)TempC1Time);  //6*60*60=6\öe

			                 GlobalVariableSet(wMyHB+"_WaitOp",TempT);

			 //lixg_zhongyao   ͑‰

						//	 PrintFormat("subHisCheck_0: US÷S = %d, bk_cUS+6\öe = %s, ",OrderTicket(), TimeToString(TempT,TIME_DATE|TIME_MINUTES)); 

							 

			                 return;

			               }

			          }

		        }   

	              //¤Nföeô•ƒôV…Qò]Ï~_US;`pe

	           if((int)TimeCurrent()-OrderCloseTime()<6*60*60)

	           {

	                HisCnt++;

	                if(HisCnt>=OpMax_ALL)

	                {

	                   GlobalVariableSet(wMyHB+"_WaitOp",6*60*60+(int)TimeCurrent());//¾‹nhQ@\ØSϑ=S_MRöeô•+6\öe

	                   return;

	                 }

	            }

	        }

       }

    }

    return;

}





void RunOpenBuy (string wMyHB,int wSLgap,int wTPgap)

{//_USýQpebuy

   int wNowSp=MarketInfo(wMyHB,MODE_SPREAD);//S_MR¹pî]

   

   //0102019.11.30 ¹pî]§c6R

   if(wNowSp>zzHBSp(wMyHB))//¹pî]§c6R

   {//…ÇM‘n¹pî]ÿԏÞV

      if(8==MathMod(Seconds(),20))

         Print(">>>",wMyHB,"_S_MR÷Nî]",wNowSp,"_gP–÷Nî]->",IntegerToString(zzHBSp(wMyHB)),"_…ÇP–6RÿàeÕl_BUS");

       return; 

   }

//PrintFormat("RunOpenBuy_0: 111 ¹pî]§c6R");   

   //020_USKbpe¾‹¡‹

   double opLotBuy=myLot;

   if(true==booMMLot)

      opLotBuy=NormalizeDouble(MMper*AccountFreeMargin()/10000,2);

      

    if(opLotBuy<MarketInfo(wMyHB,MODE_MINLOT))

    {

      if(12==MathMod(Seconds(),20))

         Print("buyꁚ[INKbpe\ŽNs^ðSg\<Pÿ:_6R	cgqs^ðSg\Kbpe_US");

      opLotBuy=MarketInfo(wMyHB,MODE_MINLOT);

    }

    if(opLotBuy>MarketInfo(wMyHB,MODE_MAXLOT))

    {

      if(12==MathMod(Seconds(),20))

         Print("buyꁚ[INKbpe'YŽNs^ðSg\<Pÿ:_6R	cgqs^ðSg'YKbpe_US");

      opLotBuy=MarketInfo(wMyHB,MODE_MAXLOT);

    }

    if(MarketInfo(wMyHB,MODE_MARGINREQUIRED)>0 && opLotBuy>=AccountFreeMargin()/MarketInfo(wMyHB,MODE_MARGINREQUIRED) )

      return;

//PrintFormat("RunOpenBuy_0: 222 _USKbpe 
Y)R");   



//030^—g&^ NYUS

     int wDigi = HBDigi( wMyHB );

     double wPoit = HBPoit( wMyHB );

     int wMagic = subMagic( wMyHB );

     if(( !TESTbooTesting() && MarketInfo(wMyHB,MODE_TRADEALLOWED)) || TESTbooTesting() )

     {

         double wAsk= HBAsk(wMyHB);

         double wBid= HBBid(wMyHB);

         double BBd_0= iBands(wMyHB,FTime,BB_MA,BB_Deviation+BB_adjopen,0,PRICE_CLOSE,MODE_LOWER,0);   ////K0„v^—gNh<P

         double BBd_1= iBands(wMyHB,FTime,BB_MA,BB_Deviation+BB_adjopen,0,PRICE_CLOSE,MODE_LOWER,1);   //K1„v^—gNh<P

         double CCBB1=iClose(wMyHB,FTime,1);   //K1„v6eØv÷N

         double BBm= iBands(wMyHB,FTime,BB_MA,BB_Deviation,0,PRICE_CLOSE,MODE_MAIN,0);   //K0„v^—g-Nh<P

         

         

         //2019.11.29 îOck,{ŒNÍy^—g&^_USǏän

         //^—g&^Ǐän1ÿAskNOŽNNt

         //^—g&^Ǐän2ÿAskNOŽN-Nt 

         //^—g&^Ǐän3ÿ6eØv÷NNOŽNNt && K0_Øv'YŽNI{ŽNAsk

         if((1==BB_Fiter && BBd_0>wAsk)|| 

            (2==BB_Fiter && BBm  >wAsk)|| 

            (3==BB_Fiter && BBd_1>CCBB1 && iOpen(wMyHB,FTime,0)>=wAsk))//YUSÿk0¿~„v_Øv÷N‰'YŽNI{ŽNAsk÷NÿàVdk	göeOö^ߏ_US,
N(Wte¹p_US

             {

 

                 if( 3 == BB_Fiter && subCnt(wMyHB,1)>0 &&(int)TimeCurrent()-(int)subNewTime(wMyHB,1)<FTime*60 )

                     return;

	 

                 int OpTickBuy;

                 //&^bkÈvbk_c_USÿ(uŽNIC¤Nfs^ðSÿOHQ	éb

                 if(true == booAddSLTP)

                 {  //cÓNYUS>0



                     if( 3==BB_Fiter && 

					 	 subCnt(wMyHB,1)>0 && 

					 	 wAsk>NorDou(wMyHB,subFristPrice(wMyHB,1)) //Ask>,{N*NcÓN„vbk_c÷N

					   )

                     	{ 

                        	OpTickBuy= OrderSend( wMyHB,OP_BUY,opLotBuy,wAsk,5,NorDou(wMyHB,subFristPrice(wMyHB,1)),NorDou(wMyHB,wAsk+wTPgap*wPoit),EACom,wMagic,0,Blue);



						}//cÓNYUS==0

                     if( 0== subCnt(wMyHB,1))

                      {  OpTickBuy= OrderSend( wMyHB,OP_BUY,opLotBuy,wAsk,5,NorDou(wMyHB,wAsk-wSLgap*wPoit),NorDou(wMyHB,wAsk+wTPgap*wPoit),EACom,wMagic,0,Blue);



					  }

				}

                 else//_USKNTQûm RbkÈvbk_cÿ	g›Ns^ðS_US
NAQ¸‹&^bkÈvbk_c

                 {  

                     OpTickBuy= OrderSend( wMyHB,OP_BUY,opLotBuy,wAsk,5,0,0,EACom,wMagic,0,Blue);



                     if( OrderSelect(OpTickBuy,SELECT_BY_TICKET) && OP_BUY==OrderType() )

                     { 

                        double wSL =NorDou(wMyHB,OrderOpenPrice()-wSLgap*wPoit);

                        if( 3== BB_Fiter && subCnt(wMyHB,1)>0)

                           wSL= NorDou(wMyHB,subFristPrice(wMyHB,1));

                        OrderModify(OpTickBuy,OrderOpenPrice(),wSL,NorDou(wMyHB,OrderOpenPrice()+wTPgap*wPoit),0,Blue) ;

                     }

                 }

                 GlobalVariableSet(wMyHB+"_WaitOp",2*60+(int)TimeCurrent());

             }

         

     }



	 

     return;

}





void RunOpenSell (string wMyHB,int wSLgap,int wTPgap)

{//_USýQpesell

   int wNowSp=MarketInfo(wMyHB,MODE_SPREAD);

   

   //2019.11.30 ¹pî]§c6R

   if(wNowSp>zzHBSp(wMyHB))//¹pî]§c6R

   {

      if(8==MathMod(Seconds(),20))

         Print(">>>",wMyHB,"_S_MR÷Nî]",wNowSp,"_gP–÷Nî]->",IntegerToString(zzHBSp(wMyHB)),"_…ÇP–6RÿàeÕl_BUS");

       return; 

   }

   

   //_USKbpe¾‹¡‹

   double opLotSell=myLot;

   if(true==booMMLot)

      opLotSell=NormalizeDouble(MMper*AccountFreeMargin()/10000,2);

      

    if(opLotSell<MarketInfo(wMyHB,MODE_MINLOT))

    {

      if(18==MathMod(Seconds(),20))

         Print("sellꁚ[INKbpe\ŽNs^ðSg\<Pÿ:_6R	cgqs^ðSg\Kbpe_US");

      opLotSell=MarketInfo(wMyHB,MODE_MINLOT);

    }

    if(opLotSell>MarketInfo(wMyHB,MODE_MAXLOT))

    {

      if(18==MathMod(Seconds(),20))

         Print("Sellꁚ[INKbpe'YŽNs^ðSg\<Pÿ:_6R	cgqs^ðSg'YKbpe_US");

      opLotSell=MarketInfo(wMyHB,MODE_MAXLOT);

    }

    if(MarketInfo(wMyHB,MODE_MARGINREQUIRED)>0 && opLotSell>=AccountFreeMargin()/MarketInfo(wMyHB,MODE_MARGINREQUIRED) )

      return;

     

     int wDigi = HBDigi( wMyHB );

     double wPoit = HBPoit( wMyHB );

     int wMagic = subMagic( wMyHB );

     if(( !TESTbooTesting() && MarketInfo(wMyHB,MODE_TRADEALLOWED)) || TESTbooTesting() )

     {

         double wAsk= HBAsk(wMyHB);

         double wBid= HBBid(wMyHB);

         double BBu_0= iBands(wMyHB,FTime,BB_MA,BB_Deviation+BB_adjopen,0,PRICE_CLOSE,MODE_UPPER,0);

         double BBu_1= iBands(wMyHB,FTime,BB_MA,BB_Deviation+BB_adjopen,0,PRICE_CLOSE,MODE_UPPER,1);

         double CCSS1=iClose(wMyHB,FTime,1);

         double BBm= iBands(wMyHB,FTime,BB_MA,BB_Deviation,0,PRICE_CLOSE,MODE_MAIN,0);

		 

   //  :1YîOeˆ   åNNèRý/fkXeˆ„v:1Y 

   

         //2019.11.29 îOck,{ŒNÍy^—g&^_USǏän

         //^—g&^Ǐän1ÿؚŽN
Nt

         //^—g&^Ǐän2ÿؚŽN-Nt

         //^—g&^Ǐän3ÿ6eØv÷NؚŽN
Nt               && K0_Øv\ŽNI{ŽNBid

         if(      (1==BB_Fiter && BBu_0<wBid)//lixg???  :1YîOeˆ

               || (2==BB_Fiter && BBm  <wBid)//---ù[ÔkîO
Y{˜8håg-------------------------------------------------------------------------------------------

               || (3==BB_Fiter && BBu_1<CCSS1 && iOpen(wMyHB,FTime,0)<=wBid))//lixg???  :1YîOeˆ

             {

                 if( 3 == BB_Fiter && subCnt(wMyHB,-1)>0 &&(int)TimeCurrent()-(int)subNewTime(wMyHB,-1)<FTime*60 )////---ù[ÔkîO
Y{˜8håg

                     return;

                 int OpTickSell;

                 //&^bkÈvbk_c_USÿ(uŽNIC¤Nfs^ðSÿOHQ	éb

                 if(true == booAddSLTP)

                 {

                     if( 3==BB_Fiter && 

					 	subCnt(wMyHB,-1)>0 && 

					 	wBid<NorDou(wMyHB,subFristPrice(wMyHB,-1)))//Ask>,{N*NcÓN„vbk_c÷N

                     {  PrintFormat("RunOpenSell_0: SUS:  RÓNbk_c÷N<h stopLoss=%f",        NorDou(wMyHB,subFristPrice(wMyHB,-1)));	  

                        OpTickSell= OrderSend( wMyHB,OP_SELL,opLotSell,wBid,5,NorDou(wMyHB,subFristPrice(wMyHB,-1)),NorDou(wMyHB,wBid-wTPgap*wPoit),EACom,wMagic,0,Red);

					 }//@b	gcÓNbk_cMOnN7hÿbkÈvMOn
NT

                     if( 0== subCnt(wMyHB,-1))//àecÓN

					 {                       

					 	OpTickSell= OrderSend( wMyHB,OP_SELL,opLotSell,wBid,5,NorDou(wMyHB,wBid+wSLgap*wPoit),NorDou(wMyHB,wBid-wTPgap*wPoit),EACom,wMagic,0,Red);

                     }



                 }

                 else//_USKNTQûm RbkÈvbk_cÿ	g›Ns^ðS_US
NAQ¸‹&^bkÈvbk_c

                 {

                     OpTickSell= OrderSend( wMyHB,OP_SELL,opLotSell,wBid,5,0,0,EACom,wMagic,0,Red);



                     if( OrderSelect(OpTickSell,SELECT_BY_TICKET) && OP_SELL==OrderType() )

                     {

                        double wSL =NorDou(wMyHB,OrderOpenPrice()+wSLgap*wPoit);

                        if( 3== BB_Fiter && subCnt(wMyHB,-1)>0)

                           wSL= NorDou(wMyHB,subFristPrice(wMyHB,-1));

                        OrderModify(OpTickSell,OrderOpenPrice(),wSL,NorDou(wMyHB,OrderOpenPrice()-wTPgap*wPoit),0,Red) ;

                     }

                 }

                 GlobalVariableSet(wMyHB+"_WaitOp",2*60+(int)TimeCurrent());

             }

         

     }

     return;

}



//s^ÓNýQpe!jWW èR:1YÿÁ‰Æ‰‘˜ÊS‡echèRÿ‚f*gZPU_eQ0

//lixg???  :1YbîOeˆ

//extern bool booMVSL=true;                                                  ///T¨Rûy¨Rbk_c //lixg_zhongyao   ͑‰

//enum opMV { _1_êS9eN!k=1, _2_I{ݍ»yÛ=2, _3_'}Æ[ý*Ž=3      };

//extern opMV wWay = 1;                                                //Ǐ-N¿~ûy¨Rbk_c¹e_ //lixg_zhongyao   ͑‰

//extern int MV_ALL=100;                                                     //ûy¨Rbk_c¹pݍ //lixg_zhongyao   ͑‰





//dkýQpe
N/f	cŸSËY…Q¹[îOeˆ

void RunOverMidMoveSL(string wMyHB,int wSLgap, int wTPgap) //lixg???  :1YîOeˆ

{//Èv)Rs^ÓN!jWW ^—g&^	gsQ

//	double CLoseLineBuy;

//	double CLoseLineSell;

	double CLoseLineMid_0;

//	double CLoseLineMid_1;

	int TempTick;

	bool booC1;

	int wMagic = subMagic(wMyHB);

	int wDigi = HBDigi( wMyHB );

	double wPoit = HBPoit( wMyHB );

	double stopLoss=0.0;

	int stopLoss_point;//bk_c¹ppeÿÐcÖSúQegÿàV:Nbk_cêSîO9eN!kÿ‰$R­e/f&Tò]Ï~îO9eǏ



	booC1=true;



	if(true == booMVSL)//ûy¨Rbk_c	gHe

	{

	     for(int cnt=0; cnt<OrdersTotal();cnt++)//lixg???  :1YîOeˆ

		 {

			if(OrderSelect(cnt,SELECT_BY_POS) && wMyHB==OrderSymbol() && wMagic==OrderMagicNumber())  //lixg???  :1YîOeˆ

			{

			   TempTick=OrderTicket(); 			//lixg???  :1YîOeˆ

			   stopLoss=OrderStopLoss();        //·ƒÖS¢‹USbk_c÷N<h

			   

			 if(OP_BUY == OrderType() && stopLoss > 0)			//lixg???  :1YîOeˆ

			 {

				  stopLoss_point=(OrderOpenPrice()-stopLoss)/wPoit;

			

			 

			//	  CLoseLineBuy = iBands(wMyHB,FTime,BB_MA,BB_Deviation,0,PRICE_CLOSE,MODE_UPPER,0);

				CLoseLineMid_0 = iBands(wMyHB,FTime,BB_MA,BB_Deviation,0,PRICE_CLOSE,MODE_MAIN,0);

			//	CLoseLineMid_1 = iBands(wMyHB,FTime,BB_MA,BB_Deviation,0,PRICE_CLOSE,MODE_MAIN,1);

	

				if( 1 == wWay &&                     //_1_êS9eN!k bk_c

					HBBid(wMyHB)>CLoseLineMid_0 &&   //Bid …Ç ^—g-Nh

					stopLoss_point>(SL_ALL-50)       //¡l	gîO9eǏRËYbk_c

				  )

				{

					double wSL =NorDou(wMyHB,CLoseLineMid_0-MV_ALL*wPoit);

					OrderModify(TempTick,OrderOpenPrice(),wSL,OrderTakeProfit(),0,Blue) ;

 

				   string strLine="Ǐ-N¿~ûy¨Rbk_c: _1_êS9eN!k";

				   if( 2 == wWay ) strLine = "Ǐ-N¿~ûy¨Rbk_c _2_I{ݍ»yÛ";

				   if( 3 == wWay ) strLine = "Ǐ-N¿~ûy¨Rbk_c _3_'}Æ[ý*Ž";

				   

				   if(true == booC1)

					  Print(">>> Bš[USÿ",TempTick,")ûy¨Rbk_cÿŸSàVÿÿ",strLine);

				

				}

			 }

	

			 

			 if(OP_SELL == OrderType() && stopLoss > 0)

			 {

				stopLoss_point=(stopLoss-OrderOpenPrice())/wPoit;

			 

			//	CLoseLineSell = iBands(wMyHB,FTime,BB_MA,BB_Deviation,0,PRICE_CLOSE,MODE_LOWER,0);

				CLoseLineMid_0 = iBands(wMyHB,FTime,BB_MA,BB_Deviation,0,PRICE_CLOSE,MODE_MAIN,0);

			//	CLoseLineMid_1 = iBands(wMyHB,FTime,BB_MA,BB_Deviation,0,PRICE_CLOSE,MODE_MAIN,1);

				

				if( 1 == wWay &&                    //_1_êS9eN!k bk_c

					HBAsk(wMyHB)<CLoseLineMid_0 &&  //Bid NOǏ ^—g-Nh

					stopLoss_point>(SL_ALL-50)      //¡l	gîO9eǏRËYbk_c

				  )

				{   

					double wSL =NorDou(wMyHB,CLoseLineMid_0+MV_ALL*wPoit);

					OrderModify(TempTick,OrderOpenPrice(),wSL,OrderTakeProfit(),0,Blue) ;

 

				   string strLine="Ǐ-N¿~ûy¨Rbk_c: _1_êS9eN!k";

				   if( 2 == wWay ) strLine = "Ǐ-N¿~ûy¨Rbk_c _2_I{ݍ»yÛ";

				   if( 3 == wWay ) strLine = "Ǐ-N¿~ûy¨Rbk_c _3_'}Æ[ý*Ž";

				   

				   if(true == booC1)

					  Print(">>> Sš[USÿ",TempTick,")ûy¨Rbk_cÿŸSàVÿÿ",strLine);

				

				}

				

			 }

		  }

	   }



	}



	      

}





void RunTPClose (string wMyHB,int wSLgap, int wTPgap)//lixg???  :1YîOeˆ

{//Èv)Rs^ÓN!jWW ^—g&^	gsQ

	int wNowSp=MarketInfo(wMyHB,MODE_SPREAD);//S_MR¹pî]

	double CLoseLineBuy;

	double CLoseLineSell;

	double CLoseLineMid_0;

	double CLoseLineMid_1;

	int TempTick;

	bool booC1;

	 int wMagic = subMagic(wMyHB);



	 for(int cnt=0; cnt<OrdersTotal();cnt++)//lixg???  :1YîOeˆ

	 {

		if(OrderSelect(cnt,SELECT_BY_POS) && wMyHB==OrderSymbol() && wMagic==OrderMagicNumber())  //lixg???  :1YîOeˆ

		{

		TempTick=OrderTicket();             //lixg???  :1YîOeˆ

		

		 if(OP_BUY == OrderType())          //lixg???  :1YîOeˆ

         {

            CLoseLineBuy = iBands(wMyHB,FTime,BB_MA,BB_Deviation+BB_adjcloseBuy,0,PRICE_CLOSE,MODE_UPPER,0);

            CLoseLineMid_0 = iBands(wMyHB,FTime,BB_MA,BB_Deviation,0,PRICE_CLOSE,MODE_MAIN,0);

            CLoseLineMid_1 = iBands(wMyHB,FTime,BB_MA,BB_Deviation,0,PRICE_CLOSE,MODE_MAIN,1);





            if((1 == LineType &&wNowSp<30 && HBBid(wMyHB)+s^ÓNOS¹pî]û|pe*wNowSp*0.00001>CLoseLineBuy)

                ||(2 == LineType && HBBid(wMyHB)>CLoseLineMid_0)    

                //,{	NÍys^ÓN€Q†¹pî]˜

                ||(3 == LineType && iClose(wMyHB,FTime,1)>CLoseLineMid_1 && true == BestClose && HBBid(wMyHB)>iClose(wMyHB,FTime,1))

                //,{	NÍys^ÓN
N€Q†¹pî]˜

                ||(3 == LineType && iClose(wMyHB,FTime,1)>CLoseLineMid_1 && false == BestClose))

            {

             //  if(TESTbooTesting())

              //    Print(">>>Bš[USÿ",TempTick,")èlʑÿYUSÿ",OrderComment());

                  

               booC1=OrderClose(TempTick,OrderLots(),HBBid(wMyHB),5,Blue);    //s^ÓNYUS

               

               string strLine="z4x
Nt";

               if( 2 == LineType ) strLine = "Ǐ-N¿~";

               if( 3 == LineType ) strLine = "6eØvǏ-N¿~";

               

            //   if(true == booC1)

              //    Print(">>>Bš[USÿ",TempTick,")s^ÓNÿs^ÓNŸSàVÿÿ",strLine);

            

            }

         }



		 

         if(OP_SELL == OrderType())

         {

            CLoseLineSell = iBands(wMyHB,FTime,BB_MA,BB_Deviation+BB_adjcloseSell,0,PRICE_CLOSE,MODE_LOWER,0);

            CLoseLineMid_0 = iBands(wMyHB,FTime,BB_MA,BB_Deviation,0,PRICE_CLOSE,MODE_MAIN,0);

            CLoseLineMid_1 = iBands(wMyHB,FTime,BB_MA,BB_Deviation,0,PRICE_CLOSE,MODE_MAIN,1);



          //  if(1 == LineType && iLow(wMyHB,FTime,0)<CLoseLineSell)//(WK0öeÿBid÷N¡l	g°x0RBOLLNhÿ6qTlow÷NMbŒTBOLLNh¤NGl

          //  {

          //   PrintFormat("
g¡RhVöeô• = %s, CLoseLineSell = %f, HBBid(wMyHB) = %f",TimeToString(TimeCurrent(),TIME_DATE|TIME_MINUTES), CLoseLineSell, HBBid(wMyHB));

			//}

            if((1 == LineType &&wNowSp<30 && HBAsk(wMyHB)-s^ÓNOS¹pî]û|pe*wNowSp*0.00001<CLoseLineSell)//îO9e

          // if((1 == LineType && iLow(wMyHB,FTime,0)<CLoseLineSell)//(WK0öeÿBid÷N¡l	g°x0RBOLLNhÿ6qTlow÷NMbŒTBOLLNh¤NGl

                ||(2 == LineType && HBAsk(wMyHB)<CLoseLineMid_0)    

                //,{	NÍys^ÓN€Q†¹pî]˜

                ||(3 == LineType && iClose(wMyHB,FTime,1)<CLoseLineMid_1 && true == BestClose && HBAsk(wMyHB)<=iClose(wMyHB,FTime,1))

                //,{	NÍys^ÓN
N€Q†¹pî]˜

                ||(3 == LineType && iClose(wMyHB,FTime,1)>CLoseLineMid_1 && false == BestClose))

            {

            //   if(TESTbooTesting())

            //      Print(">>>Bš[USÿ",TempTick,")èlʑÿzzUSÿ",OrderComment());

                  

               booC1=OrderClose(TempTick,OrderLots(),HBAsk(wMyHB),5,Red);    //s^ÓNzzUS

               

               string strLine="z4xNt";

               if( 2 == LineType ) strLine = "Ǐ-N¿~";

               if( 3 == LineType ) strLine = "6eØvǏ-N¿~";

               

           //   if(true == booC1)

            //      Print(">>>Sš[USÿ",TempTick,")s^ÓNÿs^ÓNŸSàVÿÿ",strLine);           

            }

         }

      }

   }     

}







bool RunClearALL(string wClearInfo)

{//s^ÓN!jWW End

   Print (">>>nÓNŸSàV::"+wClearInfo);

   

   for(int cnt=0; cnt<OrdersTotal();cnt++)

   {

      if(OrderSelect(cnt,SELECT_BY_POS))

      {

         string wMyHB = OrderSymbol();

         int wMagic  = subMagic(wMyHB);

         

         int TempTick = OrderTicket();

         double TempLot= OrderLots();

         if(wMagic== OrderMagicNumber() && OP_BUY==OrderType())

         {

            if(TESTbooTesting())

               Print (">>>B¢‹US(",TempTick,")èlʑ::",OrderComment());

            OrderClose(TempTick,TempLot,HBBid(wMyHB),5,Blue);

            continue;

         }

		 

         if(wMagic== OrderMagicNumber() && OP_SELL==OrderType())

         {

            if(TESTbooTesting())

               Print (">>>S¢‹US(",TempTick,")èlʑ::",OrderComment());

            OrderClose(TempTick,TempLot,HBAsk(wMyHB),5,Red);

            continue;

         }

      }

   }

   

   //Àhåg/f&T؏	gcÓN

   for(int cnt=0; cnt < OrdersTotal(); cnt++)

   {

      if(OrderSelect(cnt,SELECT_BY_POS))

      {

         if(subMagic(OrderSymbol())==OrderMagicNumber())

         {

            if(OP_BUY==OrderType() || OP_SELL==OrderType())

               return(true);

         }

      }

   }

   return(false);

}



int subCnt(string wMyHB,int opType)

{//ԏÞVcš[{|‹W„vcÓNUS;`pe

   int CntOpB=0,CntOpS=0,OpTickBuy=0,OpTickSell=0;

   

   int wMagic = subMagic(wMyHB);

   for( int cnt=0;cnt<OrdersTotal();cnt++)

   {

      if(OrderSelect(cnt,SELECT_BY_POS) && wMyHB==OrderSymbol() && wMagic== OrderMagicNumber())

      {

      

         if((1==opType || 11== opType) && OrderType()==OP_BUY)

         {

            CntOpB++;

            OpTickBuy=OrderTicket();

            

         }

         if((-1==opType || -11==opType) &&  OrderType()==OP_SELL)

         {

            OpTickSell=OrderTicket();

            CntOpS++;        

         }

      }

   }

//ß~¡‹!kpe

   if( 1==opType )  return ( CntOpB );   //cÓN„vYUS;`pe

   if(-1==opType )  return ( CntOpS );   //cÓN„vzzUS;`pe

   

//¢‹US÷S

   if( 11==opType )  return ( OpTickBuy );

   if(-11==opType )  return ( OpTickSell ); 

   

   return( 0 ); 

}



double subSumTP()

{//ԏÞVÈv)Rё˜

   double wTP=0;

   string wSym;

   for(int cnt=0;cnt<OrdersTotal();cnt++)

   {

      if(OrderSelect(cnt,SELECT_BY_POS))

      {

         wSym=OrderSymbol();

         if(subMagic(wSym)==OrderMagicNumber())

         {

            if(OrderType()==OP_BUY || OrderType()==OP_SELL)

               wTP+=(OrderProfit()+OrderCommission()+OrderSwap());

         }

      }

   }

   return( wTP );

}



double subFristPrice (string wMyHB,int opType)

{//·ƒÖS,{NUS¢‹USbk_cb€bkÈv÷N<h

   int wOpTimeB=0,wOpTimeS=0;

   double wSLFBuy=0.0,wSLFSell=0.0,wTPFBuy=0.0,wTPFSell=0.0;

   

   int wMagic =subMagic(wMyHB);

   for( int cnt=0;cnt<OrdersTotal();cnt++)

   {

      if(OrderSelect(cnt,SELECT_BY_POS) && wMyHB==OrderSymbol() && wMagic==OrderMagicNumber())

      {

         if( 1==opType && OrderType()==OP_BUY && ( 0== wOpTimeB || wOpTimeB> OrderOpenTime()) )

         {

            wOpTimeB = OrderOpenTime();

            wSLFBuy  = OrderStopLoss();

            wTPFBuy  = OrderTakeProfit();

		 

         }

         if( -1==opType && OrderType()==OP_SELL && ( 0== wOpTimeS || wOpTimeS> OrderOpenTime()) )

         {

            wOpTimeS = OrderOpenTime();

            wSLFSell  = OrderStopLoss();

            wTPFSell  = OrderTakeProfit();

		

         }

      }

  }

  



   if(  1==opType ) return ( wSLFBuy );//  buy,{NUS ·ƒÖS¢‹USbk_c÷N<h

   if( -1==opType ) return ( wSLFSell );//Sell,{NUS ·ƒÖS¢‹USbk_c÷N<h

   if(  2==opType ) return ( wTPFBuy );//  buy,{NUS    ·ƒÖS¢‹US„vbkÈv÷N<h

   if( -2==opType ) return ( wTPFSell );//Sell,{NUS ·ƒÖS¢‹US„vbkÈv÷N<h

   

   return( 0 );

}



datetime subNewTime(string wMyHB, int opType)

{//·ƒÖSgT_US„v_ÓNöeô•

   datetime wNewTimeB =0,  wNewTimeS =0;

   int wMagic = subMagic(wMyHB);

   for(int cnt=0; cnt<OrdersTotal();cnt++)

   {

      if(OrderSelect(cnt,SELECT_BY_POS) && 

	  	 wMyHB==OrderSymbol() && 

	  	 wMagic== OrderMagicNumber()

	  	)

      {

         if( 1==opType  && OrderType()==OP_BUY && (0==wNewTimeB || wNewTimeB<OrderOpenTime() ))

         {    wNewTimeB= OrderOpenTime();

		 

         }

            

         if(-1==opType  && OrderType()==OP_SELL && (0==wNewTimeS || wNewTimeS<OrderOpenTime() ))

         {   wNewTimeS= OrderOpenTime();



         }

      }

   }



   if( 1==opType )  

   	return ( wNewTimeB );

   if(-1==opType )  

   	return ( wNewTimeS );

   return( 0 ); 

}



double subHisTP(void)

{//gяCntTime\öe…Q†SòS¢‹US„v;`Èv)R

   double wHistp=0;

   string wSym;

   

   int TimeZone = (int)TimeCurrent()-CntTime*60*60;

   

   for( int hisi= OrdersHistoryTotal()-1; hisi>=0; hisi--)

   {

      if(OrderSelect(hisi,SELECT_BY_POS,MODE_HISTORY) && 

	  	 TimeZone<(int)OrderCloseTime()

	  	)

      {

         wSym= OrderSymbol();

         if(subMagic(wSym)== OrderMagicNumber())

         {

            if(OrderType()==OP_BUY || OrderType()==OP_SELL)

               wHistp+=(OrderProfit()+OrderCommission()+OrderSwap());

         }

      }

   }

   return( wHistp);

}





double HBAsk( string wMyHB )

{//g°e6e0R„vVS÷N

   return(MarketInfo( wMyHB,MODE_ASK));

}

double HBBid( string wMyHB )

{//g°e6e0R„vpN÷N

   return(MarketInfo( wMyHB,MODE_BID));

}



double HBHigh( string wMyHB )

{//K¿~'Y\

   return((iHigh(wMyHB,0,1)-iLow(wMyHB,0,1))/Point);//K1gؚ÷N-gNO÷N'Y\--K¿~'Y\

}





double HBPoit( string wMyHB )

{//¥b÷N„v¹p<P

   return(MarketInfo( wMyHB,MODE_POINT));

}

double HBDigi (string wMyHB )

{//\peMOpe

   return(MarketInfo( wMyHB,MODE_DIGITS));

}



double NorDou (string wMyHB,double XX)

{//XX<P->¾|¦^ÝOYu\peMOpe

   int wDigi=MarketInfo(wMyHB,MODE_DIGITS);

   return(NormalizeDouble( XX,wDigi));

}



double TESTbooTesting()

{//KmՋ!j_

   if( IsTesting() || IsOptimization() || IsVisualMode())

      return(true);

    

   return(false);

}



int subMagic(string wMyHB)

{//ԏÞVT›/g÷S

   int Head=100*NumMag;

   

   if( StringFind( wMyHB,"EURUSD",0)>=0 ) return( Head+01);

   if( StringFind( wMyHB,"GBPUSD",0)>=0 ) return( Head+02);

   if( StringFind( wMyHB,"AUDUSD",0)>=0 ) return( Head+03);

   if( StringFind( wMyHB,"NZDUSD",0)>=0 ) return( Head+04);

   if( StringFind( wMyHB,"USDJPY",0)>=0 ) return( Head+05);

   if( StringFind( wMyHB,"USDCHF",0)>=0 ) return( Head+06);

   if( StringFind( wMyHB,"USDCAD",0)>=0 ) return( Head+07);

   

   if( StringFind( wMyHB,"EURJPY",0)>=0 ) return( Head+08);

   if( StringFind( wMyHB,"GBPJPY",0)>=0 ) return( Head+09);

   if( StringFind( wMyHB,"AUDJPY",0)>=0 ) return( Head+10);

   if( StringFind( wMyHB,"NZDJPY",0)>=0 ) return( Head+11);

   if( StringFind( wMyHB,"CHFJPY",0)>=0 ) return( Head+12);

   if( StringFind( wMyHB,"CADJPY",0)>=0 ) return( Head+13);

   

   if( StringFind( wMyHB,"EURAUD",0)>=0 ) return( Head+14);

   if( StringFind( wMyHB,"GBPAUD",0)>=0 ) return( Head+15);

   if( StringFind( wMyHB,"AUDNZD",0)>=0 ) return( Head+16);

   if( StringFind( wMyHB,"AUDCHF",0)>=0 ) return( Head+17);

   if( StringFind( wMyHB,"AUDCAD",0)>=0 ) return( Head+18);

   

   if( StringFind( wMyHB,"EURNZD",0)>=0 ) return( Head+19);

   if( StringFind( wMyHB,"GBPNZD",0)>=0 ) return( Head+20);

   if( StringFind( wMyHB,"NZDCHF",0)>=0 ) return( Head+21);

   if( StringFind( wMyHB,"CAFCHF",0)>=0 ) return( Head+22);

   

   if( StringFind( wMyHB,"EURCAD",0)>=0 ) return( Head+23);

   if( StringFind( wMyHB,"GBPCAD",0)>=0 ) return( Head+24);

   if( StringFind( wMyHB,"NZDCAD",0)>=0 ) return( Head+25);

   

   if( StringFind( wMyHB,"EURCHF",0)>=0 ) return( Head+26);

   if( StringFind( wMyHB,"GBPCHF",0)>=0 ) return( Head+27);

   if( StringFind( wMyHB,"EURGBP",0)>=0 ) return( Head+28);

   

   if( StringFind( wMyHB,"USDSGD",0)>=0 ) return( Head+29);

   if( StringFind( wMyHB,"EURSGD",0)>=0 ) return( Head+30);

   if( StringFind( wMyHB,"AUDSGD",0)>=0 ) return( Head+31);

   if( StringFind( wMyHB,"CHFSGD",0)>=0 ) return( Head+32);

   

   return( Head+40);

}





bool zzHBboo (string wMyHB)

{//_sQ§c6R

   if( StringFind( wMyHB,"EURUSD",0)>=0 ) return( boo_EU );

   if( StringFind( wMyHB,"GBPUSD",0)>=0 ) return( boo_GU );

   if( StringFind( wMyHB,"AUDUSD",0)>=0 ) return( boo_AU );

   if( StringFind( wMyHB,"NZDUSD",0)>=0 ) return( boo_NU );

   if( StringFind( wMyHB,"USDJPY",0)>=0 ) return( boo_UJ );

   if( StringFind( wMyHB,"USDCHF",0)>=0 ) return( boo_UF );

   if( StringFind( wMyHB,"USDCAD",0)>=0 ) return( boo_UC );

   

   if( StringFind( wMyHB,"EURJPY",0)>=0 ) return( boo_EJ );

   if( StringFind( wMyHB,"GBPJPY",0)>=0 ) return( boo_GJ );

   if( StringFind( wMyHB,"AUDJPY",0)>=0 ) return( boo_AJ );

   if( StringFind( wMyHB,"NZDJPY",0)>=0 ) return( boo_NJ );

   if( StringFind( wMyHB,"CHFJPY",0)>=0 ) return( boo_FJ );

   if( StringFind( wMyHB,"CADJPY",0)>=0 ) return( boo_CJ );

   

   if( StringFind( wMyHB,"EURAUD",0)>=0 ) return( boo_EA );

   if( StringFind( wMyHB,"GBPAUD",0)>=0 ) return( boo_GA );

   if( StringFind( wMyHB,"AUDNZD",0)>=0 ) return( boo_AN );

   if( StringFind( wMyHB,"AUDCHF",0)>=0 ) return( boo_AF );

   if( StringFind( wMyHB,"AUDCAD",0)>=0 ) return( boo_AC );

   

   if( StringFind( wMyHB,"EURNZD",0)>=0 ) return( boo_EN);

   if( StringFind( wMyHB,"GBPNZD",0)>=0 ) return( boo_GN );

   if( StringFind( wMyHB,"NZDCHF",0)>=0 ) return( boo_NF );

   if( StringFind( wMyHB,"CADCHF",0)>=0 ) return( boo_CF );

   

   if( StringFind( wMyHB,"EURCAD",0)>=0 ) return( boo_EC );

   if( StringFind( wMyHB,"GBPCAD",0)>=0 ) return( boo_GC );

   if( StringFind( wMyHB,"NZDCAD",0)>=0 ) return( boo_NC );

   

   if( StringFind( wMyHB,"EURCHF",0)>=0 ) return( boo_EF );

   if( StringFind( wMyHB,"GBPCHF",0)>=0 ) return( boo_GF );

   if( StringFind( wMyHB,"EURGBP",0)>=0 ) return( boo_EG );

   

   if( StringFind( wMyHB,"USDSGD",0)>=0 ) return( boo_US );

   if( StringFind( wMyHB,"EURSGD",0)>=0 ) return( boo_ES );

   if( StringFind( wMyHB,"AUDSGD",0)>=0 ) return( boo_AS );

   if( StringFind( wMyHB,"CHFSGD",0)>=0 ) return( boo_FS );

   

   return(false);   

}



void OnChartEvent (const int id,const long &lparam,const double &dparam,const string &sparam)

{//

/*

  

   for(int i=0;i<GGSumHB;i++)

   {

      if(id==CHARTEVENT_OBJECT_CLICK && 0==StringFind(sparam,1+"bt_HB"))

      {// Ÿh¹pûQ‹NöN

         ObjectSetInteger(0,1+"bt_HB",OBJPROP_STATE,0);

         long newchartid=ChartOpen(GGMyHB[i],FTime);

         return;

      }

   }

  */ 

 // PrintFormat("OnChartEvent");

  // OnTimer();

	if(id==CHARTEVENT_OBJECT_CLICK)

	{

		if(sparam=="N.•nÓN")

		{

			PrintFormat("	c.• N.•nÓN");

		//	RunClearALL("N.•nÓN");

		    One_Key_Clear_Sign=1;

		} 

		if(sparam=="slowT")

		{

			PrintFormat("	c.• slowT");

	

		    Key_slowT_Sign=1;

		} 

		ObjectSetInteger(0,sparam,OBJPROP_STATE,false);

	}





   

}



void subMinButton(string but_name,string label,int xsize,int ysize,int xdist,int ydist,int wFontSize,int bcolor,int fcolor)

{//	c.•GUI

	if(ObjectFind(0,but_name)<0)

	{

		if(!ObjectCreate(0,but_name,OBJ_BUTTON,0,0,0))

			return;

		ObjectSetString(0,but_name,OBJPROP_TEXT,label);

		ObjectSetInteger(0,but_name,OBJPROP_XSIZE,xsize);

		ObjectSetInteger(0,but_name,OBJPROP_XSIZE,ysize);

		ObjectSetInteger(0,but_name,OBJPROP_CORNER,CORNER_LEFT_UPPER);

		ObjectSetInteger(0,but_name,OBJPROP_XDISTANCE,xdist);

		ObjectSetInteger(0,but_name,OBJPROP_YDISTANCE,ydist);

		ObjectSetInteger(0,but_name,OBJPROP_BGCOLOR,bcolor);

		ObjectSetInteger(0,but_name,OBJPROP_COLOR,fcolor);

		ObjectSetInteger(0,but_name,OBJPROP_FONTSIZE,wFontSize);

		ObjectSetInteger(0,but_name,OBJPROP_HIDDEN,true);

		ObjectSetInteger(0,but_name,OBJPROP_BORDER_TYPE,BORDER_RAISED);

		ChartRedraw();

		Sleep(200);

	}

}



void subALLButton_Init()

{//hQè	c.•RËYS

   if(true == TESTbooTesting())

      return;

  

 /*  */

   subMinButton("N.•nÓN","N.•nÓN",           240,270,500,30,8,clrLime,clrBlack);//	c.•GUI

   subMinButton("slowT","
g¡RhV¥böeck8^",240,270,500,60,8,clrLime,clrBlack);//	c.•GUI

   

   if(true == booMiss )  return;

   

   for(int i=0;i<GGSumHB;i++)

   {

      int XXX = 70*(int)(i/8)+150;

      int YYY = 23*MathMod(i,8)+106;

	//  PrintFormat("XXX=%d, YYY=%d ", XXX, YYY);

      subMinButton(i+"bt_HB", GGMyHB[i], 59,62,XXX,YYY,8,clrWhite,clrBlack);//	c.•GUI

   }



   

}





void subALLRewButton()

{//
g¡RhV¥böe

   if(TESTbooTesting())

      return;

      

    RefreshRates();

    double TimeOffSet = TimeLocal()-TimeCurrent();

    double Slow       = MathAbs(TimeOffSet-3600*NormalizeDouble(TimeOffSet/3600,0) );

    

    string strTips= "
g ¡R hV ¥b öe ck 8^ ";

    if(Slow>10)

    {

      ObjectSetInteger(0,"slowT",OBJPROP_BGCOLOR,clrRed);

      strTips="
g ¡R hV ¥b öe ba †N_"+IntegerToString(Slow)+"_Òyÿ";

    }

    else

    {

      ObjectSetInteger(0,"slowT",OBJPROP_BGCOLOR,clrGoldenrod);

    }

    

    ObjectSetText("slowT",strTips,8,"",clrBlack);

}

void Button_Key_Process(void)

{//	c.•Ytz^

/**/

int AllCnt=0;

   subALLRewButton();//
g¡RhV¥böe

//010	c.•ÿN.•nÓN  

 //  if(ObjectGetInteger(0,"N.•nÓN",OBJPROP_STATE==1))

	if(One_Key_Clear_Sign)

	{One_Key_Clear_Sign=0;

	PrintFormat("N.•nÓN ");

   //:1Y{˜îO
Y

   //:1Y{˜îO
Y

		for( int cnt=0;cnt<OrdersTotal();cnt++)

		{

			if(OrderSelect(cnt,SELECT_BY_POS) && EACom == OrderComment())

			{

			  AllCnt++;

			}

		} 

		PrintFormat("AllCnt=%d ", AllCnt);



		if(0==AllCnt)

			ObjectSetText("N.•nÓN","¡l	gEA_úQ„vUS
N‚f\P_US",100,"",clrBlack);

		if(AllCnt>0)

			ObjectSetText("N.•nÓN","ck(Ws^‰cEA_„v¢‹US...",100,"",clrBlack);



		int OneKeyTime=OneKeyHour*60*60+OneKeyMin*60;//5\öe+0RŸ”



		if(AllCnt>0 && (int)TimeCurrent()<GlobalVariableGet(AccountNumber()+"OneKeySleep"))

		{PrintFormat("111 ");

			GlobalVariableSet(AccountNumber()+"OneKeySleep",OneKeyTime+ (int)TimeCurrent());

		}

	      

		GlobalVariableSet(AccountNumber()+"_CutALL",1);

		while (GlobalVariableGet(AccountNumber()+"_CutALL")>0)

		{PrintFormat("222 ");

			if(false == RunClearALL("N.•nÓN"))

		  		GlobalVariableSet(AccountNumber()+"_CutALL",-1);

		 	Sleep(500);

		}

	     PrintFormat("333 ");   

		Sleep(4500);

		ObjectGetInteger(0,"N.•nÓN",OBJPROP_STATE,0);

		ObjectSetText("N.•nÓN","N.•nÓN",8,"",clrBlack);

   }

   

//020	c.•ÿslowT

//   if(ObjectGetInteger(0,"slowT",OBJPROP_STATE==1))

if(Key_slowT_Sign)

   {Key_slowT_Sign=0;

		ObjectSetText("slowT","ÖSˆmN_cnÓNb€N.•nÓN‚f\P_US",5,"",clrBlack);

		GlobalVariableDel(AccountNumber()+"OneKeySleep");

		GlobalVariableDel("Stop_OP");



		Sleep(4500);

		ObjectGetInteger(0,"slowT",OBJPROP_STATE,0);

		ObjectSetText("slowT","
g¡RhV¥böeck8^",8,"",clrBlack);  

   }



   

}

//2019.11.30 ìrËzöeô•§c6R



int zzHBSHou (string wMyHB)

{//_ËY\öe

   if( StringFind( wMyHB,"EURUSD",0)>=0 ) return( SHou_EU );

   if( StringFind( wMyHB,"GBPUSD",0)>=0 ) return( SHou_GU );

   if( StringFind( wMyHB,"AUDUSD",0)>=0 ) return( SHou_AU );

   if( StringFind( wMyHB,"NZDUSD",0)>=0 ) return( SHou_NU );

   if( StringFind( wMyHB,"USDJPY",0)>=0 ) return( SHou_UJ );

   if( StringFind( wMyHB,"USDCHF",0)>=0 ) return( SHou_UF );

   if( StringFind( wMyHB,"USDCAD",0)>=0 ) return( SHou_UC );

   

   if( StringFind( wMyHB,"EURJPY",0)>=0 ) return( SHou_EJ );

   if( StringFind( wMyHB,"GBPJPY",0)>=0 ) return( SHou_GJ );

   if( StringFind( wMyHB,"AUDJPY",0)>=0 ) return( SHou_AJ );

   if( StringFind( wMyHB,"NZDJPY",0)>=0 ) return( SHou_NJ );

   if( StringFind( wMyHB,"CHFJPY",0)>=0 ) return( SHou_FJ );

   if( StringFind( wMyHB,"CADJPY",0)>=0 ) return( SHou_CJ );

   

   if( StringFind( wMyHB,"EURAUD",0)>=0 ) return( SHou_EA );

   if( StringFind( wMyHB,"GBPAUD",0)>=0 ) return( SHou_GA );

   if( StringFind( wMyHB,"AUDNZD",0)>=0 ) return( SHou_AN );

   if( StringFind( wMyHB,"AUDCHF",0)>=0 ) return( SHou_AF );

   if( StringFind( wMyHB,"AUDCAD",0)>=0 ) return( SHou_AC );

   

   if( StringFind( wMyHB,"EURNZD",0)>=0 ) return( SHou_EN);

   if( StringFind( wMyHB,"GBPNZD",0)>=0 ) return( SHou_GN );

   if( StringFind( wMyHB,"NZDCHF",0)>=0 ) return( SHou_NF );

   if( StringFind( wMyHB,"CADCHF",0)>=0 ) return( SHou_CF );

   

   if( StringFind( wMyHB,"EURCAD",0)>=0 ) return( SHou_EC );

   if( StringFind( wMyHB,"GBPCAD",0)>=0 ) return( SHou_GC );

   if( StringFind( wMyHB,"NZDCAD",0)>=0 ) return( SHou_NC );

   

   if( StringFind( wMyHB,"EURCHF",0)>=0 ) return( SHou_EF );

   if( StringFind( wMyHB,"GBPCHF",0)>=0 ) return( SHou_GF );

   if( StringFind( wMyHB,"EURGBP",0)>=0 ) return( SHou_EG );

   

   if( StringFind( wMyHB,"USDSGD",0)>=0 ) return( SHou_US );

   if( StringFind( wMyHB,"EURSGD",0)>=0 ) return( SHou_ES );

   if( StringFind( wMyHB,"AUDSGD",0)>=0 ) return( SHou_AS );

   if( StringFind( wMyHB,"CHFSGD",0)>=0 ) return( SHou_FS );

   

   return(0);   

}





int zzHBSMin(string wMyHB)

{//_ËYRŸ”

   if( StringFind( wMyHB,"EURUSD",0)>=0 ) return( SMin_EU );

   if( StringFind( wMyHB,"GBPUSD",0)>=0 ) return( SMin_GU );

   if( StringFind( wMyHB,"AUDUSD",0)>=0 ) return( SMin_AU );

   if( StringFind( wMyHB,"NZDUSD",0)>=0 ) return( SMin_NU );

   if( StringFind( wMyHB,"USDJPY",0)>=0 ) return( SMin_UJ );

   if( StringFind( wMyHB,"USDCHF",0)>=0 ) return( SMin_UF );

   if( StringFind( wMyHB,"USDCAD",0)>=0 ) return( SMin_UC );

   

   if( StringFind( wMyHB,"EURJPY",0)>=0 ) return( SMin_EJ );

   if( StringFind( wMyHB,"GBPJPY",0)>=0 ) return( SMin_GJ );

   if( StringFind( wMyHB,"AUDJPY",0)>=0 ) return( SMin_AJ );

   if( StringFind( wMyHB,"NZDJPY",0)>=0 ) return( SMin_NJ );

   if( StringFind( wMyHB,"CHFJPY",0)>=0 ) return( SMin_FJ );

   if( StringFind( wMyHB,"CADJPY",0)>=0 ) return( SMin_CJ );

   

   if( StringFind( wMyHB,"EURAUD",0)>=0 ) return( SMin_EA );

   if( StringFind( wMyHB,"GBPAUD",0)>=0 ) return( SMin_GA );

   if( StringFind( wMyHB,"AUDNZD",0)>=0 ) return( SMin_AN );

   if( StringFind( wMyHB,"AUDCHF",0)>=0 ) return( SMin_AF );

   if( StringFind( wMyHB,"AUDCAD",0)>=0 ) return( SMin_AC );

   

   if( StringFind( wMyHB,"EURNZD",0)>=0 ) return( SMin_EN);

   if( StringFind( wMyHB,"GBPNZD",0)>=0 ) return( SMin_GN );

   if( StringFind( wMyHB,"NZDCHF",0)>=0 ) return( SMin_NF );

   if( StringFind( wMyHB,"CADCHF",0)>=0 ) return( SMin_CF );

   

   if( StringFind( wMyHB,"EURCAD",0)>=0 ) return( SMin_EC );

   if( StringFind( wMyHB,"GBPCAD",0)>=0 ) return( SMin_GC );

   if( StringFind( wMyHB,"NZDCAD",0)>=0 ) return( SMin_NC );

   

   if( StringFind( wMyHB,"EURCHF",0)>=0 ) return( SMin_EF );

   if( StringFind( wMyHB,"GBPCHF",0)>=0 ) return( SMin_GF );

   if( StringFind( wMyHB,"EURGBP",0)>=0 ) return( SMin_EG );

   

   if( StringFind( wMyHB,"USDSGD",0)>=0 ) return( SMin_US );

   if( StringFind( wMyHB,"EURSGD",0)>=0 ) return( SMin_ES );

   if( StringFind( wMyHB,"AUDSGD",0)>=0 ) return( SMin_AS );

   if( StringFind( wMyHB,"CHFSGD",0)>=0 ) return( SMin_FS );

   

   return(0);   

}



int  zzHBEHou (string wMyHB)

{

   //Ó~_g\öe



   if( StringFind( wMyHB,"EURUSD",0)>=0 ) return( EHou_EU );

   if( StringFind( wMyHB,"GBPUSD",0)>=0 ) return( EHou_GU );

   if( StringFind( wMyHB,"AUDUSD",0)>=0 ) return( EHou_AU );

   if( StringFind( wMyHB,"NZDUSD",0)>=0 ) return( EHou_NU );

   if( StringFind( wMyHB,"USDJPY",0)>=0 ) return( EHou_UJ );

   if( StringFind( wMyHB,"USDCHF",0)>=0 ) return( EHou_UF );

   if( StringFind( wMyHB,"USDCAD",0)>=0 ) return( EHou_UC );

   

   if( StringFind( wMyHB,"EURJPY",0)>=0 ) return( EHou_EJ );

   if( StringFind( wMyHB,"GBPJPY",0)>=0 ) return( EHou_GJ );

   if( StringFind( wMyHB,"AUDJPY",0)>=0 ) return( EHou_AJ );

   if( StringFind( wMyHB,"NZDJPY",0)>=0 ) return( EHou_NJ );

   if( StringFind( wMyHB,"CHFJPY",0)>=0 ) return( EHou_FJ );

   if( StringFind( wMyHB,"CADJPY",0)>=0 ) return( EHou_CJ );

   

   if( StringFind( wMyHB,"EURAUD",0)>=0 ) return( EHou_EA );

   if( StringFind( wMyHB,"GBPAUD",0)>=0 ) return( EHou_GA );

   if( StringFind( wMyHB,"AUDNZD",0)>=0 ) return( EHou_AN );

   if( StringFind( wMyHB,"AUDCHF",0)>=0 ) return( EHou_AF );

   if( StringFind( wMyHB,"AUDCAD",0)>=0 ) return( EHou_AC );

   

   if( StringFind( wMyHB,"EURNZD",0)>=0 ) return( EHou_EN);

   if( StringFind( wMyHB,"GBPNZD",0)>=0 ) return( EHou_GN );

   if( StringFind( wMyHB,"NZDCHF",0)>=0 ) return( EHou_NF );

   if( StringFind( wMyHB,"CADCHF",0)>=0 ) return( EHou_CF );

   

   if( StringFind( wMyHB,"EURCAD",0)>=0 ) return( EHou_EC );

   if( StringFind( wMyHB,"GBPCAD",0)>=0 ) return( EHou_GC );

   if( StringFind( wMyHB,"NZDCAD",0)>=0 ) return( EHou_NC );

   

   if( StringFind( wMyHB,"EURCHF",0)>=0 ) return( EHou_EF );

   if( StringFind( wMyHB,"GBPCHF",0)>=0 ) return( EHou_GF );

   if( StringFind( wMyHB,"EURGBP",0)>=0 ) return( EHou_EG );

   

   if( StringFind( wMyHB,"USDSGD",0)>=0 ) return( EHou_US );

   if( StringFind( wMyHB,"EURSGD",0)>=0 ) return( EHou_ES );

   if( StringFind( wMyHB,"AUDSGD",0)>=0 ) return( EHou_AS );

   if( StringFind( wMyHB,"CHFSGD",0)>=0 ) return( EHou_FS );

   

   return(0);   

}





int  zzHBEMin (string wMyHB)

{//Ó~_gRŸ”

   if( StringFind( wMyHB,"EURUSD",0)>=0 ) return( EMin_EU );

   if( StringFind( wMyHB,"GBPUSD",0)>=0 ) return( EMin_GU );

   if( StringFind( wMyHB,"AUDUSD",0)>=0 ) return( EMin_AU );

   if( StringFind( wMyHB,"NZDUSD",0)>=0 ) return( EMin_NU );

   if( StringFind( wMyHB,"USDJPY",0)>=0 ) return( EMin_UJ );

   if( StringFind( wMyHB,"USDCHF",0)>=0 ) return( EMin_UF );

   if( StringFind( wMyHB,"USDCAD",0)>=0 ) return( EMin_UC );

   

   if( StringFind( wMyHB,"EURJPY",0)>=0 ) return( EMin_EJ );

   if( StringFind( wMyHB,"GBPJPY",0)>=0 ) return( EMin_GJ );

   if( StringFind( wMyHB,"AUDJPY",0)>=0 ) return( EMin_AJ );

   if( StringFind( wMyHB,"NZDJPY",0)>=0 ) return( EMin_NJ );

   if( StringFind( wMyHB,"CHFJPY",0)>=0 ) return( EMin_FJ );

   if( StringFind( wMyHB,"CADJPY",0)>=0 ) return( EMin_CJ );

   

   if( StringFind( wMyHB,"EURAUD",0)>=0 ) return( EMin_EA );

   if( StringFind( wMyHB,"GBPAUD",0)>=0 ) return( EMin_GA );

   if( StringFind( wMyHB,"AUDNZD",0)>=0 ) return( EMin_AN );

   if( StringFind( wMyHB,"AUDCHF",0)>=0 ) return( EMin_AF );

   if( StringFind( wMyHB,"AUDCAD",0)>=0 ) return( EMin_AC );

   

   if( StringFind( wMyHB,"EURNZD",0)>=0 ) return( EMin_EN);

   if( StringFind( wMyHB,"GBPNZD",0)>=0 ) return( EMin_GN );

   if( StringFind( wMyHB,"NZDCHF",0)>=0 ) return( EMin_NF );

   if( StringFind( wMyHB,"CADCHF",0)>=0 ) return( EMin_CF );

   

   if( StringFind( wMyHB,"EURCAD",0)>=0 ) return( EMin_EC );

   if( StringFind( wMyHB,"GBPCAD",0)>=0 ) return( EMin_GC );

   if( StringFind( wMyHB,"NZDCAD",0)>=0 ) return( EMin_NC );

   

   if( StringFind( wMyHB,"EURCHF",0)>=0 ) return( EMin_EF );

   if( StringFind( wMyHB,"GBPCHF",0)>=0 ) return( EMin_GF );

   if( StringFind( wMyHB,"EURGBP",0)>=0 ) return( EMin_EG );

   

   if( StringFind( wMyHB,"USDSGD",0)>=0 ) return( EMin_US );

   if( StringFind( wMyHB,"EURSGD",0)>=0 ) return( EMin_ES );

   if( StringFind( wMyHB,"AUDSGD",0)>=0 ) return( EMin_AS );

   if( StringFind( wMyHB,"CHFSGD",0)>=0 ) return( EMin_FS );

   

   return(0);   

}



//¹pî]§c6R

int  zzHBSp (string wMyHB)

{//¹pî]§c6R

   if(Sp_ALL>0) return(Sp_ALL);

   

   if( StringFind( wMyHB,"EURUSD",0)>=0 ) return( Sp_EU );

   if( StringFind( wMyHB,"GBPUSD",0)>=0 ) return( Sp_GU );

   if( StringFind( wMyHB,"AUDUSD",0)>=0 ) return( Sp_AU );

   if( StringFind( wMyHB,"NZDUSD",0)>=0 ) return( Sp_NU );

   if( StringFind( wMyHB,"USDJPY",0)>=0 ) return( Sp_UJ );

   if( StringFind( wMyHB,"USDCHF",0)>=0 ) return( Sp_UF );

   if( StringFind( wMyHB,"USDCAD",0)>=0 ) return( Sp_UC );

   

   if( StringFind( wMyHB,"EURJPY",0)>=0 ) return( Sp_EJ );

   if( StringFind( wMyHB,"GBPJPY",0)>=0 ) return( Sp_GJ );

   if( StringFind( wMyHB,"AUDJPY",0)>=0 ) return( Sp_AJ );

   if( StringFind( wMyHB,"NZDJPY",0)>=0 ) return( Sp_NJ );

   if( StringFind( wMyHB,"CHFJPY",0)>=0 ) return( Sp_FJ );

   if( StringFind( wMyHB,"CADJPY",0)>=0 ) return( Sp_CJ );

   

   if( StringFind( wMyHB,"EURAUD",0)>=0 ) return( Sp_EA );

   if( StringFind( wMyHB,"GBPAUD",0)>=0 ) return( Sp_GA );

   if( StringFind( wMyHB,"AUDNZD",0)>=0 ) return( Sp_AN );

   if( StringFind( wMyHB,"AUDCHF",0)>=0 ) return( Sp_AF );

   if( StringFind( wMyHB,"AUDCAD",0)>=0 ) return( Sp_AC );

   

   if( StringFind( wMyHB,"EURNZD",0)>=0 ) return( Sp_EN);

   if( StringFind( wMyHB,"GBPNZD",0)>=0 ) return( Sp_GN );

   if( StringFind( wMyHB,"NZDCHF",0)>=0 ) return( Sp_NF );

   if( StringFind( wMyHB,"CADCHF",0)>=0 ) return( Sp_CF );

   

   if( StringFind( wMyHB,"EURCAD",0)>=0 ) return( Sp_EC );

   if( StringFind( wMyHB,"GBPCAD",0)>=0 ) return( Sp_GC );

   if( StringFind( wMyHB,"NZDCAD",0)>=0 ) return( Sp_NC );

   

   if( StringFind( wMyHB,"EURCHF",0)>=0 ) return( Sp_EF );

   if( StringFind( wMyHB,"GBPCHF",0)>=0 ) return( Sp_GF );

   if( StringFind( wMyHB,"EURGBP",0)>=0 ) return( Sp_EG );

   

   if( StringFind( wMyHB,"USDSGD",0)>=0 ) return( Sp_US );

   if( StringFind( wMyHB,"EURSGD",0)>=0 ) return( Sp_ES );

   if( StringFind( wMyHB,"AUDSGD",0)>=0 ) return( Sp_AS );

   if( StringFind( wMyHB,"CHFSGD",0)>=0 ) return( Sp_FS );

   

   return(3);   

}





int  zzHBATR (string wMyHB)

{//ԏÞVwMyHB'^ATR¹ppe§c6R

   if( StringFind( wMyHB,"EURUSD",0)>=0 ) return( TR_EU );

   if( StringFind( wMyHB,"GBPUSD",0)>=0 ) return( TR_GU );

   if( StringFind( wMyHB,"AUDUSD",0)>=0 ) return( TR_AU );

   if( StringFind( wMyHB,"NZDUSD",0)>=0 ) return( TR_NU );

   if( StringFind( wMyHB,"USDJPY",0)>=0 ) return( TR_UJ );

   if( StringFind( wMyHB,"USDCHF",0)>=0 ) return( TR_UF );

   if( StringFind( wMyHB,"USDCAD",0)>=0 ) return( TR_UC );

   

   if( StringFind( wMyHB,"EURJPY",0)>=0 ) return( TR_EJ );

   if( StringFind( wMyHB,"GBPJPY",0)>=0 ) return( TR_GJ );

   if( StringFind( wMyHB,"AUDJPY",0)>=0 ) return( TR_AJ );

   if( StringFind( wMyHB,"NZDJPY",0)>=0 ) return( TR_NJ );

   if( StringFind( wMyHB,"CHFJPY",0)>=0 ) return( TR_FJ );

   if( StringFind( wMyHB,"CADJPY",0)>=0 ) return( TR_CJ );

   

   if( StringFind( wMyHB,"EURAUD",0)>=0 ) return( TR_EA );

   if( StringFind( wMyHB,"GBPAUD",0)>=0 ) return( TR_GA );

   if( StringFind( wMyHB,"AUDNZD",0)>=0 ) return( TR_AN );

   if( StringFind( wMyHB,"AUDCHF",0)>=0 ) return( TR_AF );

   if( StringFind( wMyHB,"AUDCAD",0)>=0 ) return( TR_AC );

   

   if( StringFind( wMyHB,"EURNZD",0)>=0 ) return( TR_EN);

   if( StringFind( wMyHB,"GBPNZD",0)>=0 ) return( TR_GN );

   if( StringFind( wMyHB,"NZDCHF",0)>=0 ) return( TR_NF );

   if( StringFind( wMyHB,"CADCHF",0)>=0 ) return( TR_CF );

   

   if( StringFind( wMyHB,"EURCAD",0)>=0 ) return( TR_EC );

   if( StringFind( wMyHB,"GBPCAD",0)>=0 ) return( TR_GC );

   if( StringFind( wMyHB,"NZDCAD",0)>=0 ) return( TR_NC );

   

   if( StringFind( wMyHB,"EURCHF",0)>=0 ) return( TR_EF );

   if( StringFind( wMyHB,"GBPCHF",0)>=0 ) return( TR_GF );

   if( StringFind( wMyHB,"EURGBP",0)>=0 ) return( TR_EG );

   

   if( StringFind( wMyHB,"USDSGD",0)>=0 ) return( TR_US );

   if( StringFind( wMyHB,"EURSGD",0)>=0 ) return( TR_ES );

   if( StringFind( wMyHB,"AUDSGD",0)>=0 ) return( TR_AS );

   if( StringFind( wMyHB,"CHFSGD",0)>=0 ) return( TR_FS );

   

   return(150);   

}



//ATR_sQ§c6R

int  zzHBboTR (string wMyHB)

{//ԏÞVATR_sQ§c6Rh×_

   if( StringFind( wMyHB,"EURUSD",0)>=0 ) return( boTR_EU );

   if( StringFind( wMyHB,"GBPUSD",0)>=0 ) return( boTR_GU );

   if( StringFind( wMyHB,"AUDUSD",0)>=0 ) return( boTR_AU );

   if( StringFind( wMyHB,"NZDUSD",0)>=0 ) return( boTR_NU );

   if( StringFind( wMyHB,"USDJPY",0)>=0 ) return( boTR_UJ );

   if( StringFind( wMyHB,"USDCHF",0)>=0 ) return( boTR_UF );

   if( StringFind( wMyHB,"USDCAD",0)>=0 ) return( boTR_UC );

   

   if( StringFind( wMyHB,"EURJPY",0)>=0 ) return( boTR_EJ );

   if( StringFind( wMyHB,"GBPJPY",0)>=0 ) return( boTR_GJ );

   if( StringFind( wMyHB,"AUDJPY",0)>=0 ) return( boTR_AJ );

   if( StringFind( wMyHB,"NZDJPY",0)>=0 ) return( boTR_NJ );

   if( StringFind( wMyHB,"CHFJPY",0)>=0 ) return( boTR_FJ );

   if( StringFind( wMyHB,"CADJPY",0)>=0 ) return( boTR_CJ );

   

   if( StringFind( wMyHB,"EURAUD",0)>=0 ) return( boTR_EA );

   if( StringFind( wMyHB,"GBPAUD",0)>=0 ) return( boTR_GA );

   if( StringFind( wMyHB,"AUDNZD",0)>=0 ) return( boTR_AN );

   if( StringFind( wMyHB,"AUDCHF",0)>=0 ) return( boTR_AF );

   if( StringFind( wMyHB,"AUDCAD",0)>=0 ) return( boTR_AC );

   

   if( StringFind( wMyHB,"EURNZD",0)>=0 ) return( boTR_EN);

   if( StringFind( wMyHB,"GBPNZD",0)>=0 ) return( boTR_GN );

   if( StringFind( wMyHB,"NZDCHF",0)>=0 ) return( boTR_NF );

   if( StringFind( wMyHB,"CADCHF",0)>=0 ) return( boTR_CF );

   

   if( StringFind( wMyHB,"EURCAD",0)>=0 ) return( boTR_EC );

   if( StringFind( wMyHB,"GBPCAD",0)>=0 ) return( boTR_GC );

   if( StringFind( wMyHB,"NZDCAD",0)>=0 ) return( boTR_NC );

   

   if( StringFind( wMyHB,"EURCHF",0)>=0 ) return( boTR_EF );

   if( StringFind( wMyHB,"GBPCHF",0)>=0 ) return( boTR_GF );

   if( StringFind( wMyHB,"EURGBP",0)>=0 ) return( boTR_EG );

   

   if( StringFind( wMyHB,"USDSGD",0)>=0 ) return( boTR_US );

   if( StringFind( wMyHB,"EURSGD",0)>=0 ) return( boTR_ES );

   if( StringFind( wMyHB,"AUDSGD",0)>=0 ) return( boTR_AS );

   if( StringFind( wMyHB,"CHFSGD",0)>=0 ) return( boTR_FS );

   

   return(false);   

}



//ATRþVhˆhTg

ENUM_TIMEFRAMES zzHBTR_TF(string wMyHB)

{//ԏÞVwMyHB'^„vþVhˆöeô•hTg

    if( StringFind( wMyHB,"EURUSD",0)>=0 ) return( TR_TF_EU );

   if( StringFind( wMyHB,"GBPUSD",0)>=0 ) return( TR_TF_GU );

   if( StringFind( wMyHB,"AUDUSD",0)>=0 ) return( TR_TF_AU );

   if( StringFind( wMyHB,"NZDUSD",0)>=0 ) return( TR_TF_NU );

   if( StringFind( wMyHB,"USDJPY",0)>=0 ) return( TR_TF_UJ );

   if( StringFind( wMyHB,"USDCHF",0)>=0 ) return( TR_TF_UF );

   if( StringFind( wMyHB,"USDCAD",0)>=0 ) return( TR_TF_UC );

   

   if( StringFind( wMyHB,"EURJPY",0)>=0 ) return( TR_TF_EJ );

   if( StringFind( wMyHB,"GBPJPY",0)>=0 ) return( TR_TF_GJ );

   if( StringFind( wMyHB,"AUDJPY",0)>=0 ) return( TR_TF_AJ );

   if( StringFind( wMyHB,"NZDJPY",0)>=0 ) return( TR_TF_NJ );

   if( StringFind( wMyHB,"CHFJPY",0)>=0 ) return( TR_TF_FJ );

   if( StringFind( wMyHB,"CADJPY",0)>=0 ) return( TR_TF_CJ );

   

   if( StringFind( wMyHB,"EURAUD",0)>=0 ) return( TR_TF_EA );

   if( StringFind( wMyHB,"GBPAUD",0)>=0 ) return( TR_TF_GA );

   if( StringFind( wMyHB,"AUDNZD",0)>=0 ) return( TR_TF_AN );

   if( StringFind( wMyHB,"AUDCHF",0)>=0 ) return( TR_TF_AF );

   if( StringFind( wMyHB,"AUDCAD",0)>=0 ) return( TR_TF_AC );

   

   if( StringFind( wMyHB,"EURNZD",0)>=0 ) return( TR_TF_EN);

   if( StringFind( wMyHB,"GBPNZD",0)>=0 ) return( TR_TF_GN );

   if( StringFind( wMyHB,"NZDCHF",0)>=0 ) return( TR_TF_NF );

   if( StringFind( wMyHB,"CADCHF",0)>=0 ) return( TR_TF_CF );

   

   if( StringFind( wMyHB,"EURCAD",0)>=0 ) return( TR_TF_EC );

   if( StringFind( wMyHB,"GBPCAD",0)>=0 ) return( TR_TF_GC );

   if( StringFind( wMyHB,"NZDCAD",0)>=0 ) return( TR_TF_NC );

   

   if( StringFind( wMyHB,"EURCHF",0)>=0 ) return( TR_TF_EF );

   if( StringFind( wMyHB,"GBPCHF",0)>=0 ) return( TR_TF_GF );

   if( StringFind( wMyHB,"EURGBP",0)>=0 ) return( TR_TF_EG );

   

   if( StringFind( wMyHB,"USDSGD",0)>=0 ) return( TR_TF_US );

   if( StringFind( wMyHB,"EURSGD",0)>=0 ) return( TR_TF_ES );

   if( StringFind( wMyHB,"AUDSGD",0)>=0 ) return( TR_TF_AS );

   if( StringFind( wMyHB,"CHFSGD",0)>=0 ) return( TR_TF_FS );

   

   return(15);   

}



//ATRöeô•hTg

int  zzHBTR_MA (string wMyHB)

{//ԏÞVwMyHB'^„vATRöeô•hTg

   if( StringFind( wMyHB,"EURUSD",0)>=0 ) return( TR_MA_EU );

   if( StringFind( wMyHB,"GBPUSD",0)>=0 ) return( TR_MA_GU );

   if( StringFind( wMyHB,"AUDUSD",0)>=0 ) return( TR_MA_AU );

   if( StringFind( wMyHB,"NZDUSD",0)>=0 ) return( TR_MA_NU );

   if( StringFind( wMyHB,"USDJPY",0)>=0 ) return( TR_MA_UJ );

   if( StringFind( wMyHB,"USDCHF",0)>=0 ) return( TR_MA_UF );

   if( StringFind( wMyHB,"USDCAD",0)>=0 ) return( TR_MA_UC );

   

   if( StringFind( wMyHB,"EURJPY",0)>=0 ) return( TR_MA_EJ );

   if( StringFind( wMyHB,"GBPJPY",0)>=0 ) return( TR_MA_GJ );

   if( StringFind( wMyHB,"AUDJPY",0)>=0 ) return( TR_MA_AJ );

   if( StringFind( wMyHB,"NZDJPY",0)>=0 ) return( TR_MA_NJ );

   if( StringFind( wMyHB,"CHFJPY",0)>=0 ) return( TR_MA_FJ );

   if( StringFind( wMyHB,"CADJPY",0)>=0 ) return( TR_MA_CJ );

   

   if( StringFind( wMyHB,"EURAUD",0)>=0 ) return( TR_MA_EA );

   if( StringFind( wMyHB,"GBPAUD",0)>=0 ) return( TR_MA_GA );

   if( StringFind( wMyHB,"AUDNZD",0)>=0 ) return( TR_MA_AN );

   if( StringFind( wMyHB,"AUDCHF",0)>=0 ) return( TR_MA_AF );

   if( StringFind( wMyHB,"AUDCAD",0)>=0 ) return( TR_MA_AC );

   

   if( StringFind( wMyHB,"EURNZD",0)>=0 ) return( TR_MA_EN);

   if( StringFind( wMyHB,"GBPNZD",0)>=0 ) return( TR_MA_GN );

   if( StringFind( wMyHB,"NZDCHF",0)>=0 ) return( TR_MA_NF );

   if( StringFind( wMyHB,"CADCHF",0)>=0 ) return( TR_MA_CF );

   

   if( StringFind( wMyHB,"EURCAD",0)>=0 ) return( TR_MA_EC );

   if( StringFind( wMyHB,"GBPCAD",0)>=0 ) return( TR_MA_GC );

   if( StringFind( wMyHB,"NZDCAD",0)>=0 ) return( TR_MA_NC );

   

   if( StringFind( wMyHB,"EURCHF",0)>=0 ) return( TR_MA_EF );

   if( StringFind( wMyHB,"GBPCHF",0)>=0 ) return( TR_MA_GF );

   if( StringFind( wMyHB,"EURGBP",0)>=0 ) return( TR_MA_EG );

   

   if( StringFind( wMyHB,"USDSGD",0)>=0 ) return( TR_MA_US );

   if( StringFind( wMyHB,"EURSGD",0)>=0 ) return( TR_MA_ES );

   if( StringFind( wMyHB,"AUDSGD",0)>=0 ) return( TR_MA_AS );

   if( StringFind( wMyHB,"CHFSGD",0)>=0 ) return( TR_MA_FS );

   

   return(14);   

}









int SX=10;//>f:yXtMOn(óSûy)

int SY=20;//>f:yYtMOn(Nûy) te*NFhNûy



/*====================================================================

*    function: 

*          in:

*         mid:

*         out:

* instruction:

======================================================================*/

void GUI_Button(string name,color yanse,int x,int y,string text,int changdu=0)

  {

   ObjectCreate(0,name,OBJ_BUTTON,0,0,0);

   ObjectSetInteger(0,name,OBJPROP_COLOR,yanse);

   ObjectSetInteger(0,name,OBJPROP_BGCOLOR,clrDarkGray);

   ObjectSetInteger(0,name,OBJPROP_XDISTANCE,x);

   ObjectSetInteger(0,name,OBJPROP_YDISTANCE,y);

   if(changdu==0)

    {

      int as=StringLen(text);

      ObjectSetInteger(0,name,OBJPROP_XSIZE,as*20);

    }

   else

    {

      ObjectSetInteger(0,name,OBJPROP_XSIZE,changdu);

    }

   ObjectSetInteger(0,name,OBJPROP_YSIZE,30);

   ObjectSetString(0,name,OBJPROP_FONT,"Arial");

   ObjectSetString(0,name,OBJPROP_TEXT,text);

   ObjectSetInteger(0,name,OBJPROP_FONTSIZE,15);

   ObjectSetInteger(0,name,OBJPROP_BORDER_COLOR,clrBlue);

   //ObjectSetInteger(0,name,OBJPROP_CORNER,0);



  ObjectSetInteger(0,name,OBJPROP_HIDDEN,false);



   

  }







Comments

Markdown supported. Formatting help

Markdown Formatting Guide

Element Markdown Syntax
Heading # H1
## H2
### H3
Bold **bold text**
Italic *italicized text*
Link [title](https://www.example.com)
Image ![alt text](image.jpg)
Code `code`
Code Block ```
code block
```
Quote > blockquote
Unordered List - Item 1
- Item 2
Ordered List 1. First item
2. Second item
Horizontal Rule ---