'Закрыть все'/'Открыть' инструменты - страница 13

 

Советник для закрытия всех ордеров

Я видел советники/скрипты, которые закрывают все открытые ордера, но я ищу советник, который закрывает все открытые ордера в определенное время. У кого-нибудь есть такой советник?

Или кто-нибудь может показать мне, какой код нужно изменить в советнике, который открывает ордера, чтобы добавить код для закрытия ордера.

Спасибо

EDIT: если у кого-то есть советник, который открывает ордер в определенное время, а затем закрывает его в другое время, может кто-нибудь написать здесь, пожалуйста.

 

Открывать только в указанное время

Здравствуйте, matrixbiz

Этот советник открывает сделки в указанное время, но не закрывает в указанное время.

Я ищу такой же код (закрытие всех ордеров в указанное время) для встраивания в существующие советники.

Может быть это поможет

matrixebiz:
Я видел советники/скрипты, которые закрывают все открытые ордера, но я ищу советник, который закрывает все открытые ордера в определенное время. У кого-нибудь есть такой советник?

или кто-нибудь может показать мне, какой код нужно изменить в советнике, который открывает ордера, чтобы добавить код для закрытия ордера.

Спасибо

EDIT: если у кого-то есть советник, который открывает ордер в определенное время, а затем закрывает его в другое время, может кто-нибудь написать здесь, пожалуйста.
Файлы:
 

Привет кодеры

Я все еще учусь методом копирования и вставки, потому что я полный новичок.

Мне нужна функция, которая закрывает все открытые сделки в указанное время.

Я попробовал кое-что.

При компиляции ошибок нет. Но в strategytester у меня следующее сообщение:

Testgenerator: unmatched data error (volume limit 719 at 2008.03.27 12:30 exeeded

Testgenerator: unmatched data error(volume limit 135 at 2008.03.27 23:00 exeeded

Black - это оригинальный код. Это работает

Синий - это то, что я хочу вставить.

Спасибо за любую помощь

//+-----------------------------------------------------------------------+

//| Проверка условий закрытия ордера |

//+-----------------------------------------------------------------------+

void CheckForCloseConditions()

{

int ticket;

for(int i=0;i<OrdersTotal();i++)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;

if(OrderMagicNumber()!=MAGICMA || OrderSymbol()!=Symbol()) continue;

if(OrderType()==OP_BUY)

{

if (GetSignal()==1)

{

OrderClose(OrderTicket(),OrderLots(),Bid,3,Red);

return(0);

}

}

if(OrderType()==OP_SELL)

{

if (GetSignal()==2)

{

OrderClose(OrderTicket(),OrderLots(),Ask,3,Red);

return(0);

}

}

}

return(0);

}

//+-----------------------------------------------------------------------+

//| Проверяем условия закрытия ордера трейлинг |

//+-----------------------------------------------------------------------+

void CheckForCloseConditionsTrailing()

{

int ticket;

for(int i=0;i<OrdersTotal();i++)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;

if(OrderMagicNumber()!=MAGICMA_Trailing || OrderSymbol()!=Symbol()) continue;

if(OrderType()==OP_BUY)

{

if (GetSignal()==1)

{

OrderClose(OrderTicket(),OrderLots(),Bid,3,Red);

return(0);

}

if(TrailingStop>0)

{

if(Bid-OrderOpenPrice()>Point*TrailingStop)

{

if(OrderStopLoss()<Bid-Point*TrailingStop)

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Red);

return(0);

}

}

}

}

if(OrderType()==OP_SELL)

{

if (GetSignal()==2)

{

OrderClose(OrderTicket(),OrderLots(),Ask,3,Red);

return(0);

}

if(TrailingStop>0)

{

if((OrderOpenPrice()-Ask)>(Point*TrailingStop))

{

if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Magenta);

return(0);

}

}

}

}

}

return(0);

}

//+-----------------------------------------------------------------------+

//| Функция запуска |

//+-----------------------------------------------------------------------+

int start()

//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

//Закрыть открытые ордера по времени

//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

if (UseCloseTime){

if (!(Hour()>=CloseTime && Hour()>=CloseTime)) {

Comment("Время для закрытия сделки пришло!");

return(0);

} else Comment("");

}else Comment("");

{

int ticket;

for(int i=0;i<OrdersTotal();i++)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;

if(OrderMagicNumber()!=MAGICMA || OrderSymbol()!=Symbol()) continue;

if(OrderType()==OP_BUY)

{

{

OrderClose(OrderTicket(),OrderLots(),Bid,3,Red);

return(0);

}

}

if(OrderType()==OP_SELL)

{

{

OrderClose(OrderTicket(),OrderLots(),Ask,3,Red);

return(0);

}

}

}

return(0);

}

//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

//Закрываем открытые трейлинг ордера по времени

//XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

if (UseCloseTime){

if (!(Hour()>=CloseTime && Hour()>=CloseTime)) {

Comment("Время для закрытия трейлинга пришло!");

return(0);

} else Comment("");

}else Comment("");

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) //break;

if(OrderMagicNumber()!=MAGICMA_Trailing || OrderSymbol()!=Symbol()) //продолжить;

if(OrderType()==OP_BUY)

{

// if (GetSignal()==1)

{

OrderClose(OrderTicket(),OrderLots(),Bid,3,Red);

return(0);

}

if(TrailingStop>0)

{

if(Bid-OrderOpenPrice()>Point*TrailingStop)

{

if(OrderStopLoss()<Bid-Point*TrailingStop)

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Red);

return(0);

}

}

}

}

if(OrderType()==OP_SELL)

{

{

OrderClose(OrderTicket(),OrderLots(),Ask,3,Red);

return(0);

}

if(TrailingStop>0)

{

if((OrderOpenPrice()-Ask)>(Point*TrailingStop))

{

if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Magenta);

return(0);

}

}

}

}

}

return(0);

if(CalculateNumberOfOrders(Symbol())<1&&CalculateNumberOfOrdersTrailing(Symbol())<1)

CheckForOpenConditions();

else

{

CheckForCloseConditions();

CheckForCloseConditionsTrailing();

}

return(0);

}

 

Как исправить ошибку "'CloseHour' - выражение в глобальной области видимости недопустимо"?

 

Глобальные переменные?

привет, matrixbiz

Что значит "глобальные переменные"? Переменные в начале скрипта для определения параметров индикаторов и т.д.?

Смотрите прикрепленный # 1EA_Test_Template. Мне это нужно для тестирования функций скриптов.

Запустите его в strategytester и он работает.

Откройте Ea с помощью MetaEditor и активируйте неактивный скрипт после int start().

Теперь скомпилируйте и запустите его в strategytester, советник не торгует. См. сообщение об ошибке в журнале.

matrixebiz:
Как исправить ошибку "'CloseHour' - выражение в глобальной области видимости недопустимо"?
Файлы:
 

Помощь по скриптам и инклюдным файлам

Dimicr:
Они отправляют заказы очень уверенно!

Нужно ли компилировать скрипты и Include-файлы?

Если да, то должны ли они полностью работать, или с ними можно обращаться так же, как с exe-файлом? (Загрузить/закрыть Метатрейдер/открыть заново).

Спасибо ребята

 

Помогите с этим советником

Здравствуйте,

Кто-нибудь из кодеров может добавить опцию безубытка к этому индикатору?

Благословения и добрые мысли всегда с вами!

Спасибо

Файлы:
 

Я не знаю язык, который находится на KimIV. но мне удалось найти нужный файл для загрузки, но когда я его компилирую, возникает ошибка

'GetParent' - функция не определена C:\Program Files\Straighthold Trader\experts\e-CloseByPercentProfit.mq4 (180, 10)

Не мог бы кто-нибудь сообщить или исправить эту ошибку, если она есть.

 
 
Beno:
Я не знаю языка, на котором написан KimIV. но мне удалось найти нужный файл для загрузки, но когда я его компилирую, возникает ошибка.

'GetParent' - функция не определена C:\Program Files\Straighthold Trader\experts\e-CloseByPercentProfit.mq4 (180, 10)

Не мог бы кто-нибудь сообщить ему об этом или исправить ошибку, если она есть.

Да, у меня то же самое.

Может быть это функция, которая была удалена из Metatrader? Этот советник был создан в декабре 2007 года, так что он не старый...

Я понятия не имею, извините.

Причина обращения: