Price Data Components
Orders Execution
Indicators Used
Miscellaneous
0
Views
0
Downloads
0
Favorites
Profitability Reports
AUD/USD
Oct 2024 - Jan 2025
0.00 %
Total Trades
0
Won Trades
0
Lost trades
0
Win Rate
0.0 %
Expected payoff
0.00
Gross Profit
0.00
Gross Loss
0.00
Total Net Profit
0.00
-100%
-50%
0%
50%
100%
GBP/USD
Oct 2024 - Jan 2025
0.00 %
Total Trades
0
Won Trades
0
Lost trades
0
Win Rate
0.0 %
Expected payoff
0.00
Gross Profit
0.00
Gross Loss
0.00
Total Net Profit
0.00
-100%
-50%
0%
50%
100%
NZD/USD
Oct 2024 - Jan 2025
0.00 %
Total Trades
0
Won Trades
0
Lost trades
0
Win Rate
0.0 %
Expected payoff
0.00
Gross Profit
0.00
Gross Loss
0.00
Total Net Profit
0.00
-100%
-50%
0%
50%
100%
e-Grabber-Murrey-v07
//+------------------------------------------------------------------+
//| e-Grabber-Murrey.mq4 |
//| v.06 |
//| 10.16.2006 Copyright © 2006, Ëóêàøóê Âèêòîð Ãåííàäüåâè÷ |
//+------------------------------------------------------------------+
/*
Ðàáîòàåò ïî ëèíèÿì ðàñïîëîæåííûì â îñíîâíîì îêíå. Äëÿ åãî ðàáîòû íåîáõîäèìî
íàëîæèòü íà ãðàôèê èíäèêàòîð Ìþððåÿ.
Ïðàâèëà ðàáîòû. Çàïóñêàåì ñîâåòíèê è âñòàâëÿåì â îêíî ãðàôèêà èíäèêàòîð Ìþððåÿ.
Íàïðèìåð Murrey_Math_MT_VG_even. Íàëè÷èå â îêíå èíäèêàòîðà Ìþððåÿ íåîáõîäèìî äëÿ
ðàáîòû. Ñîâåòíèê íàõîäèò íà ãðàôèêå ëèíèè ñ íàçâàíèÿìè "mml0", "mml2",
"mml4", "mml6", "mml8" "mml10" "mml12" âûáèðàåò òå äâå, êîòðûå ðàñïîëîæåíû
âûøå è íèæå òåêóùåãî êóðñà è ïðè ïåðåñå÷åíèè òîé èëè äðóãîé æä¸ò äâà áàðà
è îòêðûâàåò ïîçèöèþ. Ïðèìå÷àíèå: íå îáÿçàòåëüíî íàëè÷èå èíäèêàòîðà Ìþððåÿ,
âàæíî íàëè÷èå âûøåóêàçàííûõ ãîðèçîíòàëüíûõ ëèíèé.
Ëîãè÷åñêèé ïàðàìåòð "ebBuyFromUp" îáîçíà÷àåò BUY îò âåðõíåé ëèíèè.
Åñëè â ïàðàìåòðàõ ñîâåòíèêà ïîñòàâèòü ïàðàìåòð "ebBuyFromUp" ðàâíûì "FALSE",
ñîâåòíèê áóäåò îòêðûâàòü SELL îò âåðõíåé ëèíèè.
Ëîãè÷åñêèé ïàðàìåòð "ebSellFromDn" îáîçíà÷àåò SELL îò íèæíåé ëèíèè.
Åñëè â ïàðàìåòðàõ ñîâåòíèêà ïîñòàâèòü ïàðàìåòð "ebSellFromDn" ðàâíûì "FALSE",
ñîâåòíèê áóäåò îòêðûâàòü BUY îò íèæíåé ëèíèè.
Àíàëîãè÷íî ñ ïàðàìåòðàìè ñòîõàñòèêà. Åñëè "ebBuyStoch" ðàâåí "TRUE" ñäåëêà
BUY áóäåò îòêðûâàòüñÿ òîëüêî ïðè óñëîâèè, ÷òî ñèãíàëüíàÿ ëèíèÿ ñòîõàñòèêà
íèæå îñíîâíîé. Äëÿ SELL - ñèãíàëüíàÿ ëèíèÿ ñòîõàñòèêà âûøå îñíîâíîé.
Åñëè "ebBuyStoch" ðàâåí "FALSE" ñäåëêà BUY áóäåò îòêðûâàòüñÿ ïðè óñëîâèè,
÷òî ñèãíàëüíàÿ ëèíèÿ ñòîõàñòèêà âûøå îñíîâíîé.
*/
#property copyright "Copyright © 2006, lukas1"
#property link "www.alpari-idc.ru"
//
extern double Lots = 0.1; // Ðàçìåð òîðãóåìîãî ëîòà
extern int StopLoss = 33; // Ðàçìåð ôèêñèðîâàííîãî ñòîïà
extern int TakeProfit = 50; // Ðàçìåð ôèêñèðîâàííîãî òýéêà
extern int Slippage = 3; // Ïðîñêàëüçûâàíèå öåíû
//
extern bool ebBuyFromUp = FALSE; // Ïîêóïàòü îò âåðõíåé ëèíèè
extern bool ebSellFromDn = FALSE; // Ïðîäàâàòü îò íèæíåé ëèíèè
extern bool ebShowComment = TRUE; // Ïîêàçûâàòü êîììåíòàðèè
extern bool ebAdaptiveStop= FALSE; // Ðàñ÷åò TP,SL ïî óðîâíÿì
//
extern int Stoch_p1 = 15; // Ñòîõàñòèê ïåðèîä %Ê
extern int Stoch_p2 = 18; // Ñòîõàñòèê ïåðèîä %Ä
extern int Stoch_t1 = 12; // Ñòîõàñòèê çàìåäëåíèå
extern bool ebBuyStoch = TRUE; // Óñëîâèå ïî ñòîõàñòèêó
//
extern string line1_name = "mml0";
extern string line2_name = "mml2";
extern string line3_name = "mml4";
extern string line4_name = "mml6";
extern string line5_name = "mml8";
extern string line6_name = "mml10";
extern string line7_name = "mml12";
//
string esNameUpLine;// Íàèìåíîâàíèå âåðõíåé ëèíèè
string esNameDnLine;// Íàèìåíîâàíèå íèæíåé ëèíèè
//------- Ãëîáàëüíûå ïåðåìåííûå ñîâåòíèêà --
string Name_Expert = "e-Grabber-Murrey";
bool UseSound = True; // Èñïîëüçîâàòü çâóêîâîé ñèãíàë
string NameFileSound = "expert.wav"; // Íàèìåíîâàíèå çâóêîâîãî ôàéëà
color clOpenBuy = LightBlue; // Öâåò çíà÷êà îòêðûòèÿ ïîêóïêè
color clOpenSell = LightCoral; // Öâåò çíà÷êà îòêðûòèÿ ïðîäàæè
color clCloseBuy = Blue; // Öâåò çíà÷êà çàêðûòèÿ ïîêóïêè
color clCloseSell = Red; // Öâåò çíà÷êà çàêðûòèÿ ïðîäàæè
double gdUpPrice, gdDnPrice; // Òåêóùèå öåíîâûå óðîâíè
double gdPrevUpPrice, gdPrevDnPrice; // Ïðåäûäóùèå öåíîâûå óðîâíè
double gdPrevAsk, gdPrevBid; // Ïðåäûäóùèå öåíû
double gdPrev2Ask, gdPrev2Bid; // Ïðåäûäóùèå öåíû
int obj_total;
double line1_price,line2_price,line3_price,line4_price,line5_price;
double line6_price,line7_price,line8_price,line9_price,line10_price;
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
void deinit() { if (!IsTesting()) Comment(""); }
//+------------------------------------------------------------------+
//| expert program start function |
//+------------------------------------------------------------------+
void start()
{
obj_total=ObjectsTotal(OBJ_HLINE); // êîë-âî ãîðèç ëèíèé íà ãðàôèêå
line1_price = ObjectGet(line1_name,OBJPROP_PRICE1);
line2_price = ObjectGet(line2_name,OBJPROP_PRICE1);
line3_price = ObjectGet(line3_name,OBJPROP_PRICE1);
line4_price = ObjectGet(line4_name,OBJPROP_PRICE1);
line5_price = ObjectGet(line5_name,OBJPROP_PRICE1);
line6_price = ObjectGet(line6_name,OBJPROP_PRICE1);
line7_price = ObjectGet(line7_name,OBJPROP_PRICE1);
// Âû÷èñëèòü gdUpPrice è ðàñïîçíàòü
// êàêàÿ ëèíèÿ íàæîäèòñÿ íà ýòîì óðîâíå
gdUpPrice=line2_price; esNameUpLine="mml2";
if (line2_price<Ask) {gdUpPrice=line3_price; esNameUpLine="mml4";}
if (line3_price<Ask) {gdUpPrice=line4_price; esNameUpLine="mml6";}
if (line4_price<Ask) {gdUpPrice=line5_price; esNameUpLine="mml8";}
if (line5_price<Ask) {gdUpPrice=line6_price; esNameUpLine="mml10";}
if (line6_price<Ask) {gdUpPrice=line7_price; esNameUpLine="mml12";}
// Âû÷èñëèòü gdDnPrice è ðàñïîçíàòü
// êàêàÿ ëèíèÿ íàæîäèòñÿ íà ýòîì óðîâíå
gdDnPrice=line6_price; esNameDnLine="mml10";// Òåêóùèå öåíîâûå óðîâíè
if (line6_price>Bid) {gdDnPrice=line5_price; esNameDnLine="mml8";}
if (line5_price>Bid) {gdDnPrice=line4_price; esNameDnLine="mml6";}
if (line4_price>Bid) {gdDnPrice=line3_price; esNameDnLine="mml4";}
if (line3_price>Bid) {gdDnPrice=line2_price; esNameDnLine="mml2";}
if (line2_price>Bid) {gdDnPrice=line1_price; esNameDnLine="mml0";}
//if (idRightCondition() && gdPrevAsk!=0 && gdPrevBid!=0) // gdPrevAsk è gdPrevBid
if (idRightCondition()) // gdPrevAsk è gdPrevBid
OpenPositions();
if (ebShowComment)
{
string st="";
if (gdUpPrice==0) st="Íå îïðåäåë¸í âåðõíèé öåíîâîé óðîâåíü\n";
/*else {
if (ebBuyFromUp) st="Ïîêóïêà îò ";
else st="Ïðîäàæà îò ";
st=st+DoubleToStr(gdUpPrice, Digits)+"\n";
}*/
if (gdDnPrice==0) st=st+"Íå îïðåäåë¸í íèæíèé öåíîâîé óðîâåíü";
/*else {
if (ebSellFromDn) st=st+"Ïðîäàæà îò ";
else st=st+"Ïîêóïêà îò ";
st=st+DoubleToStr(gdDnPrice, Digits);
}*/
Comment(st);
//Comment(st);
}
if (gdUpPrice>0) gdPrevUpPrice=gdUpPrice;
if (gdDnPrice>0) gdPrevDnPrice=gdDnPrice;
//gdPrevAsk=Ask;
//gdPrevBid=Bid;
}
//+------------------------------------------------------------------+
//| Èäåíòèôèêàöèÿ ïðàâèëüíûõ öåíîâûõ óðîâíåé |
//+------------------------------------------------------------------+
bool idRightCondition() { // ñóùåñòâîâàíèå îáîèõ öåíîâûõ óðîâíåé
double cur; // òåêóùàÿ öåíà ëèíèè äëÿ ðàñ÷åòà UP
// òèïè÷íàÿ ïðîâåðêà
// Âåðõíèé öåíîâîé óðîâåíü
if (ObjectFind(esNameUpLine)<0) // åñëè íå íàõîäèì ëèíèþ ñ òàêèì èìåíåì
{
gdUpPrice=0;
gdPrevUpPrice=0;
Message("Íå íàéäåíà ëèíèÿ "+esNameUpLine);
} else
{
gdUpPrice=ObjectGet(esNameUpLine, OBJPROP_PRICE1);
}
// Íèæíèé öåíîâîé óðîâåíü
if (ObjectFind(esNameDnLine)<0) // åñëè íå íàõîäèì ëèíèþ ñ òàêèì èìåíåì
{
gdDnPrice=0;
gdPrevDnPrice=0;
Message("Íå íàéäåíà ëèíèÿ "+esNameDnLine);
} else
{
gdDnPrice=ObjectGet(esNameDnLine, OBJPROP_PRICE1);
}
/*
if (gdUpPrice<gdPrevBid && gdUpPrice>0) {
gdUpPrice=0;
Message("Âåðõíÿÿ ëèíèÿ "+esNameUpLine+" ðàñïîëîæåíà íèæå ðûíêà");
}
if (gdDnPrice>gdPrevAsk && gdPrevAsk>0) {
gdDnPrice=0;
Message("Íèæíÿÿ ëèíèÿ "+esNameDnLine+" ðàñïîëîæåíà âûøå ðûíêà");
}
*/
if (gdUpPrice!=gdPrevUpPrice || gdDnPrice!=gdPrevDnPrice
|| gdPrevUpPrice==0 || gdPrevDnPrice==0
|| gdUpPrice==0 || gdUpPrice==0) return(False);
else return(True);
}
//+------------------------------------------------------------------+
//| Îòêðûòèå ïîçèöèè |
//+------------------------------------------------------------------+
void OpenPositions() {
bool lbBuy=False, lbSell=False;
double ldStop=0, ldTake=0;
/*if ((Ask>gdPrevAsk && Ask>=gdUpPrice && ebBuyFromUp)
|| (Bid<gdPrevBid && Bid<=gdDnPrice && !ebSellFromDn)) lbBuy=True;
if ((Bid>gdPrevBid && Bid>=gdUpPrice && !ebBuyFromUp)
|| (Ask<gdPrevAsk && Ask<=gdDnPrice && ebSellFromDn)) lbSell=True; */
if ((iClose(Symbol(),0,4) < gdDnPrice && iClose(Symbol(),0,3) < gdDnPrice &&
iClose(Symbol(),0,2) > gdDnPrice && iClose(Symbol(),0,1) > gdDnPrice &&
iStochastic(Symbol(),0,Stoch_p1,Stoch_p2,Stoch_t1,0,0,ebBuyStoch,0) >
iStochastic(Symbol(),0,Stoch_p1,Stoch_p2,Stoch_t1,0,0,!ebBuyStoch,0) &&
ebBuyFromUp)
|| (iClose(Symbol(),0,4) > gdUpPrice && iClose(Symbol(),0,3) > gdUpPrice &&
iClose(Symbol(),0,2) < gdUpPrice && iClose(Symbol(),0,1) < gdUpPrice &&
iStochastic(Symbol(),0,Stoch_p1,Stoch_p2,Stoch_t1,0,0,ebBuyStoch,0) <
iStochastic(Symbol(),0,Stoch_p1,Stoch_p2,Stoch_t1,0,0,!ebBuyStoch,0) &&
!ebSellFromDn)) lbBuy=True;
if ((iClose(Symbol(),0,4) > gdUpPrice && iClose(Symbol(),0,3) > gdUpPrice &&
iClose(Symbol(),0,2) < gdUpPrice && iClose(Symbol(),0,1) < gdUpPrice &&
iStochastic(Symbol(),0,Stoch_p1,Stoch_p2,Stoch_t1,0,0,ebBuyStoch,0) <
iStochastic(Symbol(),0,Stoch_p1,Stoch_p2,Stoch_t1,0,0,!ebBuyStoch,0) &&
ebSellFromDn)
|| (iClose(Symbol(),0,4) < gdDnPrice && iClose(Symbol(),0,3) < gdDnPrice &&
iClose(Symbol(),0,2) > gdDnPrice && iClose(Symbol(),0,1) > gdDnPrice &&
iStochastic(Symbol(),0,Stoch_p1,Stoch_p2,Stoch_t1,0,0,ebBuyStoch,0) >
iStochastic(Symbol(),0,Stoch_p1,Stoch_p2,Stoch_t1,0,0,!ebBuyStoch,0) &&
!ebBuyFromUp)) lbSell=True;
if (lbBuy) {
if (ExistPositionByOP(OP_SELL)) CloseAllPositions();
if (!ExistPositionByOP(OP_BUY)) {
if (StopLoss!=0) ldStop=Ask-StopLoss*Point;
if (TakeProfit!=0) ldTake=Ask+TakeProfit*Point;
OpenPosition(OP_BUY, ldStop, ldTake);
}
}
if (lbSell) {
if (ExistPositionByOP(OP_BUY)) CloseAllPositions();
if (!ExistPositionByOP(OP_SELL)) {
if (StopLoss!=0) ldStop=Bid+StopLoss*Point;
if (TakeProfit!=0) ldTake=Bid-TakeProfit*Point;
OpenPosition(OP_SELL, ldStop, ldTake);
}
}
}
//+------------------------------------------------------------------+
//| Âîçâðàùàåò ôëàã ñóùåñòâîâàíèÿ ïîçèöèè ïî îïåðàöèè |
//+------------------------------------------------------------------+
bool ExistPositionByOP(int op) {
for (int i=0; i<OrdersTotal(); i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==Symbol() && OrderType()==op)
return(True);
}
}
return(False);
}
//+------------------------------------------------------------------+
//| Îòêðûòèå ïîçèöèè ïî òåêóùåé öåíå |
//| Ïàðàìåòðû: op - îïåðàöèÿ |
//| ldStop - óðîâåíü ñòîï |
//| ldTake - óðîâåíü òåéê |
//+------------------------------------------------------------------+
void OpenPosition(int op, double ldStop, double ldTake)
{
color clOpen;
double pp;
string lsComm=GetCommentForOrder();
if (op==OP_BUY)
{
clOpen=clOpenBuy;
pp=Ask;
} else {
clOpen=clOpenSell;
pp=Bid;
}
if (ebAdaptiveStop)
{
if (op==OP_BUY)
{
ldTake=gdUpPrice;
ldStop=gdDnPrice;
} else {
ldTake=gdDnPrice;
ldStop=gdUpPrice;
}
}
OrderSend(Symbol(),op,Lots,pp,Slippage,ldStop,ldTake,lsComm,0,0,clOpen);
if (UseSound) PlaySound(NameFileSound);
}
//+------------------------------------------------------------------+
//| Ãåíåðèðóåò è âîçâðàùàåò ñòðîêó êîìåíòàðèÿ äëÿ îðäåðà èëè ïîçèöèè |
//+------------------------------------------------------------------+
string GetCommentForOrder() {
return(Name_Expert+" "+GetNameTF(Period()));
}
//+------------------------------------------------------------------+
//| Âîçâðàùàåò íàèìåíîâàíèå òàéìôðåéìà |
//+------------------------------------------------------------------+
string GetNameTF(int TimeFrame) {
switch (TimeFrame) {
case PERIOD_M1: return("M1");
case PERIOD_M5: return("M5");
case PERIOD_M15: return("M15");
case PERIOD_M30: return("M30");
case PERIOD_H1: return("H1");
case PERIOD_H4: return("H4");
case PERIOD_D1: return("Daily");
case PERIOD_W1: return("Weekly");
case PERIOD_MN1: return("Monthly");
default: return("UnknownPeriod");
}
}
//+------------------------------------------------------------------+
//| Çàêðûòèå âñåõ ïîçèöèé ïî ðûíî÷íîé öåíå |
//+------------------------------------------------------------------+
void CloseAllPositions() {
for (int i=OrdersTotal()-1; i>=0; i--) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==Symbol()) {
if (OrderType()==OP_BUY) {
OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, clCloseBuy);
}
if (OrderType()==OP_SELL) {
OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, clCloseSell);
}
}
}
}
}
//+------------------------------------------------------------------+
//| Âûâîä ñîîáùåíèÿ â êîììåíò è â æóðíàë |
//+------------------------------------------------------------------+
void Message(string m) {
Comment(m);
if (StringLen(m)>0) Print(m);
}
//+------------------------------------------------------------------+
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
---