Orders Execution
Miscellaneous
0
Views
0
Downloads
0
Favorites
_SET_TP
//+------------------------------------------------------------------+
//| _SET_TP.mq4 |
//| Copyright © 2009, MetaQuotes Software Corp. |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2009, MetaQuotes Software Corp."
#property link "http://www.metaquotes.net"
#include <WinUser32.mqh>
//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
void start(){
int stlw=MarketInfo(Symbol(),MODE_STOPLEVEL);
int spr =MarketInfo(Symbol(),MODE_SPREAD);
static int ticket;
double prise=WindowPriceOnDropped();
if(prise==0){
Alert("Öåíà íå îïðåäåëåíà!");
return;
}
if(ObjectFind("order")!=0){
Alert("Óñòàíîâèòå ëèíèþ ïðîôèòà");
return;
}
for(int i=0;i<OrdersTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
if(OrderSymbol()==Symbol()){
if(OrderCloseTime()==0){
if(MathAbs(OrderOpenPrice()-prise)<spr*Point*2){
ticket=OrderTicket();
}
}
}
}
}
if(ticket<1){
Alert("Îðäåð íå îïðåäåëåí!");
return;
}
//----
int tick;
while(!IsStopped()&&tick>=0){
double tp=NormalizeDouble(ObjectGet("order",OBJPROP_PRICE1),Digits);
tick=-1;
int res;
for(i=0;i<OrdersTotal();i++){
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){
if(OrderSymbol()==Symbol()){
if(OrderCloseTime()==0){
if(MathAbs(OrderOpenPrice()-prise)<spr*Point*2){
tick=OrderTicket();
}
}
}
}
}
if(tick<1||ticket!=tick){
Alert("Îðäåð íå îïðåäåëåí!");
return;
}
if(OrderSelect(tick,SELECT_BY_TICKET)){
if(NormalizeDouble(OrderTakeProfit(),Digits)==tp){
Alert("Òåéê óñòàíîâëåí");
return;
}
if(OrderType()==0||OrderType()==2||OrderType()==4){
RefreshRates();
if(tp-Bid>stlw*Point){
if(!OrderModify(tick,OrderOpenPrice(),OrderStopLoss(),tp,0,White)){
Alert("Îøèáêà óñòàíîâêè òåéêà ¹ ",GetLastError());
return;
}else{PlaySound("expert.wav");}
}
RefreshRates();
if(tp-Bid<=stlw*Point){
Comment("_SET_TP DISTANSE = ",DoubleToStr((tp-Bid)/Point,0));
RefreshRates();
if(tp-Bid<=0){
if(OrderType()==0){
res=MessageBox("Çàêðûòü îðäåð ¹ "+tick+"?",Symbol()+"SET_TP",MB_OKCANCEL);
if(res==IDCANCEL){return;}
if(res==IDOK){
RefreshRates();
if(!OrderClose(tick,OrderLots(),Bid,spr,Red)){
Print("Îøèáêà çàêðûòèÿ ¹",GetLastError());
}else{PlaySound("expert.wav");}
}
}
}
}
}
if(OrderType()==1||OrderType()==3||OrderType()==5){
RefreshRates();
if(Ask-tp>stlw*Point){
if(!OrderModify(tick,OrderOpenPrice(),OrderStopLoss(),tp,0,White)){
Alert("Îøèáêà óñòàíîâêè òåéêà ¹ ",GetLastError());
return;
}else{PlaySound("expert.wav");}
}
RefreshRates();
if(Ask-tp<=stlw*Point){
Comment("_SET_TP DISTANSE = ",DoubleToStr((Ask-tp)/Point,0));
RefreshRates();
if(Ask-tp<=0){
if(OrderType()==1){
res=MessageBox("Çàêðûòü îðäåð ¹ "+tick+"?",Symbol()+"SET_TP",MB_OKCANCEL);
if(res==IDCANCEL){return;}
if(res==IDOK){
RefreshRates();
if(!OrderClose(tick,OrderLots(),Ask,spr,Red)){
Print("Îøèáêà çàêðûòèÿ ¹",GetLastError());
}else{PlaySound("expert.wav");}
}
}
}
}
}
}
Sleep(200);
Comment("");
}
return;}
//+------------------------------------------------------------------+
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
---