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

 
Andrew1469:

Тогда подскажите где найти CFD под пятый метатрейдер?

В цифры я пытаюсь вникнуть, но несколько мешает недосказанность в документации, например в таблицах перечислений не приведены соответствующие цифры. Опытным путем установил, что SYMBOL_CALC_MODE_FOREX - это 0, но 33 и 34 в ответе сервера открытия не идентифицируется никак.

По поводу свопов - верно ли я понимаю, что  PositionGetDouble(POSITION_SWAP) и  HistoryDealGetDouble(Deal_Ticket,DEAL_SWAP) дают фактически накопленный своп в валюте депозита независимо от способа его начисления?

welltrade, тот своп, что отражается в терминале на позицию по символу PositionGetDouble(POSITION_SWAP), HistoryDealGetDouble(Deal_Ticket,DEAL_SWAP) накопленный по истории сделки. Зависимость есть и определяется торговыми условиями.

Используйте сравнение в конструкции if.

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций - Документация по MQL5
 
zfs:

welltrade, тот своп, что отражается в терминале на позицию по символу PositionGetDouble(POSITION_SWAP), HistoryDealGetDouble(Deal_Ticket,DEAL_SWAP) накопленный по истории сделки. Зависимость есть и определяется торговыми условиями.

Используйте сравнение в конструкции if.

Спасибо!
 

Подскажите, пожалуйста.
Есть код советника:

string symbol="GBPUSD";
//+------------------------------------------------------------------+
void OnInit()
{
   long chartid=ChartOpen(symbol,_Period);
   int handle=iMACD(symbol,_Period,12,26,9,PRICE_CLOSE);
   ChartIndicatorAdd(chartid,1,handle);
   ChartRedraw(chartid);
}
//+------------------------------------------------------------------+

Если закрыть вновь открытое окно, то все закрывается нормально и быстро.

Модифицируем код:

string symbol="GBPUSD";
//+------------------------------------------------------------------+
void OnInit()
{
   long chartid=ChartOpen(symbol,_Period);
   int handle=iCustom(symbol,_Period,"Examples\\MACD",12,26,9,PRICE_CLOSE);
   ChartIndicatorAdd(chartid,1,handle);
   ChartRedraw(chartid);
}
//+------------------------------------------------------------------+

И при закрытии окна терминал подвисает на секунду или около того.

Почему iCustom подвисает?

 

У меня вопрос. Про организацию оптимизации в тестере стратегий. Предусмотрено ли сохранение результатов работы оптимизации, чтобы потом можно было возобновить. На случай если оптимизировать долго, не один день.

 
Stasikusssss:

У меня вопрос. Про организацию оптимизации в тестере стратегий. Предусмотрено ли сохранение результатов работы оптимизации, чтобы потом можно было возобновить. На случай если оптимизировать долго, не один день.

Если не ошибаюсь, такая функция предусмотрена - логи тестирования сохраняются, однако, если вы скомпилировали советник после теста еще раз, даже если изменений не было - лог обнуляется
 
A100:

При использовании параметрической формы допускается не более 8 параметров.  Но тут вроде как 3 параметра!?

У тебя тупо одна закрывающая скобка пропущена в макросе.
 
Кто-то может помочь с моим вопросом?
 
fyords:
Кто-то может помочь с моим вопросом?

Только разработчики.  В сервисдеск.

// Не призываешь же ты меня хакнуть терминал, чтоб узнать как работает iCustom() и чем его вызов отличается от других.. ?

;)

 
MetaDriver:
Только разработчики.  В сервисдеск.
Спасибо. Думал тут быстрее будет.
 
MetaDriver:
У тебя тупо одна закрывающая скобка пропущена в макросе.

Да, спасибо, я ошибся при упрощении исходного кода - сейчас переписал ошибку по-другому

#define F1( N, X ) ((X) + (N))
#define F2( X, N ) F1( N, X )

#define FF( N, X, F )    F( N, F( N, X ))
#define FFF( N, X, F )   F( N, F( N, F( N, X )))
#define FFFF( N, X, F )  F( N, F( N, F( N, F( N, X ))))
#define FFFFF( N, X, F ) F( N, F( N, F( N, F( N, F( N, X )))))

void OnStart()
{
Print( FF( 1, 1, F2 ) ); // нормально
Print( FFF( 1, 1, F2 ) ); // нормально
Print( FFFF( 1, 1, F2 ) ); // ошибка компиляции
Print( FFFFF( 1, 1, F2 ) ); // ошибка компиляции
} 
Предыдущее удалил, чтобы не путаться. Из примера видно, что ошибка компиляции возникает при оределенном уровне вложенности