Price Data Components
Orders Execution
Miscellaneous
0
Views
0
Downloads
0
Favorites
Profitability Reports
AUD/USD
Oct 2024 - Jan 2025
0.00 %
Total Trades
70
Won Trades
0
Lost trades
0
Win Rate
0.00 %
Expected payoff
-1.50
Gross Profit
0.00
Gross Loss
-105.00
Total Net Profit
-105.00
-100%
-50%
0%
50%
100%
GBP/USD
Oct 2024 - Jan 2025
20.00 %
Total Trades
76
Won Trades
6
Lost trades
70
Win Rate
0.08 %
Expected payoff
-1.11
Gross Profit
20.50
Gross Loss
-105.00
Total Net Profit
-84.50
-100%
-50%
0%
50%
100%
NZD/USD
Oct 2024 - Jan 2025
0.00 %
Total Trades
69
Won Trades
0
Lost trades
69
Win Rate
0.00 %
Expected payoff
-1.50
Gross Profit
0.00
Gross Loss
-103.50
Total Net Profit
-103.50
-100%
-50%
0%
50%
100%
E-news-lucky$_v1
//+------------------------------------------------------------------+
//| e-News-Lucky$.mq4 |
//| Lucky$ & KimIV |
//| http://www.kimiv.ru |
//| |
//| 24.10.2005 |
//| Âûñòàâëåíèå îðäåðîâ â îïðåäåë¸ííîå âðåìÿ íà ïðîáîé äèàïàçîíà. |
//| Åñëè íè îäèí îðäåð íå ñðàáîòàë, òî ìîäèôèêàöèÿ íà êàæäîì áàðå. |
//+------------------------------------------------------------------+
#property copyright "Lucky$ & KimIV"
#property link "http://www.kimiv.ru"
//----
#define MAGIC 20051024
//------- Âíåøíèå ïàðàìåòðû ñîâåòíèêà --------------------------------
extern string _Parameters_Trade="----- Ïàðàìåòðû òîðãîâëè";
extern double Lots =0.1; // Ðàçìåð òîðãóåìîãî ëîòà
extern int StopLoss =15; // Ðàçìåð ôèêñèðîâàííîãî ñòîïà
extern int TakeProfit =0; // Ðàçìåð ôèêñèðîâàííîãî òýéêà
extern string TimeSetOrders ="10:30"; // Âðåìÿ óñòàíîâêè îðäåðîâ
extern string TimeDelOrders ="22:30"; // Âðåìÿ óäàëåíèÿ îðäåðîâ
extern int DistanceSet =20; // Ðàññòîÿíèå îò ðûíêà
extern bool UseTrailing =True; // Èñïîëüçîâàòü òðàë
extern bool ProfitTrailing=True; // Òðàëèòü òîëüêî ïðîôèò
extern int TrailingStop =25; // Ôèêñèðîâàííûé ðàçìåð òðàëà
extern int TrailingStep =5; // Øàã òðàëà
extern int Slippage =3; // Ïðîñêàëüçûâàíèå öåíû
//----
extern string _Parameters_Expert="----- Ïàðàìåòðû ñîâåòíèêà";
extern bool UseOneAccount=False; // Òîðãîâàòü òîëüêî íà îäíîì ñ÷¸òå
extern int NumberAccount=11111; // Íîìåð òîðãîâîãî ñ÷¸òà
extern string Name_Expert ="e-News-Lucky$";
extern bool UseSound =True; // Èñïîëüçîâàòü çâóêîâîé ñèãíàë
extern string NameFileSound="expert.wav"; // Íàèìåíîâàíèå çâóêîâîãî ôàéëà
extern color clOpenBuy =LightBlue; // Öâåò îòêðûòèÿ ïîêóïêè
extern color clOpenSell =LightCoral; // Öâåò îòêðûòèÿ ïðîäàæè
extern color clModifyBuy =Aqua; // Öâåò ìîäèôèêàöèè ïîêóïêè
extern color clModifySell =Tomato; // Öâåò ìîäèôèêàöèè ïðîäàæè
extern color clCloseBuy =Blue; // Öâåò çàêðûòèÿ ïîêóïêè
extern color clCloseSell =Red; // Öâåò çàêðûòèÿ ïðîäàæè
//---- Ãëîáàëüíûå ïåðåìåííûå ñîâåòíèêà -------------------------------
int prevBar;
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
void deinit()
{
Comment("");
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
void start()
{
if (TimeToStr(CurTime(), TIME_MINUTES)==TimeSetOrders) SetOrders();
if (prevBar!=Bars && ExistOrder(1) && ExistOrder(2)) ModifyOrders();
DeleteOppositeOrders();
TrailingPositions();
if (TimeToStr(CurTime(), TIME_MINUTES)==TimeDelOrders)
{
DeleteAllOrders();
CloseAllPositions();
}
prevBar=Bars;
}
//+------------------------------------------------------------------+
//| Óñòàíîâêà îðäåðîâ |
//+------------------------------------------------------------------+
void SetOrders()
{
double ldStop=0, ldTake=0;
int spr=MarketInfo(Symbol(), MODE_SPREAD);
double pAsk=Ask+(DistanceSet+spr)*Point;
double pBid=Bid-DistanceSet*Point;
//----
if (!ExistOrder(1))
{
if (StopLoss!=0) ldStop=pAsk-StopLoss*Point;
if (TakeProfit!=0) ldTake=pAsk+TakeProfit*Point;
SetOrder(OP_BUYSTOP, pAsk, ldStop, ldTake, 1);
}
if (!ExistOrder(2))
{
if (StopLoss!=0) ldStop=pBid+StopLoss*Point;
if (TakeProfit!=0) ldTake=pBid-TakeProfit*Point;
SetOrder(OP_SELLSTOP, pBid, ldStop, ldTake, 2);
}
}
//+------------------------------------------------------------------+
//| Ìîäèôèêàöèÿ îðäåðîâ |
//+------------------------------------------------------------------+
void ModifyOrders()
{
bool fm;
double ldStop=0, ldTake=0;
int spr=MarketInfo(Symbol(), MODE_SPREAD);
double pAsk=Ask+(DistanceSet+spr)*Point;
double pBid=Bid-DistanceSet*Point;
//----
for(int i=0; i<OrdersTotal(); i++)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC+1)
{
if (StopLoss!=0) ldStop=pAsk-StopLoss*Point;
if (TakeProfit!=0) ldTake=pAsk+TakeProfit*Point;
OrderModify(OrderTicket(), pAsk, ldStop, ldTake, 0, clModifyBuy);
}
if (OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC+2)
{
if (StopLoss!=0) ldStop=pBid+StopLoss*Point;
if (TakeProfit!=0) ldTake=pBid-TakeProfit*Point;
OrderModify(OrderTicket(), pBid, ldStop, ldTake, 0, clModifySell);
}
}
}
}
//+------------------------------------------------------------------+
//| Âîçâðàùàåò ôëàã ñóùåñòâîâàíèÿ îðäåðà èëè ïîçèöèè ïî íîìåðó |
//+------------------------------------------------------------------+
bool ExistOrder(int mn)
{
bool Exist=False;
for(int i=0; i<OrdersTotal(); i++)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC+mn)
{
Exist=True; break;
}
}
}
return(Exist);
}
//+------------------------------------------------------------------+
//| Âîçâðàùàåò ôëàã ñóùåñòâîâàíèÿ ïîçèöèè ïî íîìåðó |
//+------------------------------------------------------------------+
bool ExistPosition(int mn)
{
bool Exist=False;
for(int i=0; i<OrdersTotal(); i++)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC+mn)
{
if (OrderType()==OP_BUY || OrderType()==OP_SELL)
{
Exist=True; break;
}
}
}
}
return(Exist);
}
//+------------------------------------------------------------------+
//| Óñòàíîâêà îðäåðà |
//| Ïàðàìåòðû: |
//| op - îïåðàöèÿ |
//| pp - öåíà |
//| ldStop - óðîâåíü ñòîï |
//| ldTake - óðîâåíü òåéê |
//| mn - äîáàâèòü ê MAGIC |
//+------------------------------------------------------------------+
void SetOrder(int op, double pp, double ldStop, double ldTake, int mn)
{
color clOpen;
string lsComm=GetCommentForOrder();
//----
if (op==OP_BUYSTOP) clOpen=clOpenBuy;
else clOpen=clOpenSell;
OrderSend(Symbol(),op,Lots,pp,Slippage,ldStop,ldTake,lsComm,MAGIC+mn,0,clOpen);
if (UseSound) PlaySound(NameFileSound);
}
//+------------------------------------------------------------------+
//| Ãåíåðèðóåò è âîçâðàùàåò ñòðîêó êîìåíòàðèÿ äëÿ îðäåðà èëè ïîçèöèè |
//+------------------------------------------------------------------+
string GetCommentForOrder()
{
return(Name_Expert);
}
//+------------------------------------------------------------------+
//| Óäàëåíèå âñåõ îðäåðîâ |
//+------------------------------------------------------------------+
void DeleteAllOrders()
{
bool fd;
for(int i=OrdersTotal()-1; i>=0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderMagicNumber()>MAGIC && OrderMagicNumber()<=MAGIC+2)
{
if (OrderSymbol()==Symbol())
{
if (OrderType()==OP_BUYSTOP || OrderType()==OP_SELLSTOP)
{
fd=OrderDelete(OrderTicket());
if (fd && UseSound) PlaySound(NameFileSound);
}
}
}
}
}
}
//+------------------------------------------------------------------+
//| Çàêðûòèå âñåõ ïîçèöèé ïî ðûíî÷íîé öåíå |
//+------------------------------------------------------------------+
void CloseAllPositions()
{
bool fc;
for(int i=OrdersTotal()-1; i>=0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderMagicNumber()>MAGIC && OrderMagicNumber()<=MAGIC+2)
{
if (OrderSymbol()==Symbol())
{
fc=False;
if (OrderType()==OP_BUY)
{
fc=OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, clCloseBuy);
}
if (OrderType()==OP_SELL)
{
fc=OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, clCloseSell);
}
if (fc && UseSound) PlaySound(NameFileSound);
}
}
}
}
}
//+------------------------------------------------------------------+
//| Óäàëåíèå ïðîòèâîïîëîæíûõ îðäåðîâ |
//+------------------------------------------------------------------+
void DeleteOppositeOrders()
{
bool fd, fep1, fep2;
//----
fep1=ExistPosition(1);
fep2=ExistPosition(2);
//----
for(int i=OrdersTotal()-1; i>=0; i--)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderSymbol()==Symbol())
{
fd=False;
if (OrderType()==OP_BUYSTOP && OrderMagicNumber()==MAGIC+1)
{
if (fep2) fd=OrderDelete(OrderTicket());
}
if (OrderType()==OP_SELLSTOP && OrderMagicNumber()==MAGIC+2)
{
if (fep1) fd=OrderDelete(OrderTicket());
}
if (fd && UseSound) PlaySound(NameFileSound);
}
}
}
}
//+------------------------------------------------------------------+
//| Ñîïðîâîæäåíèå ïîçèöèè ïðîñòûì òðàëîì |
//+------------------------------------------------------------------+
void TrailingPositions()
{
for(int i=0; i<OrdersTotal(); i++)
{
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderMagicNumber()>MAGIC && OrderMagicNumber()<=MAGIC+2)
{
if (OrderSymbol()==Symbol())
{
if (OrderType()==OP_BUY)
{
if (!ProfitTrailing || (Bid-OrderOpenPrice())>TrailingStop*Point)
{
if (OrderStopLoss()<Bid-(TrailingStop+TrailingStep-1)*Point)
{
ModifyStopLoss(Bid-TrailingStop*Point, clModifyBuy);
}
}
}
if (OrderType()==OP_SELL)
{
if (!ProfitTrailing || OrderOpenPrice()-Ask>TrailingStop*Point)
{
if (OrderStopLoss()>Ask+(TrailingStop+TrailingStep-1)*Point || OrderStopLoss()==0)
{
ModifyStopLoss(Ask+TrailingStop*Point, clModifySell);
}
}
}
}
}
}
}
}
//+------------------------------------------------------------------+
//| Ïåðåíîñ óðîâíÿ StopLoss |
//| Ïàðàìåòðû: |
//| ldStopLoss - óðîâåíü StopLoss |
//| clModify - öâåò ìîäèôèêàöèè |
//+------------------------------------------------------------------+
void ModifyStopLoss(double ldStop, color clModify)
{
bool fm;
double ldOpen=OrderOpenPrice();
double ldTake=OrderTakeProfit();
//----
fm=OrderModify(OrderTicket(), ldOpen, ldStop, ldTake, 0, clModify);
if (fm && UseSound) PlaySound(NameFileSound);
}
//+------------------------------------------------------------------+
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
---