Price Data Components
Orders Execution
0
Views
0
Downloads
0
Favorites
Profitability Reports
AUD/USD
Oct 2024 - Jan 2025
36.00 %
Total Trades
8
Won Trades
0
Lost trades
0
Win Rate
0.00 %
Expected payoff
-2.25
Gross Profit
10.00
Gross Loss
-28.00
Total Net Profit
-18.00
-100%
-50%
0%
50%
100%
GBP/CAD
Oct 2024 - Jan 2025
0.00 %
Total Trades
271
Won Trades
0
Lost trades
0
Win Rate
0.00 %
Expected payoff
-2.89
Gross Profit
0.00
Gross Loss
-782.95
Total Net Profit
-782.95
-100%
-50%
0%
50%
100%
GBP/USD
Oct 2024 - Jan 2025
15.00 %
Total Trades
18
Won Trades
1
Lost trades
17
Win Rate
0.06 %
Expected payoff
-3.22
Gross Profit
10.00
Gross Loss
-68.00
Total Net Profit
-58.00
-100%
-50%
0%
50%
100%
WSS EA 1a
//+------------------------------------------------------------------+
//| NEWS_EA.mq4 |
//| Copyright © 2005, MetaQuotes Software Corp. |
//| http://www.winning-solution.net/ |
//+------------------------------------------------------------------+
extern double TakeProfit = 100;
extern double StopLoss = 40;
extern double Lots = 0.1;
extern double TrailingStop = 10;
extern double Trap = 30;
extern bool ConventionalTrapping = true;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
int cnt, ticket, total;
// initial data checks
// it is important to make sure that the expert works with a normal
// chart and the user did not make any mistakes setting external
// variables (Lots, StopLoss, TakeProfit,
// TrailingStop) in our case, we check TakeProfit
// on a chart of less than 100 bars
if(Bars<100)
{
Print("bars less than 100");
return(0);
}
if(TakeProfit<10)
{
Print("TakeProfit less than 10");
return(0); // check TakeProfit
}
// to simplify the coding and speed up access
// data are put into internal variables
double buystop = Close[0]+Trap*Point;
double sellstop = Close[0]-Trap*Point;
double high4h = iHigh(NULL,PERIOD_H4,0);
double low4h = iLow(NULL,PERIOD_H4,0);
double buy_hilo = high4h;
double sell_hilo = low4h;
if(high4h - low4h > 60*Point){
}
if(ConventionalTrapping){
total=OrdersTotal();
if(total<2) // open 2 transaction
{
// no opened orders identified
if(AccountFreeMargin()<(1000*Lots))
{
Print("We have no money. Free Margin = ", AccountFreeMargin());
return(0);
}
else{
// check for long position (BUY) possibility
OrderSend(Symbol(),OP_BUYSTOP,Lots,buystop,3,buystop-StopLoss*Point,buystop+TakeProfit*Point,"WSS News Trap Buy",16384,0,Green);
OrderSend(Symbol(),OP_SELLSTOP,Lots,sellstop,3,sellstop+StopLoss*Point,sellstop-TakeProfit*Point,"WSS News Trap Sell",16384,0,Red);
return(0);
}
}
}
/*if(Hilo4HTrapping){
total=OrdersTotal();
if(total<2) // open 2 transaction
{
// no opened orders identified
if(AccountFreeMargin()<(1000*Lots))
{
Print("We have no money. Free Margin = ", AccountFreeMargin());
return(0);
}
else{
// check for long position (BUY) possibility
OrderSend(Symbol(),OP_BUYSTOP,Lots,buy_hilo,3,buy_hilo-StopLoss*Point,buy_hilo+TakeProfit*Point,"WSS News Trap Buy",16384,0,Green);
OrderSend(Symbol(),OP_SELLSTOP,Lots,sell_hilo,3,sell_hilo+StopLoss*Point,sell_hilo-TakeProfit*Point,"WSS News Trap Sell",16384,0,Red);
return(0);
}
}
}*/
// it is important to enter the market correctly,
// but it is more important to exit it correctly...
for(cnt=0;cnt<total;cnt++)
{
OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
if(OrderType()<=OP_SELLSTOP && // check for opened position
OrderSymbol()==Symbol()) // check for symbol
{
if(OrderType()==OP_BUYSTOP) // long position is opened
{
// Close short order
if(Close[0] > buystop){
OrderClose(OrderTicket(),OrderLots(),sellstop,3,Violet); // close position
return(0); // exit
}
// check for trailing stop
// check for trailing stop
if(TrailingStop>0)
{
if(buystop-OrderOpenPrice()>Point*TrailingStop)
{
if(OrderStopLoss()<buystop-Point*TrailingStop)
{
OrderModify(OrderTicket(),OrderOpenPrice(),buystop-Point*TrailingStop,OrderTakeProfit(),0,Green);
return(0);
}
}
}
}
else // go to short position
{
if(Close[0] > sellstop){
OrderClose(OrderTicket(),OrderLots(),buystop,3,Violet); // close position
return(0); // exit
}
// check for trailing stop
if(TrailingStop>0)
{
if((OrderOpenPrice()-sellstop)>(Point*TrailingStop))
{
if((OrderStopLoss()>(sellstop+Point*TrailingStop)) || (OrderStopLoss()==0))
{
OrderModify(OrderTicket(),OrderOpenPrice(),sellstop+Point*TrailingStop,OrderTakeProfit(),0,Red);
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
---