Orders Execution
Indicators Used
0
Views
0
Downloads
0
Favorites
Profitability Reports
AUD/USD
Oct 2024 - Jan 2025
61.00 %
Total Trades
36
Won Trades
0
Lost trades
0
Win Rate
0.00 %
Expected payoff
-1.21
Gross Profit
68.80
Gross Loss
-112.30
Total Net Profit
-43.50
-100%
-50%
0%
50%
100%
GBP/USD
Oct 2024 - Jan 2025
11.00 %
Total Trades
39
Won Trades
1
Lost trades
38
Win Rate
0.03 %
Expected payoff
-3.79
Gross Profit
18.80
Gross Loss
-166.70
Total Net Profit
-147.90
-100%
-50%
0%
50%
100%
NZD/USD
Oct 2024 - Jan 2025
36.00 %
Total Trades
50
Won Trades
7
Lost trades
43
Win Rate
0.14 %
Expected payoff
-2.24
Gross Profit
62.90
Gross Loss
-174.90
Total Net Profit
-112.00
-100%
-50%
0%
50%
100%
fractalsusdjpy_190
//+-----------------------------------------------------------------------+
//| Fractals.mq4 |
//| Copyright © 2005, PavMiGor. |
//| pavmigor@yandex.ru |
//+-----------------------------------------------------------------------+
#property copyright "Copyright © 2005, PavMiGor"
#property link "pavmigor@yandex.ru"
//+-----------------------------------------------------------------------+
//| Âíåøíèå ïàðàìåòû |
//+-----------------------------------------------------------------------+
extern double Lots=0.1;
extern int MaxOrders=2, TrailingStop=24, LimitLoss=39, Step=20, PerADX=20;
extern double MinADX=23;
datetime TimeUp=0, TimeDown=0;
//+-----------------------------------------------------------------------+
//| Ïîåõàëè |
//+-----------------------------------------------------------------------+
int start()
{
int i, total, NLong, NShot, Spread, Level, LotPrice, Leverage;
double FractalUp, FractalDown, DiPlus, DiMinus, ADX;
double StopLoss, TakeProfit, Price, MinLot, Ticket;
datetime HalfLife, Life;
Leverage= 100;
HalfLife= PerADX*3600;
Spread= MarketInfo(Symbol(),MODE_SPREAD);
MinLot= MarketInfo(Symbol(),MODE_MINLOT)/100;
Level= MarketInfo(Symbol(),MODE_STOPLEVEL);
LotPrice= MarketInfo(Symbol(),MODE_LOTSIZE)/Leverage;
FractalUp= iFractals(NULL,0,MODE_UPPER,3);
FractalDown=iFractals(NULL,0,MODE_LOWER,3);
DiPlus= iADX(NULL,0,PerADX,PRICE_CLOSE,MODE_PLUSDI,0);
DiMinus= iADX(NULL,0,PerADX,PRICE_CLOSE,MODE_MINUSDI,0);
ADX= iADX(NULL,0,PerADX,PRICE_CLOSE,MODE_MAIN,0);
if(Lots<MinLot || TrailingStop<Level || Step<Level) return(0);
//+-----------------------------------------------------------------------+
//| Êîíòðîëü ïîçèöèé |
//+-----------------------------------------------------------------------+
total=OrdersTotal(); NLong=0; NShot=0;
for(i=0;i<total;i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderType()==OP_BUYSTOP && OrderSymbol()==Symbol()) NLong++;
if(OrderType()==OP_BUY && OrderSymbol()==Symbol())
{
NLong++;
if(OrderOpenTime()<Time[0])
{
if(Bid-OrderOpenPrice()>(TrailingStop+Step)*Point &&
OrderStopLoss()<Bid-(TrailingStop+Step)*Point)
{
StopLoss=Bid-TrailingStop*Point;
OrderModify(OrderTicket(),OrderOpenPrice(),StopLoss,OrderTakeProfit(),0,Orange);
Sleep(10000); return(0);
}
if(OrderTakeProfit()-Bid<=Step*Point)
{
TakeProfit=Bid+2*Step*Point;
OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),TakeProfit,0,Lime);
Sleep(10000); return(0);
}
}
}
if(OrderType()==OP_SELLSTOP && OrderSymbol()==Symbol()) NShot++;
if(OrderType()==OP_SELL && OrderSymbol()==Symbol())
{
NShot++;
if(OrderOpenTime()<Time[0])
{
if(OrderOpenPrice()-Ask>(TrailingStop+Step)*Point &&
OrderStopLoss()>Ask+(TrailingStop+Step)*Point)
{
StopLoss=Ask+TrailingStop*Point;
OrderModify(OrderTicket(),OrderOpenPrice(),StopLoss,OrderTakeProfit(),0,Orange);
Sleep(10000); return(0);
}
if(Ask-OrderTakeProfit()<=Step*Point)
{
TakeProfit=Ask-2*Step*Point;
OrderModify(OrderTicket(),OrderOpenPrice(),OrderStopLoss(),TakeProfit,0,Lime);
Sleep(10000); return(0);
}
}
}
}
//+-----------------------------------------------------------------------+
//| Îòêðûòèå ïîçèöèé |
//+-----------------------------------------------------------------------+
if(AccountFreeMargin()<LotPrice*Lots*1.5) return(0);
if(FractalUp==High[3] && DiPlus>=MinADX && ADX>=MinADX &&
DiPlus>DiMinus && NLong<MaxOrders && TimeUp<Time[0])
{
Price=High[3]+Spread*Point; Life=Time[0]+HalfLife;
StopLoss=MathMin(Low[4],Low[5]); TakeProfit=High[3]+Step*Point;
if(Price-Ask<Level*Point)
{
if(Bid-StopLoss>TakeProfit-Bid) TakeProfit=Bid+(Bid-StopLoss)+Step*Point;
if(Bid-StopLoss<Level*Point) StopLoss=Bid-Level*Point;
if(TakeProfit-Bid<(Level+Step)*Point) TakeProfit=Bid+(Level+Step)*Point;
if(Bid-StopLoss>LimitLoss*Point) StopLoss=Bid-LimitLoss*Point;
Ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,StopLoss,TakeProfit,"FractalUpBuy",0,0,Blue);
if(Ticket<0) {Sleep(10000); return(0);}
TimeUp=Time[0]; Sleep(10000); return(0);
}
if(Price-Ask>=Level*Point)
{
if(Price-StopLoss>TakeProfit-Price) TakeProfit=Price+(Price-StopLoss)+Step*Point;
if(Price-StopLoss<Level*Point) StopLoss=Price-Level*Point;
if(TakeProfit-Price<(Level+Step)*Point) TakeProfit=Price+(Level+Step)*Point;
if(Price-StopLoss>LimitLoss*Point) StopLoss=Price-LimitLoss*Point;
Ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots,Price,3,StopLoss,TakeProfit,"FractalUpBuyStop",0,Life,Blue);
if(Ticket<0) {Sleep(10000); return(0);}
TimeUp=Time[0]; Sleep(10000); return(0);
}
}
if(FractalDown==Low[3] && DiMinus>=MinADX && ADX>=MinADX &&
DiMinus>DiPlus && NShot<MaxOrders && TimeDown<Time[0])
{
Price=Low[3]; Life=Time[0]+HalfLife;
StopLoss=MathMax(High[4],High[5])+Spread*Point; TakeProfit=Low[3]+(Spread-Step)*Point;
if(Bid-Price<Level*Point)
{
if(StopLoss-Ask>Ask-TakeProfit) TakeProfit=Ask-(StopLoss-Ask)-Step*Point;
if(StopLoss-Ask<Level*Point) StopLoss=Ask+Level*Point;
if(Ask-TakeProfit<(Level+Step)*Point) TakeProfit=Ask-(Level-Step)*Point;
if(StopLoss-Ask>LimitLoss*Point) StopLoss=Ask+LimitLoss*Point;
Ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,StopLoss,TakeProfit,"FractalDownSell",0,0,Red);
if(Ticket<0) {Sleep(10000); return(0);}
TimeDown=Time[0]; Sleep(10000); return(0);
}
if(Bid-Price>=Level*Point)
{
if(StopLoss-Price>Price-TakeProfit) TakeProfit=Price-(StopLoss-Price)-Step*Point;
if(StopLoss-Price<Level*Point) StopLoss=Price+Level*Point;
if(Price-TakeProfit<(Level+Step)*Point) TakeProfit=Price-(Level-Step)*Point;
if(StopLoss-Price>LimitLoss*Point) StopLoss=Price+LimitLoss*Point;
Ticket=OrderSend(Symbol(),OP_SELLSTOP,Lots,Price,3,StopLoss,TakeProfit,"FractalDownSellStop",0,Life,Red);
if(Ticket<0) {Sleep(10000); return(0);}
TimeDown=Time[0]; Sleep(10000); return(0);
}
}
return(0);
}
/* /\ /\ /\ /\
//\\ //\\ //\\ //\\
///\\\ ///\\\ ///\\\ ///\\\
/// \\\ /\ /// \\\\\\ \\\/// /// /\ /// /\ /\
/// /////\\\\\ ////// ///\\\ \\\ \/ /// //\\ /\ //\\ ///
///\ //////\\\\\\ ////// \\\/// \\\\\\\\\///\\\ //\\ ///\\\///
///\\\////// \\\\\\ ////// \\// \\\\\\\\\ //////\\\\\\ \\//
/// \\///////\\\\\\\\////// \/ \\\\\\\\\/// \\\////// \/
/// \//// \\\\\///// \\\\\\\\// \\/////
\\\ \\\ /// \/ \\\ ////// \/ \////the end.*/
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
---