Price Data Components
Orders Execution
Indicators Used
0
Views
0
Downloads
0
Favorites
BeerGodEA
#property copyright "Scam Laboratory 2012"
#property link "http://www.forex4you.org/?affid=bdbda7b"
//=============== Ìåíþ ===============================================
extern string Name="BeerGodEA (25.06.12)";
extern double Lot = 1.0;
extern int TimeBarOpen = 1;
extern int Period_MA=20; // Ïåðèîä ÌÀ
extern int Slippage = 1;
extern int mn= 100;
//============== Ïåðåìåííûå ==========================================
string GetNameOP="BeerGodEA"; // êîìåíò â îòêðûòîì îðäåðå
double TimeBar_t; // òåêóùåå âðåìÿ ñâå÷è
double sv_close; // öåíà çàêðûòèÿ ñâå÷è
double PA; // òåêóùàÿ öåíà
double MA_1_t; // ÌÀ òåêóùàÿ
double MA_1_p; // ÌÀ ïðåäûäóùàÿ
double NewBuy; // ñèãíàë îòêðûòèÿ ïîêóïêè
double NewSell; // ñèãíàë îòêðûòèÿ ïðîäàæè
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
if (!IsTesting())
{
if (IsExpertEnabled())
{
Comment("Ñîâåòíèê áóäåò çàïóùåí ñëåäóþùèì òèêîì");
}
else
{
Comment("Îòæàòà êíîïêà \"Ðàçðåøèòü çàïóñê ñîâåòíèêîâ\"");
}
}
return (0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{//0
//======== ïîëó÷åíèå äàííûõ ñ èíäèêàòîðîâ è òåêóùåé öåíû ======================
{//1
MA_1_t=iMA(NULL,0,Period_MA,0,MODE_SMA,PRICE_CLOSE,0); // ÌÀ_1 òåêóùàÿ
MA_1_p=iMA(NULL,0,Period_MA,0,MODE_SMA,PRICE_CLOSE,1); // ÌÀ_1 òåêóùàÿ
TimeBar_t = (TimeCurrent()-Time[0])/60; // âðåìÿ â ìèíóòàõ ñ îòêðûòèÿ ñâå÷è
sv_close = iClose(NULL,0,1); // öåíà çàêðûòèÿ ñâå÷è íà ïðåäûäóùåì áàðå
PA = Bid; // ïîëó÷åíèå òåêóùåé öåíû
RefreshRates ();
}//1
// ================= Îáðàáîòêà ñèãíàëîâ ===============================
{//2
if ((PA < MA_1_t) && (MA_1_t < MA_1_p) && (PA < sv_close) && (TimeBar_t==TimeBarOpen)) NewBuy = 1; else NewBuy = 0; // óñëîâèå BUY
if ((PA > MA_1_t) && (MA_1_t > MA_1_p) && (PA > sv_close) && (TimeBar_t==TimeBarOpen)) NewSell = 1; else NewSell = 0; // óñëîâèå BUY
}//2
// ================= Îòêðûòèå ñäåëêè ===================================
{//3
// îòêðûòèå BUY
if ((NewBuy == 1) && (ExistPositions() == false)) OrderSend(Symbol(),OP_BUY,Lot,Ask,Slippage,0,0,GetNameOP,mn,0,LightSkyBlue);
// îòêðûòèå Sell
if ((NewSell == 1) && (ExistPositions() == false)) OrderSend(Symbol(),OP_SELL,Lot,Bid,Slippage,0,0,GetNameOP,mn,0,HotPink);
}//3
// ================= Çàêðûòèå ñäåëêè ===================================
{//4
if (NewBuy == 1)
{
ClossAllProfitSell ();
ClossAllLossSell();
}
if (NewSell == 1)
{
ClossAllProfitBuy ();
ClossAllLossBuy();
}
}//4
// ================= Êîììåíòàðèè ======================================
{//5
Comment("Ðàáîòàåì :)"); // Êîììåíòàðèé â óãîë îêíà
}//5
// =====================================================================
return(0);
}//0
// ================= Ôóíêöèè ==========================================
//+----------------------------------------------------------------------------+
//| Àâòîð : Êèì Èãîðü Â. aka KimIV, http://www.kimiv.ru |
//+----------------------------------------------------------------------------+
//| Âåðñèÿ : 06.03.2008 |
//| Îïèñàíèå : Âîçâðàùàåò ôëàã ñóùåñòâîâàíèÿ ïîçèöèé |
//+----------------------------------------------------------------------------+
//| Ïàðàìåòðû: |
//| sy - íàèìåíîâàíèå èíñòðóìåíòà ("" - ëþáîé ñèìâîë, |
//| NULL - òåêóùèé ñèìâîë) |
//| op - îïåðàöèÿ (-1 - ëþáàÿ ïîçèöèÿ) |
//| mn - MagicNumber (-1 - ëþáîé ìàãèê) |
//| ot - âðåìÿ îòêðûòèÿ ( 0 - ëþáîå âðåìÿ îòêðûòèÿ) |
//+----------------------------------------------------------------------------+
bool ExistPositions(string sy="", int op=-1, datetime ot=0) {
int i, k=OrdersTotal();
if (sy=="0") sy=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sy || sy=="") {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (ot<=OrderOpenTime()) return(True);
}
}
}
}
}
}
return(False);
}
//END
//+------------------------------------------------------------------+
//| Çàêðûòü ïðèáûëüíûå îðäåðà |
//+------------------------------------------------------------------+
// ====================== Çàêðûòü BUY â ïðîôèòå ===============================
double ClossAllProfitBuy ()
{
int Profit1=Slippage;
int col1=Gold;
int ask1, bid1, open1;
double point1;
for (int i1=OrdersTotal()-1; i1>=0; i1--)
{
if (!OrderSelect(i1,SELECT_BY_POS,MODE_TRADES)) break;
if (OrderType()==OP_BUY)
{
point1=MarketInfo(Symbol(),MODE_POINT);
if (point1==0) break;
bid1=MathRound(MarketInfo(OrderSymbol(),MODE_BID)/point1);
open1=MathRound(OrderOpenPrice()/point1);
if (bid1-open1<Profit1) continue;
OrderClose(OrderTicket(),OrderLots(),bid1*point1,Slippage,col1);
}
// if (OrderType()==OP_SELL)
// {
// point=MarketInfo(Symbol(),MODE_POINT);
// if (point==0) break;
// ask=MathRound(MarketInfo(OrderSymbol(),MODE_ASK)/point);
// open=MathRound(OrderOpenPrice()/point);
// if (open-ask<Profit) continue;
// OrderClose (OrderTicket(),OrderLots(),ask*point,slip,col) ;
// }
}
}
// End
// ====================== Çàêðûòü SELL â ïðîôèòå ===============================
double ClossAllProfitSell ()
{
int Profit2=Slippage;
int col2=Gold;
int ask2, bid2, open2;
double point2;
for (int i2=OrdersTotal()-1; i2>=0; i2--)
{
if (!OrderSelect(i2,SELECT_BY_POS,MODE_TRADES)) break;
// if (OrderType()==OP_BUY)
// {
// point=MarketInfo(Symbol(),MODE_POINT);
// if (point==0) break;
// bid=MathRound(MarketInfo(OrderSymbol(),MODE_BID)/point);
// open=MathRound(OrderOpenPrice()/point);
// if (bid-open<Profit) continue;
// OrderClose(OrderTicket(),OrderLots(),bid*point,slip,col);
// }
if (OrderType()==OP_SELL)
{
point2=MarketInfo(Symbol(),MODE_POINT);
if (point2==0) break;
ask2=MathRound(MarketInfo(OrderSymbol(),MODE_ASK)/point2);
open2=MathRound(OrderOpenPrice()/point2);
if (open2-ask2<Profit2) continue;
OrderClose (OrderTicket(),OrderLots(),ask2*point2,Slippage,col2) ;
}
}
}
// End
//+------------------------------------------------------------------+
//| Çàêðûòü óáûòî÷íûå îðäåðà |
//+------------------------------------------------------------------+
// ====================== Çàêðûòü BUY â óáûòêå ===============================
double ClossAllLossBuy()
{
int Stop4=Slippage;
// int slip=2;
int ask4, bid4, open4;
double point4;
for (int i4=OrdersTotal()-1; i4>=0; i4--)
{
if (!OrderSelect(i4,SELECT_BY_POS,MODE_TRADES)) break;
if (OrderType()==OP_BUY)
{
point4=MarketInfo(Symbol(),MODE_POINT);
if (point4==0) break;
bid4=MathRound(MarketInfo(Symbol(),MODE_BID)/point4);
open4=MathRound(OrderOpenPrice()/point4);
if (open4-bid4<Stop4) continue;
OrderClose(OrderTicket(),OrderLots(),bid4*point4,Slippage,Red);
}
// if (OrderType()==OP_SELL)
// {
// point4=MarketInfo(Symbol(),MODE_POINT);
// if (point4==0) break;
// ask4=MathRound(MarketInfo(Symbol(),MODE_ASK)/point4);
// open4=MathRound(OrderOpenPrice()/point4);
// if (ask4-open4<Stop4) continue;
// OrderClose (OrderTicket(),OrderLots(),ask4*point4,slip,Red);
// }
}
}
// End
// ====================== Çàêðûòü SELL â óáûòêå ===============================
double ClossAllLossSell()
{
int Stop5=Slippage;
// int slip=2;
int ask5, bid5, open5;
double point5;
for (int i5=OrdersTotal()-1; i5>=0; i5--)
{
if (!OrderSelect(i5,SELECT_BY_POS,MODE_TRADES)) break;
// if (OrderType()==OP_BUY)
// {
// point5=MarketInfo(Symbol(),MODE_POINT);
// if (point5==0) break;
// bid5=MathRound(MarketInfo(Symbol(),MODE_BID)/point5);
// open5=MathRound(OrderOpenPrice()/point5);
// if (open5-bid5<Stop5) continue;
// OrderClose(OrderTicket(),OrderLots(),bid5*point5,slip,Red);
// }
if (OrderType()==OP_SELL)
{
point5=MarketInfo(Symbol(),MODE_POINT);
if (point5==0) break;
ask5=MathRound(MarketInfo(Symbol(),MODE_ASK)/point5);
open5=MathRound(OrderOpenPrice()/point5);
if (ask5-open5<Stop5) continue;
OrderClose (OrderTicket(),OrderLots(),ask5*point5,Slippage,Red);
}
}
}
// End
Comments
Markdown Formatting Guide
# H1
## H2
### H3
**bold text**
*italicized text*
[title](https://www.example.com)

`code`
```
code block
```
> blockquote
- Item 1
- Item 2
1. First item
2. Second item
---