Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Может оно и так . Учиться то надо. (3) пока не рассматривается.
А с поиском как?
#property copyright "Copyright © 2007, MetaQuotes Software Corp."
#property link "https://www.metaquotes.net/"
#define MAGICMA 20050610
extern double Lots = 0.1;
double UpFractals;
double DownFractals;
void CheckForOpen()
{
if(Volume[0]>1) return;
UpFractals=iFractals(NULL, 0, MODE_UPPER,2);
DownFractals=iFractals(NULL, 0, MODE_LOWER,2);
if(DownFractals != 0)
if(OrdersTotal()==0) OrderSend(Symbol(),OP_SELLSTOP,Lots,Low[2]-0.0001,3,0,Low[2]-0. 0004,"",MAGICMA,0,Red);
for(int i=0;i<OrdersTotal();i++)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
if(OrderType()==OP_SELLSTOP)
{
if(DownFractals >= OrderOpenPrice())
{
OrderModify(OrderTicket(),Low[2]-0.0001,0,Low[2]-0.0004,0,Blue);
break;
}
}
if(DownFractals != 0)
{
OrderSend(Symbol(),OP_SELLSTOP,Lots,Low[2]-0.0001,3,0,Low[2]-0.0004,"", MAGICMA,0, Red);
break;
}
}
}
void start()
{
if(Bars<5 || IsTradeAllowed()==false) return;
CheckForOpen();
}
если поставить в тестере от 2007.05.01 до 2007.05.31
1 2007.05.15 08:10 sell stop 1 0.10 1.3535 0.0000 1.3532 0.00 10000.00
2 2007.05.15 08:55 modify 1 0.10 1.3548 0.0000 1.3545 0.00 10000.00
3 2007.05.15 09:07 sell 1 0.10 1.3548 0.0000 1.3545 0.00 10000.00
4 2007.05.15 09:21 t/p 1 0.10 1.3545 0.0000 1.3545 3.00 10003.00
5 2007.05.15 09:40 sell stop 2 0.10 1.3531 0.0000 1.3528 0.00 10003.00
6 2007.05.15 10:25 modify 2 0.10 1.3538 0.0000 1.3535 0.00 10003.00
7 2007.05.15 10:29 sell 2 0.10 1.3538 0.0000 1.3535 0.00 10003.00
8 2007.05.15 10:45 sell stop 3 0.10 1.3533 0.0000 1.3530 0.00 10003.00
9 2007.05.15 11:20 sell stop 4 0.10 1.3533 0.0000 1.3530 0.00 10003.00
В 9 пункте по идее должна быть модификация ордера, а не новое открытие EURUSD
Если нет ордеров или есть определенный ордер ---> то выполняем то то
if(OrdersTotal()==0) то ... Print "Устанавливаем ордер"
if(OrdersTotal()>0)
{
for(int i=0;i<OrdersTotal();i++)
{
OrderSelect
if OrderType()==1
if OrderType()==2
if OrderType()==3 Print "Устанавливаем ордер"
if OrderType()==4
if OrderType()==5
if OrderType()==6
}
Еще такой вопрос.Как можно проще написать такую проверку?
Если нет ордеров или есть определенный ордер ---> то выполняем то то
if(OrdersTotal()==0) то ... Print "Устанавливаем ордер"
if(OrdersTotal()>0)
{
for(int i=0;i<OrdersTotal();i++)
{
OrderSelect
if OrderType()==1
if OrderType()==2
if OrderType()==3 Print "Устанавливаем ордер"
if OrderType()==4
if OrderType()==5
if OrderType()==6
}
А где же if (OrderType()==0)
Речь идет о OP_BUY.
Еще вопрос. Если есть ордера на других валютах, то их нужно исключить из проверки. Вроде у KimIV все это есть. Посмотри в BASE