Результаты опроса:

Голосовавшие
0. Вы ещё не голосовали в этом опросе
  • 0 0%
Форум трейдеров » Торговые роботы, советники, индикаторы » Автотрейдинг. Вопросы новичков
+ Подписаться
Страница 19 из 33 ПерваяПервая ... 9171819202129 ... ПоследняяПоследняя
  1. 22
    Комментарии
    1
    Темы
    22
    Репутация Pro
    Аватар для Ski_NEF  
    Новичок

    2 Медалей
    Не хочет или не успевает ???
    Вот кусок кода.

    // открытие позиций

    // проверяем на возможность встать в длинную позицию (BUY)


    RefreshRates(); // Обновление данных
    SL=Bid - StopLoss*Point; // Вычисление SL откр.
    TP=Bid + TakeProfit*Point; // Вычисление TP откр.
    MA_1_B = MA_1-Dempf_1*Point; // Установка демпфера

    if
    (
    MA_1_B > MA_2
    && MA_2> MA_3
    && OsMA_Gist > (0+Slack*Point)
    && FastM1 > FastS1
    && MA_F_1 > MA_F_2 && MA_F_2 > MA_F_3 // Open Buy
    )

    {
    Alert("Попытка открыть Buy. Ожидание ответа..");
    ticket=OrderSend(Symb,OP_BUY,Lts,Ask,3, 0, 0 ,"M15-123", Magic, 0, Green );

    if (ticket > 0) // Получилось :)
    {
    OrderModify(ticket, OrderOpenPrice(), SL, TP,0);
    Alert ("Открыт ордер Bay ",ticket);
    PlaySound("Alert.wav");
    return; // Выход из start()
    }
    }

    В тестере ордера открываются.
    В терминалах других ДЦ - открываются нормально.
    В Броко, ночью открываются нормально, а днем постоянно
    идет сообщение - "Попытка открыть Buy. Ожидание ответа.."

    Может это из за того, что советник с каждым Тиком идет сверху,
    а ДЦ не успел открыть ордер ????

    Или причина в коде ???
    Если первое, то может сделать временнУю задержку после
    ticket=OrderSend ......

    Подскажите. Спасибо.

    Аналогичное уже рассматривалось на форуме.

    Сообщение от Cofe
    Вот скачал такого советника и вставил в BrocoTrader.При тестировании всё прекрасно торгует,а цепляю к графику-никакой реакции.Пробовал у другого брокера.....работает.В чем проблема??

    Есть такое дело! Не знаю с чем связано... Но этому есть выход! Некоторые советники порой не открывают сделку сами в Broco терминалах (такое случается во многих терминалах, не только Broco), поставьте ручное подтверждение (там где разрешаете советнику торговать), и подтвердите в ручную когда советник даст сигнал (выкинет окно на открыте сделки), (после этого снова дать ему все последующие сделки открывать самому в автоматическом режиме, т. е. убрать галочку с "ручного подтверждения") все последующие ордера буду открыты в автоматическом режиме, если конечно советник имеет возможность открывать в процессе его работы несколько ордеров.... Но опять же если он закроет первый ордер, то чтобы дать ему снова торговать в автоматическом режиме, нужно снова поставить ручное потверждение в открытии первого ордера..... Такое имеет место с некоторыми советниками, но большинство работает нормально!!! Если напрягает постоянно ставить галочку, в подтверждении, иногда помогает избавиться от этой напасти перестановка терминала! Но думаю все же лучше будет если вы сами будете подтверждать то, что хочет сделать советник, так хоть будете немного контролировать его действия, в конце концов советник - это робот, которого лучше будет контролировать, чем дать ему полную свободу, тем более на реале!!!)))

    Может есть другие решения и мысли ???
  2. 776
    Комментарии
    6
    Темы
    781
    Репутация Pro
    Аватар для fidel_fx  
    В начале пути

    3 Медалей
    Цитата Сообщение от qqmber Посмотреть сообщение
    Это сработает только если ордер открылся в первую секунду периода.

    Проще будет if(TimeCurrent() - OrderOpenTime() < Period()*60)
    спасибо, попробую.

    Но мне всё равно не понято почему значения пропускаются в моём примере. И почему мой вариант сработает только если ордер открывается в первую секунду?
  3. 2,974
    Комментарии
    7
    Темы
    2995
    Репутация Pro
     
    Banned

    4 Медалей
    Цитата Сообщение от Ski_NEF Посмотреть сообщение
    Не хочет или не успевает ???
    Вот кусок кода.

    // открытие позиций

    // проверяем на возможность встать в длинную позицию (BUY)


    RefreshRates(); // Обновление данных
    SL=Bid - StopLoss*Point; // Вычисление SL откр.
    TP=Bid + TakeProfit*Point; // Вычисление TP откр.
    MA_1_B = MA_1-Dempf_1*Point; // Установка демпфера

    if
    (
    MA_1_B > MA_2
    && MA_2> MA_3
    && OsMA_Gist > (0+Slack*Point)
    && FastM1 > FastS1
    && MA_F_1 > MA_F_2 && MA_F_2 > MA_F_3 // Open Buy
    )

    {
    Alert("Попытка открыть Buy. Ожидание ответа..");
    ticket=OrderSend(Symb,OP_BUY,Lts,Ask,3, 0, 0 ,"M15-123", Magic, 0, Green );

    if (ticket > 0) // Получилось :)
    {
    OrderModify(ticket, OrderOpenPrice(), SL, TP,0);
    Alert ("Открыт ордер Bay ",ticket);
    PlaySound("Alert.wav");
    return; // Выход из start()
    }
    }

    В тестере ордера открываются.
    В терминалах других ДЦ - открываются нормально.
    В Броко, ночью открываются нормально, а днем постоянно
    идет сообщение - "Попытка открыть Buy. Ожидание ответа.."

    Может это из за того, что советник с каждым Тиком идет сверху,
    а ДЦ не успел открыть ордер ????

    Или причина в коде ???
    Если первое, то может сделать временнУю задержку после
    ticket=OrderSend ......

    Подскажите. Спасибо.

    Аналогичное уже рассматривалось на форуме.

    Сообщение от Cofe
    Вот скачал такого советника и вставил в BrocoTrader.При тестировании всё прекрасно торгует,а цепляю к графику-никакой реакции.Пробовал у другого брокера.....работает.В чем проблема??

    Есть такое дело! Не знаю с чем связано... Но этому есть выход! Некоторые советники порой не открывают сделку сами в Broco терминалах (такое случается во многих терминалах, не только Broco), поставьте ручное подтверждение (там где разрешаете советнику торговать), и подтвердите в ручную когда советник даст сигнал (выкинет окно на открыте сделки), (после этого снова дать ему все последующие сделки открывать самому в автоматическом режиме, т. е. убрать галочку с "ручного подтверждения") все последующие ордера буду открыты в автоматическом режиме, если конечно советник имеет возможность открывать в процессе его работы несколько ордеров.... Но опять же если он закроет первый ордер, то чтобы дать ему снова торговать в автоматическом режиме, нужно снова поставить ручное потверждение в открытии первого ордера..... Такое имеет место с некоторыми советниками, но большинство работает нормально!!! Если напрягает постоянно ставить галочку, в подтверждении, иногда помогает избавиться от этой напасти перестановка терминала! Но думаю все же лучше будет если вы сами будете подтверждать то, что хочет сделать советник, так хоть будете немного контролировать его действия, в конце концов советник - это робот, которого лучше будет контролировать, чем дать ему полную свободу, тем более на реале!!!)))

    Может есть другие решения и мысли ???
    теоретично - вроде б всё верно..
    если код включить в скобки ..CODE..
    Код:
      your code here..
    может - и читаццо луче будет, и ошыбки - виднее.
  4. 405
    Комментарии
    2
    Темы
    411
    Репутация Pro
     
    Member

    2 Медалей
    Цитата Сообщение от fidel_fx Посмотреть сообщение
    спасибо, попробую.

    Но мне всё равно не понято почему значения пропускаются в моём примере. И почему мой вариант сработает только если ордер открывается в первую секунду?
    Не совсем понятно, что вы от этого кода ждете и какие значения пропускаются. У вас что - на каждой свечке есть ордер? Телепатически догадываюсь, что не все ордера находит, потому что вы явно запросили iBarShift(..., exact=true), т.е. время открытия искомого бара в секундах должно точно совпадать с указанным OrderOpenTime.
  5. 776
    Комментарии
    6
    Темы
    781
    Репутация Pro
    Аватар для fidel_fx  
    В начале пути

    3 Медалей
    Цитата Сообщение от qqmber Посмотреть сообщение
    Не совсем понятно, что вы от этого кода ждете и какие значения пропускаются. У вас что - на каждой свечке есть ордер? Телепатически догадываюсь, что не все ордера находит, потому что вы явно запросили iBarShift(..., exact=true), т.е. время открытия искомого бара в секундах должно точно совпадать с указанным OrderOpenTime.
    Всё, проблему решил. Сказалось долго отсутствие практики программирования. Спасибо за помощь.
  6. 22
    Комментарии
    1
    Темы
    22
    Репутация Pro
    Аватар для Ski_NEF  
    Новичок

    2 Медалей
    В пятницу , те же проблемы.
    Открытие и закрытие проходят не устойчиво.
    Перешел на ручное подтверждение - работает по алгоритму.
    Это касается и открытия и закрытия.
    Паралелльно стоит на автомате.
    Бедный, не может открыть и закрыть, пишет постоянно - попытка.

    У кого нибудь, такое случалось ??? Как преодалели ???
    Сегодня снесу терминал, дефрагментирую диск и инсталирую заново.
    О результатах напишу позже.
  7. 405
    Комментарии
    2
    Темы
    411
    Репутация Pro
     
    Member

    2 Медалей
    Цитата Сообщение от Ski_NEF Посмотреть сообщение
    В пятницу , те же проблемы.
    Открытие и закрытие проходят не устойчиво.
    Перешел на ручное подтверждение - работает по алгоритму.
    Это касается и открытия и закрытия.
    Паралелльно стоит на автомате.
    Бедный, не может открыть и закрыть, пишет постоянно - попытка.

    У кого нибудь, такое случалось ??? Как преодалели ???
    Сегодня снесу терминал, дефрагментирую диск и инсталирую заново.
    О результатах напишу позже.
    Попробуйте проверять IsTradeContextBusy() перед обращением к серверу.
  8. 107
    Комментарии
    0
    Темы
    107
    Репутация Pro
    Аватар для religare777  
    В начале пути

    2 Медалей
    Добрый день!
    Подскажите формулу определения кол-ва дней имеющейся истории торговли.
    Необходимо для индикатора, отображающего историю торговли на экране в отдельном окне. А так приходится ручками вводить.
    С уважением,
    Александр
  9. 1
    Комментарии
    0
    Темы
    1
    Репутация Pro
     
    Новичок

    2 Медалей
    0000000000
  10. 405
    Комментарии
    2
    Темы
    411
    Репутация Pro
     
    Member

    2 Медалей
    Цитата Сообщение от religare777 Посмотреть сообщение
    Добрый день!
    Подскажите формулу определения кол-ва дней имеющейся истории торговли.
    Необходимо для индикатора, отображающего историю торговли на экране в отдельном окне. А так приходится ручками вводить.
    С уважением,
    Александр
    Код:
    OrderSelect(0,SELECT_BY_POS,MODE_HISTORY);
    Days=(TimeCurrent()-OrderOpenTime())/3600/24 + 1;

Вверх
РегистрацияX

чтобы писать, читать, комментировать