Бета-тестирование MetaTrader 5 началось! - страница 40

 
Планируется ли в бете мт5 предоставить доступ к истории фьючерсов, хотя бы склеек? если да к каким и когда?
 
kombat >>:

..Дополнить русскую справку вкраплениями терминов на английском для большего понимания сути...

Не первостепенно, но очень полезно!

 
kombat >>:

Дополнить русскую справку вкраплениями терминов на английском для большего понимания сути.

Например:

Политика исполнения

Помимо общих правил исполнения ордеров, задаваемых брокером, трейдер может указывать дополнительные условия в поле "Политика исполнения" окна установки ордера:

· Все или ничего (All or None)
При указании такого условия, сделка может быть совершена исключительно в указанном объеме и по цене равной или лучше указанной в ордере. Если на рынке в данный момент не присутствует достаточного объема финансового инструмента, то ордер не будет исполнен.

Добавлено.

 
vdv2001 писал(а) >>

Из хелпа:

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

в реале при переключении периодов переменные обнуляются

2009.10.16 11:31:14 MarketProfile_Virgin POC (GBPUSD,M30) Изменился инструмент инициализация по новой!!!
2009.10.16 11:31:14 MarketProfile_Virgin POC (GBPUSD,M30) SymbolOld=
2009.10.16 11:31:00 MarketProfile_Virgin POC (GBPUSD,H2) Изменился инструмент инициализация по новой!!!
2009.10.16 11:31:00 MarketProfile_Virgin POC (GBPUSD,H2) SymbolOld=

В OnInit() происходит присвоение Symbol() переменной SymbolOld

string SymbolOld;

int OnInit() {

Print("SymbolOld= ", SymbolOld);
if(SymbolOld!=Symbol())
SymbolOld=Symbol();
}

Индикаторы перезагружаются по новой при смене символа или периода. Сейчас проверю, написано это в последней версии справки или нет.

Для анализа предыдущего переключения таймфрейма попробуйте использовать временные глобальные переменные клиентского терминала. Одной на индикатор должно хватить.

 
stringo писал(а) >>

Индикаторы перезагружаются по новой при смене символа или периода. Сейчас проверю, написано это в последней версии справки или нет.

Для анализа предыдущего переключения таймфрейма попробуйте использовать временные глобальные переменные клиентского терминала. Одной на индикатор должно хватить.

А при условии, что индикатор запущен в двух окнах на одном символе?

Тогда в одном из окон он обновлятся не будет.

Может всетаки разделите константу REASON_CHARTCHANGE как я преложил выше???

Уменьшится нагрузка на терминал(реже пересчот делать).

И с глобальными переменными связыватся не нужно :))

 
vdv2001 писал(а) >>

А при условии, что индикатор запущен в двух окнах на одном символе?

Тогда в одном из окон он обновлятся не будет.

Может всетаки разделите константу REASON_CHARTCHANGE как я преложил выше???

Уменьшится нагрузка на терминал(реже пересчот делать).

В имя временной глобальной переменной вставьте chart_id. Этот идентификатор живёт, пока живёт график и сохраняется между запусками терминала

Даже если разделить константу (на самом деле на эту тему нужны 3 константы, а не 2. мы подумаем), Вам всё равно надо будет использовать глобальную временную переменную, чтобы передавать информацию между жизнями

 
stringo писал(а) >>

В имя временной глобальной переменной вставьте chart_id. Этот идентификатор живёт, пока живёт график и сохраняется между запусками терминала

Даже если разделить константу (на самом деле на эту тему нужны 3 константы, а не 2. мы подумаем), Вам всё равно надо будет использовать глобальную временную переменную, чтобы передавать информацию между жизнями

Ок. Подождем

Я выкрутился создал объкт СТЕЛС :) с именем Символа

 
vdv2001 писал(а) >>

Ок. Подождем

Я выкрутился создал объкт СТЕЛС :) с именем Символа

Не мовсем выкрутился всеравно при смене таимфрейма происходит удаление объектов

void OnDeinit(const int reason)
{
switch(reason)
{
case REASON_CHARTCHANGE:
Print("Ничего не делаем");
break;
default:;
Print("Удаляем объекты");
DeleteMyObject();
}
}
т.е. переменная reason имееть какоето другое значение?

ВЫЯСНИЛ ВСЕГДА ВОЗВРАЩАЕТСЯ - ( 1 );

это в индикаторе в эксперте не проверял...

 

Жить с этим конечно можно, при компиляции не выдаёт за ошибку)))   

Было бы не плохо сделать модификацию ордера мышью до той цены, которая разрешена. а то двигаешь байлимит ближе к цене потом открывается окно с неактивной кнопкой "Modify"

 

 

OrderSend(request,result);
int Code=result.retcode; if(Code==TRADE_RETCODE_DONE) Print("Заявка выполнена Buy"); else Print("Код заявки Buy ", Code);
Print("result.order = ",result.order); Print(HistoryOrderGetDouble(result.order, ORDER_PRICE_OPEN));

Никак не могу получить информацию по последнему выплненному ордеру (и сделке тоже).

2009.10.16 14:17:25 R001 (GBPJPY,H4) result.order = 20715 -- вот тикет ордера, который реально находится в файле.

А результат оператора Print(History...) вседа только 0. То же и по сделке (последней).

Причина обращения: