//-------------------------------------------------------------------------------------------+
// 圣杯_1.mq4.
// ICQ 64015987,
//
http://autograf.dp.ua/.
//-------------------------------------------------------------------------------------------+
extern int TP = 100; // 引殛橡铘栩 铕溴疣
extern int SL = 100; // 羊铒祟耨 铕溴疣
extern int lim= 1; // 蔫耱囗鲨 忸玮疣蜞 牦瘃?
extern int prodvig=3; // 蔫耱囗鲨 镳钿忤驽龛 牦瘃?
extern double Prots= 10; // 橡铞屙?铗 疋钺钿睇?耩邃耱?
//--------------------------------------------------------------------------------------------
int
total, // 暑腓麇耱忸 腩蝾?
bb=0, // 1 = 羿牝 磬腓? 铕溴疣 Buy
ss=0; // 1 = 羿牝 磬腓? 铕溴疣 Sell
//--------------------------------------------------------------------------------------------
double
max, // 锑犟桁嚯? 鲥磬 磬 泐痍?(噌?
min, // 惕龛爨朦磬 鲥磬 忸 怙噤桧?噌?
lmax, // 项痤泐忄 鲥磬, 镱耠?镳孱漕脲龛
// 觐蝾痤?疣耨爨蝠桠噱?镳钿噫?噌?
lmin, // 翌 驽 潆 镱牦镪?
Lot; // 暑腓麇耱忸 腩蝾?
//骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀
int start()
{
//============================================================================================
total=OrdersTotal(); // 暑腓麇耱忸 腩蝾?
if (total==0) // 篷腓 铕溴痤?礤? ..
{
bb=0; // .. 蝾 礤?徉糕
ss=0; // .. 蝾 礤?皴腩?
}
if (max<Bid) max=Bid; // 痒栩噱?爨犟桁 鲥眢 磬 泐痍?
if (min>Ask) min=Ask; // 痒栩噱?扈龛?鲥眢 忸 怙噤桧?
//------------------------------------------------------------- 皱磬 疣玮铕圜桠噱蝰 忭桤 ----
if (((max-Bid)>=lim*Point)&&(Bid>lmax )) // 朽玮铕铗 磬 恹耦怅铎 箴钼礤
{
for (int i=total;i>=0;i--) // 项 怦屐 铕溴疣?
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true && OrderType()==OP_BUY)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,CLR_NONE);// 青牮噱?徉?
bb=0; // 拎糕 犷朦 礤?
}
}
Strateg(1); // 悟牮帼 趔黻鲨
}
//------------------------------------------------------------ 皱磬 疣玮铕圜桠噱蝰 忖屦?----
if (((Ask-min)>=lim*Point)&&(lmin>Ask )) // 朽玮铕铗 汶筢铌?忭桤?
{
for (i=total;i>=0;i--) // 项 怦屐 铕溴疣?
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true && OrderType()==OP_SELL)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,CLR_NONE);// 青牮噱?皴腚
ss=0; // 彦腚钼 犷朦 礤?
}
}
Strateg(2); // 悟牮帼 趔黻鲨
}
//============================================================================================
return;
}
//骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀
void Strateg (int vv) // 悟牮帼 趔黻鲨
{
//============================================================================================
if (vv==1 && ss==0) // 彦腚钼? 耔蝮圉? ?皴腚钼 礤?
{
OrderSend(Symbol(),OP_SELL,Lots(),Bid,3,Bid+SL*Point,Bid-TP*Point,"",0,0,Red);// 悟牮
ss=1; // 义镥瘘 羼螯 皴腚
}
//--------------------------------------------------------------------------------------------
if (vv==2 && bb==0) // 拎糕? 耔蝮圉? ?徉糕 礤?
{
OrderSend(Symbol(),OP_BUY, Lots(),Ask,3,Ask-SL*Point,Ask+TP*Point,"",0,0,Blue);// 悟牮
bb=1; // 义镥瘘 羼螯 徉?
}
//--------------------------------------------------------------------------------------------
lmax=Ask+prodvig*Point; // 襄疱铒疱溴?屐 眍恹?镱痤泐恹?..
lmin=Bid-prodvig*Point; // .. 箴钼龛 潆 铗牮 ?玎牮
//============================================================================================
return;
}
//骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀
double Lots() // 蔓麒耠屙桢 腩蝾?
{
//============================================================================================
Lot=NormalizeDouble(AccountEquity()*Prots/100/1000,1);// 蔓麒耠屐 觐腓? 腩蝾?
double Min_Lot = MarketInfo(Symbol(), MODE_MINLOT); // 惕龛爨朦眍 漕矬耱桁? 耱铊? 腩蝾?
if (Lot == 0 ) Lot = Min_Lot; // 碾 蝈耱?磬 镱耱?? 扈龛? 腩蜞?
//============================================================================================
return(Lot);
}
//骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀骀