//+------------------------------------------------------------------+
//| baiso1.mq4 |
//| Copyright 2016, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function |
// NOI KHAI BAO BIEN
extern double khoiLuong= 0.01;// 0
double stoploss = 20;
double takeprofit = 40;
extern string Com ;
color maucualenh = clrRed;
extern int loaiLenh = OP_BUY;
double giavaolenh=0;
datetime thoigiangiaodich;
bool chophepGD = true;
int magic =999;
//+------------------------------------------------------------------+
int OnInit()
{
//---
// checkLisicen();
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{ string sym;
// if(chophepGD == false){return;}
// if(OrdersTotal()>0){return;} // chi cho vao 1 lenh
if(demsolenh( Symbol() ) >0 ){return;}
// cho chạy code ben dưới dòng này khi qua nến mới
if(thoigiangiaodich == iTime(Symbol(),0,0) ){return;}thoigiangiaodich =iTime(Symbol(),0,0) ;
//=====================================================================
// dieu kien vao lenh--------------
// laygiatrinen();
double maxanh1 = iMA(Symbol(),0,5,0,MODE_SMA,PRICE_CLOSE,1);
double mado1 = iMA(Symbol(),0,20,0,MODE_SMA,PRICE_CLOSE,1);
double maxanh2 = iMA(Symbol(),0,5,0,MODE_SMA,PRICE_CLOSE,2);
double mado2 = iMA(Symbol(),0,20,0,MODE_SMA,PRICE_CLOSE,2);
// truong hop cat len tang gia --> buy
if(maxanh1 > mado1 && maxanh2 < mado2 ){loaiLenh=OP_BUY;}
if(maxanh1 < mado1 && maxanh2 > mado2 ){loaiLenh=OP_SELL;}
//--------------------------------VAO LENH------------------
vaoLenh(Symbol(),loaiLenh,khoiLuong,0,stoploss,takeprofit,magic,Com);
/*
if(loaiLenh == OP_SELL)
{
giavaolenh = Bid;
stoploss = giavaolenh + 20*10*Point();
takeprofit = giavaolenh - 60*10*Point();
}
if(loaiLenh ==OP_BUY)
{
giavaolenh = Ask;
stoploss = giavaolenh - 20*10*Point();
takeprofit = giavaolenh + 60*10*Point();
}
khoiLuong = dinhdangLot(khoiLuong);
OrderSend( Symbol(),loaiLenh,khoiLuong,giavaolenh,20,stoploss,takeprofit,ghichu,magic,0,maucualenh );
*/
}
//+------------------------------------------------------------------+
void vaoLenh(string symm, int typee, double lott, double pricee, double slpip,double tppip,int magicc, string comm )
{
if(lott ==0){return;}
int normallotunit ;
if(MarketInfo(symm, MODE_MINLOT)== 0.01){normallotunit = 2;}
if(MarketInfo(symm, MODE_MINLOT)== 0.1){normallotunit = 1;}
if(MarketInfo(symm, MODE_MINLOT)== 0.001){normallotunit = 3;}
lott = NormalizeDouble(lott, normallotunit );
//---------------------------
double slprice, tpprice; color mau;
if(typee== OP_BUY)
{
pricee = MarketInfo(symm,MODE_ASK);
slprice = pricee - slpip*10*MarketInfo(symm ,MODE_POINT);
tpprice = pricee + tppip*10*MarketInfo(symm ,MODE_POINT);
mau = clrBlue;
}
if(typee== OP_SELL)
{
pricee = MarketInfo(symm,MODE_BID);
slprice = pricee + slpip*10*MarketInfo(symm ,MODE_POINT);
tpprice = pricee - tppip*10*MarketInfo(symm ,MODE_POINT);
mau = clrRed;
}
pricee = NormalizeDouble(pricee,MarketInfo(symm , MODE_DIGITS));
slprice = NormalizeDouble(slprice,MarketInfo(symm , MODE_DIGITS));
tpprice = NormalizeDouble(tpprice,MarketInfo(symm , MODE_DIGITS));
//-----gui lenh
double thanhcong = OrderSend(symm,typee,lott,pricee,20,0,0,comm,magicc,0,mau);
// ----- CHINH SL TP
bool sucess =false; int dem;
if(thanhcong >0 && slprice !=0 && tpprice!=0 )
{
while ( sucess == false && dem<20)
{ sucess = OrderModify(thanhcong,pricee,slprice,tpprice,0,clrNONE);
dem++; Sleep(50);
}
int error = GetLastError();
if(error !=0 && error !=1){ Print("bi loi: "+ error);}
}
/*
ECN - LIEN NGAN HANG
STP - LIEN NGAN HANG
1 , GUI LENH DI
2 , CHINH SUA SL TP
OM LENH - OM LENH */
}
//====================================================================
/*
void laygiatrinen()
{
// tim mo hinh enguffing
for(int n =500 ; n >=0; n--)
{
double highttruoc, lowtruoc , hightsau, lowsau ;
highttruoc = iHigh(Symbol(),0,n+1);
lowtruoc = iLow(Symbol(),0,n+1);
hightsau = iHigh(Symbol(),0,n);
lowsau = iLow(Symbol(),0,n);
if(highttruoc<hightsau && lowtruoc > lowsau)
{
Comment(n);// gan nhat cay nen so 0
//break;
}
}
*/
/*int caynencaonhat,caynenthapnhat;
caynencaonhat= iHighest(Symbol(),0,MODE_HIGH,100,0);// tra ve cay nen cao nhat
caynenthapnhat = iLowest(Symbol(),0,MODE_LOW,100,0);// tra ve cay nen thap nhat
double giacaonhat = iHigh(Symbol(),0,caynencaonhat);// lay gias hight cua ....
double giathapnhat = iLow(Symbol(),0,caynenthapnhat);// lay low ....
// Comment(caynencaonhat +" / "+ caynenthapnhat);
Comment(giacaonhat +" / "+ giathapnhat);*/
//+==================================================================+
int Order_Open(int ordType,string sym_,double lots,double price,double sl,double tp,int mag,string com,double bidask)
{// int ticket;
if(lots==0){return(0);}
color col; double Stoploss,TakeProfit;
double unit=1; if(bidask!=0){unit= bidask;}
if(ordType==OP_BUY) {price=MarketInfo(sym_,MODE_ASK);Stoploss=price-sl*unit; TakeProfit=price+tp*unit; col=Blue;}
if(ordType==OP_SELL) {price=MarketInfo(sym_,MODE_BID);Stoploss=price+sl*unit; TakeProfit=price-tp*unit; col=Red;}
price=NormalizeDouble(price,MarketInfo(sym_,MODE_DIGITS));
int NormalizeLot; if(MarketInfo(sym_,MODE_MINLOT)==0.1) {NormalizeLot=1;} else {NormalizeLot=2;}
lots=NormalizeDouble(lots,NormalizeLot);
int sucess=-1; int ross=0;int demm;
sucess=OrderSend(sym_,ordType,lots,price,3,0,0,com,mag,0,col);Sleep(100);
if(sucess>0 && (sl!=0 || tp!=0))
{
while(ross<=0 && demm<20){ ross=OrderModify(sucess,price,Stoploss,TakeProfit,0,clrNONE); demm++;Sleep(100); }
}
int loi = GetLastError();
if(loi!=0 && loi !=1 ){ Print("eror"+loi); Print(sym_+ "/price "+ price+ " /op "+ordType+"/lot "+lots);
}
return(sucess);
}
//+------------------------------------------
//======================================================
void checkLisicen()
{
if(AccountNumber() != 22629828 ){Alert("khong dung tai khoan");chophepGD= false;}
if(AccountEquity() < 1000 ){ Comment("tai khoan qua nho , rui ro cao"); }
if(IsTradeAllowed() ==false ){ Alert("hay click vao trade allow");}
}
//==========================================
int demsolenh(string captiencandem)
{
int dem;
for(int i = OrdersTotal()-1 ; i>=0; i--)
{
if(OrderSelect(i, SELECT_BY_POS)==False) {continue;}
if(OrderSymbol() != captiencandem){continue;}
if(OrderMagicNumber()!= magic){continue;}
dem ++;// dem dc 1 lenh
}
return(dem);
}
//====================================
//====================================
double dinhdangLot(double khoiLuong)
{
if(khoiLuong==0){ khoiLuong = MarketInfo(Symbol(),MODE_MINLOT) ; }
if(khoiLuong> MarketInfo(Symbol(),MODE_MAXLOT)){ khoiLuong = MarketInfo(Symbol(),MODE_MAXLOT) ; }
khoiLuong = NormalizeDouble(khoiLuong,2);
return(khoiLuong);// tra ve khoi da duoc dinh dang
}
//+==================================================================+
BAI SO 9
chamelions 2,078 8th Apr, 2020
To share this paste please copy this url and send to your friends
RAW Paste Data
There are no comments yet.