Orders Execution
0
Views
0
Downloads
0
Favorites
Profitability Reports
AUD/USD
Oct 2024 - Jan 2025
107.00 %
Total Trades
129
Won Trades
0
Lost trades
0
Win Rate
0.00 %
Expected payoff
3.72
Gross Profit
6990.99
Gross Loss
-6510.74
Total Net Profit
480.25
-100%
-50%
0%
50%
100%
GBP/USD
Oct 2024 - Jan 2025
93.00 %
Total Trades
282
Won Trades
99
Lost trades
183
Win Rate
0.35 %
Expected payoff
-3.84
Gross Profit
14647.90
Gross Loss
-15731.61
Total Net Profit
-1083.71
-100%
-50%
0%
50%
100%
Super SignalsEA_v1.2
//+------------------------------------------------------------------+
//| |
//| Super Signals EA.mq4 - Ver 1.1 @ 02/11/2007 by Bluto |
//| |
//+------------------------------------------------------------------+
// 2/22/2007 Ver 1.2 Commented out OrderModify and Changed StopLoss from 20 to 200
#property copyright "Bluto"
#property link "None"
extern double LotSize=5;
extern int Slippage=3;
extern double StopLoss=200; //original 20
extern double TakeProfit=500;
extern double RiskPercent=2.0;
extern bool UseMoneyMgmt=true;
int MagicNumber=0;
int ticket;
int BuyOrders=0;
int SellOrders=0;
int i;
double SS_SELL_0=0, SS_SELL_1=0, SS_BUY_0=0, SS_BUY_1=0;
double MM_MinLotSize=0;
double MM_MaxLotSize=0;
double MM_LotStep=0;
double MM_Decimals=0;
double MM_OrderLotSize=0;
int MM_AcctLeverage=0;
int MM_CurrencyLotSize=0;
bool SSIsBuy=false, SSIsSell=false;
int init()
{
if (Symbol()=="AUDCADm" || Symbol()=="AUDCAD") {MagicNumber=200001;}
if (Symbol()=="AUDJPYm" || Symbol()=="AUDJPY") {MagicNumber=200002;}
if (Symbol()=="AUDNZDm" || Symbol()=="AUDNZD") {MagicNumber=200003;}
if (Symbol()=="AUDUSDm" || Symbol()=="AUDUSD") {MagicNumber=200004;}
if (Symbol()=="CHFJPYm" || Symbol()=="CHFJPY") {MagicNumber=200005;}
if (Symbol()=="EURAUDm" || Symbol()=="EURAUD") {MagicNumber=200006;}
if (Symbol()=="EURCADm" || Symbol()=="EURCAD") {MagicNumber=200007;}
if (Symbol()=="EURCHFm" || Symbol()=="EURCHF") {MagicNumber=200008;}
if (Symbol()=="EURGBPm" || Symbol()=="EURGBP") {MagicNumber=200009;}
if (Symbol()=="EURJPYm" || Symbol()=="EURJPY") {MagicNumber=200010;}
if (Symbol()=="EURUSDm" || Symbol()=="EURUSD") {MagicNumber=200011;}
if (Symbol()=="GBPCHFm" || Symbol()=="GBPCHF") {MagicNumber=200012;}
if (Symbol()=="GBPJPYm" || Symbol()=="GBPJPY") {MagicNumber=200013;}
if (Symbol()=="GBPUSDm" || Symbol()=="GBPUSD") {MagicNumber=200014;}
if (Symbol()=="NZDJPYm" || Symbol()=="NZDJPY") {MagicNumber=200015;}
if (Symbol()=="NZDUSDm" || Symbol()=="NZDUSD") {MagicNumber=200016;}
if (Symbol()=="USDCHFm" || Symbol()=="USDCHF") {MagicNumber=200017;}
if (Symbol()=="USDJPYm" || Symbol()=="USDJPY") {MagicNumber=200018;}
if (Symbol()=="USDCADm" || Symbol()=="USDCAD") {MagicNumber=200019;}
if (MagicNumber==0) {MagicNumber = 200999;}
return(0);
}
int deinit()
{
return(0);
}
int start()
{
MM_AcctLeverage = AccountLeverage();
MM_MinLotSize = MarketInfo(Symbol(),MODE_MINLOT);
MM_MaxLotSize = MarketInfo(Symbol(),MODE_MAXLOT);
MM_LotStep = MarketInfo(Symbol(),MODE_LOTSTEP);
MM_CurrencyLotSize = MarketInfo(Symbol(),MODE_LOTSIZE);
if(MM_LotStep == 0.01) {MM_Decimals = 2;}
if(MM_LotStep == 0.1) {MM_Decimals = 1;}
if (UseMoneyMgmt == true)
{
MM_OrderLotSize = AccountEquity() * (RiskPercent * 0.01) / (MM_CurrencyLotSize / MM_AcctLeverage);
MM_OrderLotSize = StrToDouble(DoubleToStr(MM_OrderLotSize,MM_Decimals));
}
else
{
MM_OrderLotSize = LotSize;
}
if (MM_OrderLotSize < MM_MinLotSize) {MM_OrderLotSize = MM_MinLotSize;}
if (MM_OrderLotSize > MM_MaxLotSize) {MM_OrderLotSize = MM_MaxLotSize;}
SS_SELL_0 = iCustom(Symbol(),Period(),"super-signals_v2b",4,0,0);
SS_SELL_1 = iCustom(Symbol(),Period(),"super-signals_v2b",4,0,1);
SS_BUY_0 = iCustom(Symbol(),Period(),"super-signals_v2b",4,1,0);
SS_BUY_1 = iCustom(Symbol(),Period(),"super-signals_v2b",4,1,1);
if (SS_SELL_0 > 0 || SS_SELL_1 > 0) {SSIsSell=true;SSIsBuy=false;}
if (SS_BUY_0 > 0 || SS_BUY_1 > 0) {SSIsSell=false;SSIsBuy=true;}
BuyOrders=0;
SellOrders=0;
for(i=OrdersTotal();i >= 0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber)
{
if (OrderType() == OP_BUY)
{
BuyOrders++;
if (StopLoss > 0 && Bid - (StopLoss * Point) > OrderStopLoss())
{
// OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid - (StopLoss * Point),Digits),OrderTakeProfit(),0);
}
}
if (OrderType() == OP_SELL)
{
SellOrders++;
if (StopLoss > 0 && Ask + (StopLoss * Point) < OrderStopLoss())
{
// OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Ask + (StopLoss * Point),Digits),OrderTakeProfit(),0);
}
}
}
}
if (SSIsBuy==true)
{
if(SellOrders > 0)
{
CloseShorts(MagicNumber);
SellOrders = 0;
}
if(BuyOrders == 0)
{
ticket = OpenPendingOrder(OP_BUY,MM_OrderLotSize,Ask,Slippage,Bid,StopLoss,TakeProfit,"Super Signals",MagicNumber,0,Lime);
if(ticket<0)
{
Print("OrderSend failed with error #",GetLastError());
return(0);
}
else
{
BuyOrders++;
}
}
}
if (SSIsSell==true)
{
if(BuyOrders > 0)
{
CloseLongs(MagicNumber);
BuyOrders = 0;
}
if (SellOrders == 0)
{
ticket = OpenPendingOrder(OP_SELL,MM_OrderLotSize,Bid,Slippage,Ask,StopLoss,TakeProfit,"Super Signals",MagicNumber,0,HotPink);
if(ticket<0)
{
Print("OrderSend failed with error #",GetLastError());
return(0);
}
else
{
SellOrders++;
}
}
}
return(0);
}
//----- Order Processing Functions
void CloseLongs(int MagicNumber)
{
int trade;
for(trade=OrdersTotal()-1;trade>=0;trade--)
{
if(OrderSelect(trade,SELECT_BY_POS,MODE_TRADES)==false)
continue;
if(OrderSymbol()!=Symbol()||OrderMagicNumber()!=MagicNumber)
continue;
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
if(OrderType()==OP_BUY)
OrderClose(OrderTicket(),OrderLots(),Bid,Slippage,Blue);
}//for
}
void CloseShorts(int MagicNumber)
{
int trade;
for(trade=OrdersTotal()-1;trade>=0;trade--)
{
if(OrderSelect(trade,SELECT_BY_POS,MODE_TRADES)==false)
continue;
if(OrderSymbol()!=Symbol()||OrderMagicNumber()!=MagicNumber)
continue;
if(OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
if(OrderType()==OP_SELL)
OrderClose(OrderTicket(),OrderLots(),Ask,Slippage,Red);
}//for
}
int OpenPendingOrder(int pType,double pLots,double pLevel,int sp, double pr, int sl, int tp,string pComment,int pMagic,datetime pExpiration,color pColor)
{
int ticket=0;
int err=0;
int c = 0;
int NumberOfTries = 10;
switch (pType)
{
case OP_BUY:
for(c = 0 ; c < NumberOfTries ; c++)
{
RefreshRates();
ticket=OrderSend(Symbol(),OP_BUY,pLots,Ask,sp,StopLong(Bid,sl),TakeLong(Bid,tp),pComment,pMagic,pExpiration,pColor);
if (ticket > 0) break;
err=GetLastError();
if(err==0)
{
break;
}
else
{
if(err==4 || err==137 ||err==146 || err==136) //Busy errors
{
Sleep(5000);
continue;
}
else //normal error
{
Print("Error Code= ", err);
break;
}
}
}
break;
case OP_SELL:
for(c = 0 ; c < NumberOfTries ; c++)
{
RefreshRates();
ticket=OrderSend(Symbol(),OP_SELL,pLots,Bid,sp,StopShort(Ask,sl),TakeShort(Ask,tp),pComment,pMagic,pExpiration,pColor);
if (ticket > 0) break;
err=GetLastError();
if(err==0)
{
break;
}
else
{
if(err==4 || err==137 ||err==146 || err==136) //Busy errors
{
Sleep(5000);
continue;
}
else //normal error
{
Print("Error Code= ", err);
break;
}
}
}
break;
}
return(ticket);
}
double StopLong(double price,int stop)
{
if(stop==0)
return(0);
else
return(price-(stop*Point));
}
double StopShort(double price,int stop)
{
if(stop==0)
return(0);
else
return(price+(stop*Point));
}
double TakeLong(double price,int take)
{
if(take==0)
return(0);
else
return(price+(take*Point));
}
double TakeShort(double price,int take)
{
if(take==0)
return(0);
else
return(price-(take*Point));
}
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
---