Ошибки, баги, вопросы - страница 884

 
tol64:
Спасибо. Буду иметь ввиду. Может ещё, кто-нибудь подскажет, в каких случаях этот столбец заполняется, а в каких (как в моём случае) нет. Если что, спрошу в Сервисдеске.
Это идентификатор, который присваивает вашему ордеру исполняющая площадка - биржа.
 
Yedelkin:

 1. Вставляйте код правильно.

2. А параметр  m_period каким образом оптимизируется/подбирается? Т.е. чему равны его значения при вашей оптимизации?

Спасибо, разобрался, моя ошибка.
 
Rosh:
На расплывчатый вопрос можно дать только такой же рапслывчатый ответ - Периоды графиков
Спасибо, разобрался, моя ошибка.
 

 интерисую Вашы коментарии по ошибке: "  2012.11.28 09:38:18 4194304 bytes not available  " 

 
AndreyS:

 интерисую Вашы коментарии по ошибке: "  2012.11.28 09:38:18 4194304 bytes not available  " 

Не хватает памяти.
 
Rosh:
Это идентификатор, который присваивает вашему ордеру исполняющая площадка - биржа.
Спасибо. А уточните, пожалуйста, что имеется ввиду под внешней торговой системой, а то вдруг тоже неправильно понимаю.
 

Всем спасибо за ответы.

Обнаружилась такая неопределенность с type_filling: разрешен только один режим

string symbol = "EURUSD";
int flags = SymbolInfoInteger( symbol, SYMBOL_FILLING_MODE );
//разрешен только SYMBOL_FILLING_ALL_OR_NONE
при этом SendOrder размещает ордера одинаково успешно как с
MqlTradeRequest request;
request.type_filling = ORDER_FILLING_FOK; //соответствующий флаг разрешения 1
так и с
request.type_filling = ORDER_FILLING_RETURN; //соответствующий флаг разрешения 0

причем после успешного размещения фактическое свойство размещенного ордера ORDER_TYPE_FILLING всегда =ORDER_FILLING_RETURN, даже если в запросе было указано request.type_filling = ORDER_FILLING_FOK

MqlTradeResult result;
OrderSelect( result.order );
int tpAfter = OrderGetInteger( ORDER_TYPE_FILLING );
//tpAfter всегда = ORDER_FILLING_RETURN

По-моему несоответствие списка разрешенных режимов и фактическим свойствам ордера после размещения

 

tol64

Rosh: Это идентификатор, который присваивает вашему ордеру исполняющая площадка - биржа.

А уточните, пожалуйста, что имеется ввиду под внешней торговой системой, а то вдруг тоже неправильно понимаю.

Вы же сказали, что

tol64:

Yedelkin: А срабатывание Stop Limit ордеров при биржевой торговле проверяли?

 Да, только что специально внимательно понаблюдал за этим и в момент срабатывания ордера тоже в этом поле ничего не появляется.

 Так проверка при биржевой торговле была или не была?

 
Rosh:
Не хватает памяти.

Спасибо.

Прошу помощи для анализа ситуации, следующий код:


void CStrategyMA::FitnessFunction(int chromos)
{
  double res=0.0;
  
  // Выбор символа (m_strategy_symbol) из масива используемых символов (m_name_symbols[]) количаством (m_count_symbols)
  // Пример: m_count_symbols = 1; m_name_symbols[0] = "EURUSD.e";
  m_strategy_symbol = m_name_symbols[(int)MathRound(Colony[1][chromos]*(m_count_symbols-1))];
  
  // Выбор периода из масива по индексу (от PERIOD_M5 (индекс - 5) до PERIOD_D1 (индекс - 19))
  // Для наглядности:
  // ENUM_TIMEFRAMES PERIOD_INDEX [22] = {PERIOD_CURRENT,
  //                                      PERIOD_M1, PERIOD_M2,PERIOD_M3,PERIOD_M4,PERIOD_M5,PERIOD_M6,PERIOD_M10,PERIOD_M12,PERIOD_M15,PERIOD_M20,
  //                                      PERIOD_M30,PERIOD_H1,PERIOD_H2,PERIOD_H3,PERIOD_H4,PERIOD_H6,PERIOD_H8, PERIOD_H12,PERIOD_D1, PERIOD_W1,
  //                                      PERIOD_MN1};
  m_period = PERIOD_INDEX[(int)(MathRound(Colony[2][chromos]*5)+14)];
  
  // Освобождаю дескриптор загруженого ранее индикатора
  IndicatorRelease(m_handle);
  // Создаю новый индикатор с периодом - (int)(MathRound(Colony[3][chromos]*100)+1)
  // от 1 до 100
  m_handle=iMA(m_strategy_symbol,(ENUM_TIMEFRAMES)m_period,(int)(MathRound(Colony[3][chromos]*100)+1),0,MODE_EMA,PRICE_CLOSE);
  // Без использования Sleep(1000); - генерируется последующая ошибка при использовании в коде ф-ции: CopyBuffer
  // "ошибка доступа к историческим даным", хоть дескриптор и создан!?!?!?
  Sleep(1000);
  if(m_handle<0)
  {
    Alert("Ошибка при создании индикатора MA - номер ошибки: ",GetLastError()," ",m_strategy_symbol," ",m_period);
  } else
  {
    // Аналитический процес
    res = HistoryCheckTradeConditions();
  }
  AmountStartsFF++;
  Colony[0][chromos]=res;
}

 

При использовании даной функции возникает ошибка "2012.11.28 09:58:32 4194304 bytes not available", помогите понять, увеличил файл подкачки до 10 ГБт.

Также смущает необходимости использования  Sleep(1000);, помогите разобратся, и понять суть.

 
A100: Обнаружилась такая неопределенность с type_filling: разрешен только один режимпри этом SendOrder размещает ордера одинаково успешно как стак и с

причем после успешного размещения фактическое свойство размещенного ордера ORDER_TYPE_FILLING всегда =ORDER_FILLING_RETURN, даже если в запросе было указано request.type_filling = ORDER_FILLING_FOK

По-моему несоответствие списка разрешенных режимов и фактическим свойствам ордера после размещения

Вот здесь я уже пытался разобраться с аналогичными вопросами: https://www.mql5.com/ru/forum/2248/page5#comment_197730 (два подряд сообщения). После этого появились какие-то изменения в справочных материалах. Но мне сам вопрос стал не интересен, поэтому что именно изменилось - сказать не могу. Посмотрите ещё руководство пользователя терминала. По-моему, там тоже обновили описание этих режимов.
OrderSend() Вопросы
OrderSend() Вопросы
  • www.mql5.com
дожидается ли получения request], или после отправки торгового запроса на сервер сразу же переходит к следующему оператору (блоку)?
Причина обращения: