Форум трейдеров » Торговые роботы, советники, индикаторы » Вопросы программирования
+ Подписаться
Страница 53 из 87 ПерваяПервая ... 343515253545563 ... ПоследняяПоследняя
  1. 3,168
    Комментарии
    1
    Темы
    3184
    Репутация Pro
    Аватар для SergP  
    Мастер форумных наук

    4 Медалей
    Цитата Сообщение от EQU Посмотреть сообщение
    MqlDateTime

    Структура даты содержит в себе восемь полей типа int.

    struct MqlDateTime
    {
    int year; // год
    int mon; // месяц
    int day; // день
    int hour; // час
    int min; // минуты
    int sec; // секунды
    int day_of_week; // день недели (0-воскресенье, 1-понедельник, ... ,6-суббота)
    int day_of_year; // порядковый номер в году (1 января имеет номер 0)
    };

    Вам - спосибо..;)
    ты забыл добавить- как доступ к полю получить:D
    для не профи(писателя только МТ4)- это будет проблематично:D
  2. 134
    Комментарии
    1
    Темы
    136
    Репутация Pro
    Аватар для G_Dark  
    В начале пути

    2 Медалей
    Цитата Сообщение от SergP Посмотреть сообщение
    ты забыл добавить- как доступ к полю получить:D
    для не профи(писателя только МТ4)- это будет проблематично:D
    Да нет с языком С++ знакома.
  3. 107
    Комментарии
    0
    Темы
    107
    Репутация Pro
    Аватар для religare777  
    В начале пути

    2 Медалей
    Добрый день!
    Вопрос:
    Как вернуть количество открытых ордеров размером StartLots*i (лотов)?
    И закрыть вновь открытый ордер (размером StartLots*i), если он больше по номеру, чем MaxBlocks?
    Например:
    StartLots*i=0.01
    MaxBlocks=10
    открывается 11-й ордер размером 0.01, необходимо запретить(!) его открытие.
    Спасибо заранее!
    Александр
  4. 1,156
    Комментарии
    4
    Темы
    1189
    Репутация Pro
    Аватар для zerkmax  
    Мастер форумных наук

    4 Медалей
    Цитата Сообщение от religare777 Посмотреть сообщение
    Добрый день!
    Вопрос:
    Как вернуть количество открытых ордеров размером StartLots*i (лотов)?
    И закрыть вновь открытый ордер (размером StartLots*i), если он больше по номеру, чем MaxBlocks?
    Например:
    StartLots*i=0.01
    MaxBlocks=10
    открывается 11-й ордер размером 0.01, необходимо запретить(!) его открытие.
    Спасибо заранее!
    Александр
    int LotsCount=0;
    int j=0;
    int total = OrdersTotal();
    for(j = 0; j <= total; j++)
    {
    OrderSelect(j, SELECT_BY_POS, MODE_TRADES);
    if(OrderLots( ) == StartLots*i)
    {
    LotsCount ++;
    }
    }

    LotsCount содержит количество ордеров открытых размером StartLots*i.

    if (LotsCount < MaxBlocks) // если таких ордеров меньше чем MaxBlocks
    {
    открываем ордер
    }
  5. 107
    Комментарии
    0
    Темы
    107
    Репутация Pro
    Аватар для religare777  
    В начале пути

    2 Медалей
    Цитата Сообщение от zerkmax Посмотреть сообщение
    int LotsCount=0;
    int j=0;
    int total = OrdersTotal();
    for(j = 0; j <= total; j++)
    {
    OrderSelect(j, SELECT_BY_POS, MODE_TRADES);
    if(OrderLots( ) == StartLots*i)
    {
    LotsCount ++;
    }
    }

    LotsCount содержит количество ордеров открытых размером StartLots*i.

    if (LotsCount < MaxBlocks) // если таких ордеров меньше чем MaxBlocks
    {
    открываем ордер
    }
    Спасибо!!! А как прописать, чтобы именно удалялся такой ордер?
    if (LotsCount > MaxBlocks)
    {
    удаление ордера
    }

    Александр
  6. 2,974
    Комментарии
    7
    Темы
    2995
    Репутация Pro
     
    Banned

    4 Медалей
    Цитата Сообщение от religare777 Посмотреть сообщение
    Спасибо!!! А как прописать, чтобы именно удалялся такой ордер?
    if (LotsCount > MaxBlocks)
    {
    удаление ордера
    }

    Александр
    В таком же цикле..

    if (LotsCount > MaxBlocks)
    {
    OrderClose(...);// с соответствующими параметрами для бай/селл - слетит, возможно, не тот, что хотелось..:smartass:
    return;
    }
  7. 1,156
    Комментарии
    4
    Темы
    1189
    Репутация Pro
    Аватар для zerkmax  
    Мастер форумных наук

    4 Медалей
    Цитата Сообщение от religare777 Посмотреть сообщение
    Спасибо!!! А как прописать, чтобы именно удалялся такой ордер?
    if (LotsCount > MaxBlocks)
    {
    удаление ордера
    }

    Александр
    я не александр ;-)
    проще оставить так как есть, тогда лишний ордер просто не откроется.
  8. 1,156
    Комментарии
    4
    Темы
    1189
    Репутация Pro
    Аватар для zerkmax  
    Мастер форумных наук

    4 Медалей
    Цитата Сообщение от EQU Посмотреть сообщение
    В таком же цикле..

    if (LotsCount > MaxBlocks)
    {
    OrderClose(...);// с соответствующими параметрами для бай/селл - слетит, возможно, не тот, что хотелось..:smartass:
    return;
    }
    а перед этим в цикле счета ордеров надо сохранять тикеты уже открытых, и если есть лишний ордер (то есть последний тикет), то его и грохаем ;-)
  9. 1,156
    Комментарии
    4
    Темы
    1189
    Репутация Pro
    Аватар для zerkmax  
    Мастер форумных наук

    4 Медалей
    все к метаквотам на чемпионат. седне подтвердил заявку. время еще есть, чтоб разобраться с mql5 и состряпать советника.
  10. 3,168
    Комментарии
    1
    Темы
    3184
    Репутация Pro
    Аватар для SergP  
    Мастер форумных наук

    4 Медалей
    Цитата Сообщение от zerkmax Посмотреть сообщение
    а перед этим в цикле счета ордеров надо сохранять тикеты уже открытых, и если есть лишний ордер (то есть последний тикет), то его и грохаем ;-)
    время открытия ещё сечь можна:D

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

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