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-20PipsStop-T
//+----------------------------------------------------------------------------+
//| e-20PipsStop-T.mq4 |
//| Èäåÿ Tartan, ðåàëèçàöèÿ Êèì Èãîðü Â. aka KimIV |
//| http://www.kimiv.ru |
//| |
//| 15.10.2006 Óñòàíîâêà äâóõ ïðîòèâîïîëîæíûõ ñòîïîâûõ îðäåðîâ â 00:00 ÷àñîâ |
//| íà ðàññòîÿíèè 15-20 ïóíêòîâ îò óðîâíÿ îòêðûòèÿ íóëåâîãî áàðà. |
//| SL=10, TP=20. |
//+----------------------------------------------------------------------------+
#property copyright "Tartan & KimIV"
#property link "http://www.kimiv.ru"
#define MAGIC 20061015
//------- Âíåøíèå ïàðàìåòðû ñîâåòíèêà ------------------------------------------
extern string _P_Entrys = "---------- Ïàðàìåòðû âõîäîâ";
extern string TimeSet = "00:00"; // Âðåìÿ óñòàíîâêè îðäåðîâ
extern string TimeDel = "10:00"; // Âðåìÿ óäàëåíèÿ îðäåðîâ
extern int Distance = 15; // Ðàññòîÿíèå óñòàíîâêè îðäåðîâ
extern int StopLoss = 10; // Ðàçìåð ñòîïà
extern int TakeProfit = 20; // Ðàçìåð òåéêà
extern double Lots = 0.1; // Ðàçìåð ëîòà
extern string _P_Expert = "---------- Ïàðàìåòðû ñîâåòíèêà";
extern int NumberAccount = 0; // Íîìåð òîðãîâîãî ñ÷¸òà
extern bool UseSound = False; // Èñïîëüçîâàòü çâóêîâîé ñèãíàë
extern string NameFileSound = "expert.wav"; // Íàèìåíîâàíèå çâóêîâîãî ôàéëà
extern bool ShowComment = True; // Ïîêàçûâàòü êîììåíòàðèé
extern string _P_Trade = "---------- Ïàðàìåòðû òîðãîâëè";
extern int Slippage = 2; // Ïðîñêàëüçûâàíèå öåíû
extern int NumberOfTry = 5; // Êîëè÷åñòâî ïîïûòîê
extern int PauseAfterError = 45; // Ïàóçà ïîñëå îøèáêè â ñåêóíäàõ
//------- Ãëîáàëüíûå ïåðåìåííûå ñîâåòíèêà --------------------------------------
color clOpenBuy = LightBlue; // Öâåò îòêðûòèÿ ïîêóïêè
color clOpenSell = LightCoral; // Öâåò îòêðûòèÿ ïðîäàæè
color clModifyBuy = Aqua; // Öâåò ìîäèôèêàöèè ïîêóïêè
color clModifySell = Tomato; // Öâåò ìîäèôèêàöèè ïðîäàæè
color clCloseBuy = Blue; // Öâåò çàêðûòèÿ ïîêóïêè
color clCloseSell = Red; // Öâåò çàêðûòèÿ ïðîäàæè
string Name_Expert = "e-20PipsStop-T";// Íàèìåíîâàíèå ýêñïåðòà
datetime dtTimeDel, dtTimeSet;
//------- Ïîêëþ÷åíèå âíåøíèõ ìîäóëåé -------------------------------------------
#include <stdlib.mqh>
//+----------------------------------------------------------------------------+
//| expert initialization function |
//+----------------------------------------------------------------------------+
void init() {}
//+----------------------------------------------------------------------------+
//| expert deinitialization function |
//+----------------------------------------------------------------------------+
void deinit() { if (!IsTesting()) Comment(""); }
//+----------------------------------------------------------------------------+
//| expert start function |
//+----------------------------------------------------------------------------+
void start() {
if (!IsTesting()) {
if (NumberAccount>0 && NumberAccount!=AccountNumber()) {
Message("ÇÀÏÐÅÙÅÍÀ òîðãîâëÿ íà ñ÷¸òå "+AccountNumber());
return;
} else Comment("");
if (ShowComment) Comment(CreateComment());
}
if (Period()!=PERIOD_M15) {
Message("Ñîâåòíèêó "+Name_Expert+" íóæåí òàéìôðåéì M15");
return;
}
dtTimeSet=StrToTime(TimeToStr(Time[0], TIME_DATE)+" "+TimeSet);
dtTimeDel=StrToTime(TimeToStr(Time[0], TIME_DATE)+" "+TimeDel);
if (CurTime()>=dtTimeSet) SetOrders();
if (CurTime()>=dtTimeDel) DeleteAllOrders();
}
//+----------------------------------------------------------------------------+
//| Ôîðìèðóåò è âîçâðàùàåò áëîê êîììåíòàðèåâ |
//+----------------------------------------------------------------------------+
string CreateComment() {
string tc=
"TimeSet="+TimeSet+
" Distance="+DoubleToStr(Distance, 0)+
" StopLoss="+DoubleToStr(StopLoss, 0)+
" TakeProfit="+DoubleToStr(TakeProfit, 0)+
" Lots="+DoubleToStr(Lots, 1);
return(tc);
}
//+----------------------------------------------------------------------------+
//| Óäàëåíèå âñåõ îðäåðîâ |
//+----------------------------------------------------------------------------+
void DeleteAllOrders() {
for (int i=OrdersTotal()-1; i>=0; i--) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderMagicNumber()==MAGIC || OrderMagicNumber()==MAGIC+1) {
if (OrderSymbol()==Symbol() && OrderType()>1) OrderDelete(OrderTicket());
}
}
}
}
//+----------------------------------------------------------------------------+
//| Âîçâðàùàåò ôëàã ñóùåñòâîâàíèÿ ïîçèöèè èëè îðäåðà ïî MagicNumber |
//| Ïàðàìåòðû: |
//| mn - MagicNumber |
//+----------------------------------------------------------------------------+
bool ExistOrderByMN(int mn) {
for (int i=0; i<OrdersTotal(); i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderMagicNumber()==mn && OrderSymbol()==Symbol()) return(True);
}
}
return(False);
}
//+----------------------------------------------------------------------------+
//| Âîçâðàùàåò íàèìåíîâàíèå òàéìôðåéìà |
//+----------------------------------------------------------------------------+
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");
}
}
//+----------------------------------------------------------------------------+
//| Âîçâðàùàåò ôëàã òîðãîâ ñåãîäíÿ. |
//+----------------------------------------------------------------------------+
bool isTradeToDay() {
datetime oot;
int i, k=HistoryTotal();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
if (OrderMagicNumber()==MAGIC || OrderMagicNumber()==MAGIC+1) {
if (OrderSymbol()==Symbol()) {
oot=OrderOpenTime();
if (Day()==TimeDay(oot) && Month()==TimeMonth(oot) && Year()==TimeYear(oot)) return(True);
}
}
}
}
return(False);
}
//+----------------------------------------------------------------------------+
//| Âûâîä ñîîáùåíèÿ â êîììåíò è â æóðíàë |
//+----------------------------------------------------------------------------+
void Message(string m) {
Comment(m);
if (StringLen(m)>0) Print(m);
}
//+----------------------------------------------------------------------------+
//| Óñòàíîâêà îðäåðà |
//| Ïàðàìåòðû: |
//| op - îïåðàöèÿ |
//| pp - öåíà |
//| ldStop - óðîâåíü ñòîï |
//| ldTake - óðîâåíü òåéê |
//| mn - äîáàâêà ê ìàãèêó |
//+----------------------------------------------------------------------------+
void SetOrder(int op, double pp, double ldStop, double ldTake, int mn) {
color clOpen;
int err, it, ticket;
string lsComm=Name_Expert+" "+GetNameTF(Period());
if (op==OP_BUYLIMIT || op==OP_BUYSTOP) clOpen=clOpenBuy; else clOpen=clOpenSell;
// Lots=GetSizeLot();
for (it=1; it<=NumberOfTry; it++) {
while (!IsTradeAllowed()) Sleep(5000);
RefreshRates();
ticket=OrderSend(Symbol(),op,Lots,pp,Slippage,ldStop,ldTake,lsComm,MAGIC+mn,0,clOpen);
if (ticket>0) {
if (UseSound) PlaySound(NameFileSound); break;
} else {
err=GetLastError();
if (err==128 || err==142 || err==143 || err==144) {
Sleep(1000*PauseAfterError);
if (ExistOrderByMN(MAGIC+mn)) {
if (UseSound) PlaySound(NameFileSound); break;
}
Print("Error(",err,") set order: ",ErrorDescription(err),", try ",it);
continue;
}
if (err==146) while (IsTradeContextBusy()) Sleep(1000*PauseAfterError);
Print("Error(",err,") set order: ",ErrorDescription(err),", try ",it);
if (err==2 || err==64 || err==65 || err==4110 || err==4111) break;
Sleep(1000*PauseAfterError);
}
}
}
//+----------------------------------------------------------------------------+
//| Óñòàíîâêà îðäåðîâ |
//+----------------------------------------------------------------------------+
void SetOrders() {
double ldStop=0, ldTake=0, pp;
if (!isTradeToDay()) {
if (!ExistOrderByMN(MAGIC)) {
pp=Ask+Distance*Point;
if (StopLoss!=0) ldStop=pp-StopLoss*Point;
if (TakeProfit!=0) ldTake=pp+TakeProfit*Point;
SetOrder(OP_BUYSTOP, pp, ldStop, ldTake, 0);
}
if (!ExistOrderByMN(MAGIC+1)) {
pp=Bid-Distance*Point;
if (StopLoss!=0) ldStop=pp+StopLoss*Point;
if (TakeProfit!=0) ldTake=pp-TakeProfit*Point;
SetOrder(OP_SELLSTOP, pp, ldStop, ldTake, 1);
}
}
}
//+----------------------------------------------------------------------------+
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
---