Orders Execution
0
Views
0
Downloads
0
Favorites
modify_profit_target
//+------------------------------------------------------------------+
//| modify_profit_target.mq4 |
//| Copyright © 2004, MetaQuotes Software Corp. |
//| http://www.metaquotes.net/ |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2004, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net/"
#property show_inputs
extern string Trade_Type = "Close Trade Type (0=Buying 1=Selling)";
extern int trade_type_selection = OP_BUY; //default is to close buy trades
extern string New_Target = "New target (in pips - relative to open price)";
extern int new_target = 10;
//#include <WinUser32.mqh>
//+------------------------------------------------------------------+
//| script "modify first market order" |
//+------------------------------------------------------------------+
int start()
{
bool result;
double profit_target, stop_loss;
int cmd,total,error;
double gd_point;
//----
total=OrdersTotal();
gd_point = SetPoint();
//----
for(int i=0; i<total; i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
//---- print selected order
OrderPrint();
cmd=OrderType();
//---- buy or sell orders are considered
if((cmd==trade_type_selection)&& (OrderSymbol()==Symbol()))
{
//---- modify market order
while(true)
{
if(cmd==OP_BUY) profit_target=OrderOpenPrice()+new_target*gd_point;
else profit_target=OrderOpenPrice()-new_target*gd_point;
stop_loss = OrderStopLoss(); //save current stop loss
result=OrderModify(OrderTicket(),0,OrderStopLoss(),profit_target,0,CLR_NONE);
if(result!=TRUE) { error=GetLastError(); Print("LastError = ",error); }
else error=0;
if(error==135) RefreshRates();
else break;
}
//---- print modified order (it still selected after modify)
OrderPrint();
//break;
}
}
else { Print( "Error when order select ", GetLastError()); break; }
}
//----
return(0);
}
//+------------------------------------------------------------------+
double SetPoint() {
double ld_point;
if (Digits < 4) ld_point = 0.01;
else ld_point = 0.0001;
return (ld_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
---