[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда. - страница 79
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
почему совок покупает и не закрывает, при комиляции ошибок нет
Или сделай ticket статической или вынеси определение за пределы старта.
...
int init()
{
count=Bars;
return(0);
}
...
int start()
{
if(OrdersTotal()==0 && NumberOfBarOpenLastPos()!=0 && count<Bars )
{
//открытие ордеров
}
...
//+----------------------------------------------------------------------------+
//| Возвращает номер бара открытия последней позиции или -1. |
//| Параметры: |
//| sym - наименование инструмента ("" - текущий символ) |
//| tf - таймфрейм ( 0 - текущий таймфрейм) |
//| op - операция (-1 - любая позиция) |
//| mn - MagicNumber (-1 - любой магик) |
//+----------------------------------------------------------------------------+
int NumberOfBarOpenLastPos(string sym="", int tf=0, int op=-1, int mn=-1) {
datetime oot;
int i, k=OrdersTotal();
if (sym=="") sym=Symbol();
for (i=0; i<k; i++) {
if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
if (OrderSymbol()==sym) {
if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
if (op<0 || OrderType()==op) {
if (mn<0 || OrderMagicNumber()==mn) {
if (oot<OrderOpenTime()) oot=OrderOpenTime();
}
}
}
}
}
}
return(iBarShift(sym, tf, oot, True));
}
Да, действительно. Бывает так, что этот прием
NumberOfBarOpenLastPos()!=0 не срабатывает.
Причем только тогда, когда советник работает по ВСЕМ ТИКАМ.
а вот в режиме по ЦЕНАМ ОТКРЫТИЯ эта функция в таком варианте работает вполне нормально !
Не знаю почему так.
Попробуйте вывести в коммент эту функцию и прямо на графике отследить её работу.Пока так.
Может специалисты подскажут вам лучший вариант проверки ?
Пож. подскажите, что означает запись в журнале:
Красный кружок и
2009.04.23 11:03:41 Old tick GBPJPYFXF60 142.58000/142.63000
(позиция не открылась)
Пож. подскажите, что означает запись в журнале:
Красный кружок и
2009.04.23 11:03:41 Old tick GBPJPYFXF60 142.58000/142.63000
(позиция не открылась)
RefreshRates(); перед открытием ордера поможет
RefreshRates(); перед открытием ордера поможет
Ну точно. Это же реквоты были.
Благодарю.
Ну точно. Это же реквоты были.
Это не реквоты.
RefreshRates();
ticket = OrderSend(Symbol(),OP_BUY,GetLots(100),Ask,maxSlippage,0,0,"Long",Magic,0,Green);
if (NeedScreenShot) WindowScreenShot(Symbol() + Period() + "_" + Hour() + Minute() + "_.gif",1024,768);
if (NeedAlert) Alert(Symbol() + " " + Period() + ": Going Long");
if (ticket > 0) break;
lasterror = GetLastError();
if ((lasterror == 0) || (lasterror == 2) || (lasterror == 4) || (lasterror == 6) || (lasterror == 8) || (lasterror == 9) || (lasterror == 64) || (lasterror == 128) || (lasterror == 132) || (lasterror == 133) || (lasterror == 137) || (lasterror == 139) || (lasterror == 141) || (lasterror == 146))
{
Sleep(10);
кружок красный 2009.04.23 14:08:08 Old tick GBPJPYFXF30 142.95000/143.00999
Всеравно не покупает, десять запросов подряд делает на сервер по одной и тойже цене, и все красные кружки, может где ище ошибка,
Помогите пож. или может насервере отключена авт. торговля ?? Forex.com непойму .Вверху код, может что добавить.