Orders Execution
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-TFL
//+------------------------------------------------------------------+
//| e-TFL.mq4 |
//| Êèì Èãîðü Â. aka KimIV |
//| http://www.kimiv.ru |
//| |
//| 10.07.2006 Trade From Lines (òîðãîâëÿ îò ëèíèé). FreeWare. |
//+------------------------------------------------------------------+
#property copyright "Êèì Èãîðü Â. aka KimIV"
#property link "http://www.kimiv.ru"
//------- Âíåøíèå ïàðàìåòðû ñîâåòíèêà --------------------------------
extern string _P_Expert = "---------- Ïàðàìåòðû ñîâåòíèêà";
extern string esNameUpLine = "UPLine";// Íàèìåíîâàíèå âåðõíåé ëèíèè
extern string esNameDnLine = "DNLine";// Íàèìåíîâàíèå íèæíåé ëèíèè
extern bool ebBuyFromUp = False; // Ïîêóïàòü îò âåðõíåé ëèíèè
extern bool ebBuyFromDn = False; // Ïîêóïàòü îò íèæíåé ëèíèè
extern bool ebShowComment = True; // Ïîêàçûâàòü êîììåíòàðèè
extern string _P_Trade = "---------- Ïàðàìåòðû òîðãîâëè";
extern double Lots = 0.1; // Ðàçìåð òîðãóåìîãî ëîòà
extern int StopLoss = 15; // Ðàçìåð ôèêñèðîâàííîãî ñòîïà
extern int TakeProfit = 15; // Ðàçìåð ôèêñèðîâàííîãî òýéêà
extern int Slippage = 3; // Ïðîñêàëüçûâàíèå öåíû
//------- Ãëîáàëüíûå ïåðåìåííûå ñîâåòíèêà ----------------------------
string Name_Expert = "e-TFL";
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; // Ïðåäûäóùèå öåíû
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
void deinit() { if (!IsTesting()) Comment(""); }
//+------------------------------------------------------------------+
//| expert program start function |
//+------------------------------------------------------------------+
void start() {
gdUpPrice=0;
gdDnPrice=0;
if (idPriceLevel() && gdPrevAsk!=0 && gdPrevBid!=0) 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 (ebBuyFromDn) st=st+"Ïîêóïêà îò ";
else st=st+"Ïðîäàæà îò ";
st=st+DoubleToStr(gdDnPrice, Digits);
}
Comment(st);
}
if (gdUpPrice>0) gdPrevUpPrice=gdUpPrice;
if (gdDnPrice>0) gdPrevDnPrice=gdDnPrice;
gdPrevAsk=Ask;
gdPrevBid=Bid;
}
//+------------------------------------------------------------------+
//| Èäåíòèôèêàöèÿ âåðõíåãî è íèæíåãî öåíîâûõ óðîâíåé |
//+------------------------------------------------------------------+
bool idPriceLevel() {
// Âåðõíèé öåíîâîé óðîâåíü
if (ObjectFind(esNameUpLine)<0) {
gdUpPrice=0;
gdPrevUpPrice=0;
Message("Íå íàéäåíà ëèíèÿ "+esNameUpLine);
} else {
switch (ObjectType(esNameUpLine)) {
case OBJ_HLINE: gdUpPrice=ObjectGet(esNameUpLine, OBJPROP_PRICE1); break;
case OBJ_TREND: gdUpPrice=ObjectGetValueByShift(esNameUpLine, 0); break;
default: Message("Íåâåðíûé òèï ëèíèè "+esNameUpLine); break;
}
}
// Íèæíèé öåíîâîé óðîâåíü
if (ObjectFind(esNameDnLine)<0) {
gdDnPrice=0;
gdPrevDnPrice=0;
Message("Íå íàéäåíà ëèíèÿ "+esNameDnLine);
} else {
switch (ObjectType(esNameDnLine)) {
case OBJ_HLINE: gdDnPrice=ObjectGet(esNameDnLine, OBJPROP_PRICE1); break;
case OBJ_TREND: gdDnPrice=ObjectGetValueByShift(esNameDnLine, 0); break;
default: Message("Íåâåðíûé òèï ëèíèè "+esNameDnLine); break;
}
}
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)
|| (Ask<gdPrevAsk && Ask<=gdDnPrice && ebBuyFromDn)) lbBuy=True;
if ((Bid>gdPrevBid && Bid>=gdUpPrice && !ebBuyFromUp)
|| (Bid<gdPrevBid && Bid<=gdDnPrice && !ebBuyFromDn)) 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;
}
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
---