Orders Execution
0
Views
0
Downloads
0
Favorites
martiniy
//+------------------------------------------------------------------+
//| martiniy.mq4 |
//| Copyright © 2006, MetaQuotes Software Corp. |
//| http://forum.alpari-idc.ru/thread32672.html |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2006, MetaQuotes Software Corp."
#property link "http://forum.alpari-idc.ru/thread32672.html"
static int magicNumber = 666;
static datetime last_time = '';
//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| expert start function |
//+------------------------------------------------------------------+
int start()
{
Print(CurTime() - last_time);
last_time = CurTime();
int find = ObjectFind("RES1");
if (find == -1)
{
Print("line not found");
return (0);
}
else
{
// íàøëè ëèíèþ, îïðåäåëèì óðîâåíü
double price = NormalizeDouble(ObjectGet("RES1", OBJPROP_PRICE1), Digits);
if (price < Ask)
{
Print("Öåíà ìåíüøå Ask!");
return (0);
}
bool found = false;
for (int i = 0; i < OrdersTotal(); i++)
{
// Íàøëè íàø îòëîæåííûé îðäåð
if((OrderSelect(i, SELECT_BY_POS, MODE_MAIN) == true) &&
(OrderType () == OP_BUYSTOP) &&
(OrderMagicNumber() == magicNumber) &&
(OrderSymbol () == Symbol()))
{
found = true;
if (CurTime() - last_time < 60 * 30)
break;
if (NormalizeDouble(OrderOpenPrice(), Digits) != NormalizeDouble(price, Digits))
{
double tp = OrderTakeProfit();
double sl = OrderStopLoss();
if (tp > 0)
tp = OrderTakeProfit() + (price - OrderOpenPrice());
if (sl > 0)
sl = OrderStopLoss() + (price - OrderOpenPrice());
OrderModify(OrderTicket(), NormalizeDouble(price, Digits),
NormalizeDouble(sl, Digits),
NormalizeDouble(tp, Digits),
OrderExpiration(), CLR_NONE);
last_time = CurTime();
}
}
}
if (!found)
{
if (
OrderSend(Symbol(),
OP_BUYSTOP,
0.1,
price,
3,
0,
0,
"buy stop",
magicNumber,
0,
CLR_NONE) == -1)
{
Print("Îøèáêà :"+GetLastError());
}
else
Print("îðäåð îòêðûò ïî öåíå :"+price);
}
}
return(0);
}
//+------------------------------------------------------------------+
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
---