Orders Execution
0
Views
0
Downloads
0
Favorites
Profitability Reports
GBP/USD
Oct 2024 - Jan 2025
0.00 %
Total Trades
0
Won Trades
0
Lost trades
0
Win Rate
0.0 %
Expected payoff
0.00
Gross Profit
0.00
Gross Loss
0.00
Total Net Profit
0.00
-100%
-50%
0%
50%
100%
NZD/USD
Oct 2024 - Jan 2025
0.00 %
Total Trades
0
Won Trades
0
Lost trades
0
Win Rate
0.0 %
Expected payoff
0.00
Gross Profit
0.00
Gross Loss
0.00
Total Net Profit
0.00
-100%
-50%
0%
50%
100%
ARD_ORDER_MANAGEMENT_EA-BETA 1
//+------------------------------------------------------------------+
//| CCIW_EA.mq4 |
//| Copyright © 2009, ARDIAMSYAH WOHAN ARD |
//| http://www.dailysignal.co.cc|
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, ARDIANSYAH WOHAN ARD"
#property link "http://www.DAILYSIGNAL.co.cc"
#define BUY 1
#define SELL 2
#define CLOSE 3
#define MODIFY 4
#define NO_ORDER 0
extern int slippage=4,magic=0,LotsDigit=1;
extern double sl = 50,tp = 100,lotsize = 5,m_sl=20,m_tp=100;
extern string comment = "Placing Order";
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
//----
// if(iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,1)>80) {orders(BUY);}
//if(iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,1)<20) {orders(SELL);}
//----
return(0);
}
//+------------------------------------------------------------------+
bool open_order(int cmd)
{
int ticket,err;
double price,stoploss,takeprofit,m_stoploss,m_takeprofit, lots = NormalizeDouble(AccountFreeMargin()/lotsize/1000,LotsDigit);
switch(cmd)
{
case BUY:
while(true)
{
RefreshRates();
price = Ask;
stoploss = Bid-sl*Point;
takeprofit = Ask+tp*Point;
ticket = OrderSend(Symbol(),OP_BUY,lots,price,slippage,stoploss,takeprofit,comment,magic,0,CLR_NONE);
if (ticket<0)
{
int ctrl=0;
err = GetLastError();
if (err==135) RefreshRates();
else if(err==129)
{
while(true)
{
if(ctrl==0) {int bid2=Bid;int ask = Ask;ctrl=1;}
RefreshRates();
if(bid2 != Bid||ask != Ask) {break;}
}
}
else
{
Print("Buying Order Failed == with error ",err);
return(false);
break;
}
}
else
{
Print("Buying order .......");
return(true);
break;
}
}
break;
case SELL:
while(true)
{
RefreshRates();
price = Bid;
stoploss = Ask+sl*Point;
takeprofit = Bid-tp*Point;
ticket = OrderSend(Symbol(),OP_SELL,lots,price,slippage,stoploss,takeprofit,comment,magic,0,CLR_NONE);
if (ticket<0)
{
ctrl=0;
err = GetLastError();
if (err==135) RefreshRates();
else if(err==129)
{
while(true)
{
if(ctrl==0) {bid2=Bid;ask = Ask;ctrl=1;}
RefreshRates();
if(bid2 != Bid||ask !=Ask) {break;}
}
}
else
{
Print("Selling Order Failed == with error ",err);
return(false);
break;
}
}
else
{
Print("Selling order .......");
return(true);
break;
}
}
break;
case CLOSE:
int total,i;
bool cls;
total = OrdersTotal();
if (total==0) return(true);
if (total>0)
{
for(int j=0 ; j<3 ;j++)
{
for(i=0; i<total; i++)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{
if(Symbol() == OrderSymbol())
{
RefreshRates();
if (OrderType() == OP_BUY) price=Bid;
if (OrderType() == OP_SELL) price=Ask;
cls=OrderClose(OrderTicket(),OrderLots(),price,0,CLR_NONE);
if(cls==false){
ctrl=0;
err = GetLastError();
if (err==135) { RefreshRates();i++;}
else if(err==129)
{
while(true)
{
if(ctrl==0) {bid2=Bid;ask = Ask;ctrl=1;}
RefreshRates();
if(bid2 != Bid||ask != Ask){i++; break;}
}
}
else
{
Print("Closing Order Failed == with error ",err);
return(false);
break;
}
}
else
{
Print("Closing Order = OK");
i--;
}
}
}
}
}
return(true) ;
}
break;
case MODIFY:
total = OrdersTotal();
if (total==0) return(true);
if (total>0)
{
for(j=0 ; j<3 ;j++)
{
for(i=0; i<total; i++)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{
if(Symbol() == OrderSymbol())
{
RefreshRates();
price=OrderOpenPrice();
if (OrderType() == OP_BUY)
{
m_stoploss =Bid-m_sl*Point;
m_takeprofit = Ask+m_tp*Point;
}
if (OrderType() == OP_SELL) price=Ask;
{
m_stoploss = Ask+m_sl*Point;
m_takeprofit =Bid-m_tp*Point;
}
cls=OrderModify(OrderTicket(),price,m_stoploss,m_takeprofit,0,CLR_NONE);
if(cls==false){
ctrl=0;
err = GetLastError();
if (err==135) { RefreshRates();i++;}
else if(err==129)
{
while(true)
{
if(ctrl==0) {bid2=Bid;ask = Ask;ctrl=1;}
RefreshRates();
if(bid2 != Bid||ask != Ask){i++; break;}
}
}
else
{
Print("Closing Order Failed == with error ",err);
return(false);
break;
}
}
else
{
Print("Closing Order = OK");
i--;
}
}
}
}
}
return(true) ;
}
break;
case NO_ORDER:
Print("NO ORDER JOB");
return(true);
break;
default :
Print("ERROR cmd NO CODE GENERATED or INVALID CODE INSERTED");
return(false);
break;
}
return(true);
}
void orders(int order)
{
if(order==BUY)
{
if(open_order(CLOSE)==true) open_order(BUY);
}
if(order==SELL)
{
if(open_order(CLOSE)==true) open_order(SELL);
}
}
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
---