Orders Execution
Indicators Used
0
Views
0
Downloads
0
Favorites
Profitability Reports
AUD/USD
Oct 2024 - Jan 2025
61.00 %
Total Trades
68
Won Trades
0
Lost trades
0
Win Rate
0.00 %
Expected payoff
-4.14
Gross Profit
432.00
Gross Loss
-713.70
Total Net Profit
-281.70
-100%
-50%
0%
50%
100%
GBP/USD
Oct 2024 - Jan 2025
45.00 %
Total Trades
60
Won Trades
19
Lost trades
41
Win Rate
0.32 %
Expected payoff
-7.85
Gross Profit
378.00
Gross Loss
-848.70
Total Net Profit
-470.70
-100%
-50%
0%
50%
100%
TrendCapture
//+------------------------------------------------------------------+
//| Prev.mq4 |
//| Copyright © 2006, Yury V. Reshetov. |
//| http://betaexpert.narod.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, Yury V. Reshetov. ICQ: 282715499"
#property link "http://betaexpert.narod.ru"
#include <stdlib.mqh>
//---- Âõîäíûå ïàðàìåòðû
// Ìû ñîãëàñíû íà òàêóþ ïðèáûëü è íàì ÷óæîãî íå íàäî
extern double TakeProfit=180.0;
// Åñëè ìû ïðîñ÷èòàëèñü, òî òàêîé óáûòîê íàñ âïîëíå óñòðîèò
extern double StopLoss=50.0;
// Îïòèìàëüíàÿ äîëÿ íàøèõ äåíüæàò, êîòîðóþ ìû ìîæåì ïðîäóòü
// áåç ðèñêà îñòàòüñÿ áåç ïîðòêîâ
extern double MaximumRisk = 0.03;
// Çäåñü ìû áóäåì çàïîìèíàòü âðåìÿ ïîñëåäíåãî ñôîðìèðîâàâøåãîñÿ áàðà
static int prevtime = 0;
//+------------------------------------------------------------------+
//| Ïîåõàëè! |
//+------------------------------------------------------------------+
int start() {
// Äëÿ íà÷àëà íå ìåøàåò óáåäèòüñÿ, ÷òî ñôîðìèðîâàëñÿ íîâûé áàð
// Èíà÷å áðîêåð ìîæåò îòêðûòü ïîçèöèþ è âíå ðûíêà,
// òîãäà õðåí äîêàæåøü, ÷òî îò áûë íåïðàâ.
// Ê òîìó æå, èíäèêàòîðû ïðè âíóòðèáàðîâîé òîðãîâëå ìîãóò
// ìåíÿòü ïîêàçàíèÿ êàê èì óäóìàåòñÿ - ñåìü ïÿòíèö íà íåäåëå.
if (Time[0] == prevtime) return(0);
// Çàïîìíèì òåêóùèé áàð
prevtime = Time[0];
// Ñêîëüêî ïîçèöèé ó íàñ îòêðûòî?
int total = OrdersTotal();
// Íîìåð òèêåòà
int ticket = -1;
for(int cnt = 0; cnt < total; cnt++) {
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
// åñëè ýòî îòêðûòàÿ ïîçèöèÿ è èíñòðóìåíò ñîâïàäàåò
if(OrderType() <= OP_SELL && OrderSymbol() == Symbol()) {
ticket = OrderTicket();
}
}
// Åñëè åñòü óæå îòêðûòàÿ ïîçèöèÿ, òî íîâóþ îòêðûâàòü íå ñòîèò
if (ticket < 0) {
int cmd = OP_BUY;
// Ñêîëüêî ó íàñ çàêðûòûõ îðäåðîâ?
int htotal = HistoryTotal();
// Ïîêîïàåìñÿ â èñòîðèè ñ÷åòà
for(int i = 0; i < htotal; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY) == false) {
Print("Îøèáêà â èñòîðèè ñ÷åòà! Îáðàòèñü ê áðîêåðó! Ìîæåò îí óêðàë íàøè äåíåæêè è ïîäòåð ñëåäû?");
break;
}
// Åñëè îðäåð íàøåãî ñèìâîëà è îí äî çàêðûòèÿ
// íå áûë ëèìèòíûì
if ((OrderSymbol()!= Symbol()) || (OrderType() > OP_SELL))
continue;
// Åñëè îðäåð áûë çàêðûò ñ ïðèáûëüþ, òî áèøü ïî TakeProfit
if (OrderProfit() > 0) {
// Çíà÷èò ñëåäóþùàÿ ïîçèöèÿ áóäåò â òîì æå íàïðàâëåíèè
cmd = OrderType();
} else { // â ïðîòèâíîì ñëó÷àå,
// ðûíîê óæå ðàçâåðíóëñÿ
// è íàì òóäà æå
if (OrderType() == OP_SELL) {
cmd = OP_BUY;
} else {
cmd = OP_SELL;
}
}
}
// ×òî òàì øåï÷óò èíäèêàòîðû?
double sar = iSAR(NULL, 0, 0.02, 0.2, 0);
double adx = iADX(NULL, 0, 14, PRICE_CLOSE, MODE_MAIN, 0);
if (cmd == OP_BUY) { // Åñëè îòêðûâàåì äëèííóþ ïîçèöèþ
// Æäåì êîãäà òðåíä íåìíîãî ïðèïîäûìåòñÿ
// è íà ðûíêå âñå ñïîêîéíî
if ((sar < Close[0]) && (adx < 20)) {
// Ïîêóïàåì
ticket=OrderSend(Symbol(),OP_BUY, LotsOptimized(), Ask, 3, Bid - StopLoss * Point, Ask + TakeProfit * Point, "TrendCapture", 16384, 0, Blue);
// Çàïèøåì â æóðíàë, êàê îòðåàãèðîâàë áðîêåð
if(ticket > 0) {
if (OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES))
Print("Äëèííàÿ ïîçèöèÿ îòêðûòà ïî öåíå : ",OrderOpenPrice());
} else
Print(ErrorDescription(GetLastError()));
return(0);
}
} else { // Åñëè îòêðûâàåì êîðîòêóþ ïîçèöèþ
// Æäåì êîãäà òðåíä íåìíîãî ïðèñÿäåò
// è íà ðûíêå âñå ñïîêîéíî
if ((sar > Close[0]) && (adx < 20)) {
// Ïðîäàåì
ticket=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,Ask + StopLoss * Point,Bid-TakeProfit*Point,"TrendCapture",16384,0,Red);
// Çàïèøåì â æóðíàë, êàê îòðåàãèðîâàë áðîêåð
if(ticket > 0) {
if(OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES))
Print("Êîðîòêàÿ ïîçèöèÿ îòêðûòà ïî öåíå : ",OrderOpenPrice());
} else
Print(ErrorDescription(GetLastError()));
return(0);
}
}
}
// Ïðåäîõðàíèòåëü
double Guard = 5.0;
OrderSelect(ticket, SELECT_BY_TICKET, MODE_TRADES);
if(OrderType()==OP_BUY) { // äëèííàÿ îòêðûòàÿ ïîçèöèÿ
// Åñëè òåêóùàÿ öåíà ïîçâîëÿåò âûñòàâèòü ïðåäîõðàíèòåëü
if(Bid-OrderOpenPrice()>Point*Guard) {
// Åñëè çàùèòà ñòîèò â óáûòêå
if(OrderStopLoss() < OrderOpenPrice()) {
// Çà ÷òî êóïèë, çà òî è ïðîäàþ
OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice(), OrderTakeProfit(), 0, Blue);
// Âûõîäèì
return(0);
}
}
}
else // Åñëè ïîçèöèÿ êîðîòêàÿ
{
// Åñëè òåêóùàÿ öåíà ïîçâîëÿåò âûñòàâèòü ïðåäîõðàíèòåëü
if((OrderOpenPrice() - Ask) > (Point*Guard)) {
// Åñëè çàùèòà ñòîèò â óáûòêå
if(OrderStopLoss() > OrderOpenPrice()) {
// Çà ÷òî êóïèë, çà òî è ïðîäàþ
OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice(), OrderTakeProfit(), 0, Red);
// Âûõîäèì
return(0);
}
}
}
//----
return(0);
}
//+------------------------------------------------------------------+
//| Money Management |
//+------------------------------------------------------------------+
double LotsOptimized()
{
double lot = 0.1;
int losses = 0; // number of losses orders without a break
//---- select lot size
lot=NormalizeDouble(AccountFreeMargin()*MaximumRisk/1000.0,1);
//---- return lot size
if (lot > 100) lot = 100;
if(lot < 0.1) lot = 0.1;
return(lot);
}
//+----------------- Âîò è ñêàçêå çâèçäåö ----------------+
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
---