EA N7S_AO_772012 - страница 27

 

Попробовал индикатор МАКД, часовки. По результату и по времени оптимизации лучше. Подпиленную функцию G12 прилагаю. Добавился только case 3


double G12() {switch(Indctr)
{case 0:
iCusAO_1 = iAO(NULL, 240, 1); iCusAO_2 = iAO(NULL, 240, 2);
iCusTSM_1 = iCusTSM (24, 1); iCusTSM_2 = iCusTSM (24, 2);
Dlt_AO12 = iCusAO_1 -iCusAO_2;Dlt_TSM12 = iCusTSM_1-iCusTSM_2;
if ( Dlt_AO12>=0 && Dlt_TSM12 <=0) return (0);
if ( Dlt_AO12<=0 && Dlt_TSM12 >=0) return (0);
return(Dlt_AO12);
case 1:
iCusAO_1 = iAO(NULL, 240, 1); iCusAO_2 = iAO(NULL, 240, 2);
Dlt_AO12 = iCusAO_1 -iCusAO_2; return(Dlt_AO12);
case 2:
iCusTSM_1 = iCusTSM (24, 1); iCusTSM_2 = iCusTSM (24, 2);
Dlt_AO12 = iCusTSM_1-iCusTSM_2; return(Dlt_AO12);
case 3:
iCusAO_1 = iMA(NULL,60,12,0,MODE_EMA,PRICE_CLOSE,1)-iMA(NULL,60,26,0,MODE_EMA,PRICE_CLOSE,1);
iCusAO_2 = iMA(NULL,60,12,0,MODE_EMA,PRICE_CLOSE,2)-iMA(NULL,60,26,0,MODE_EMA,PRICE_CLOSE,2);
Dlt_AO12 = iCusAO_1 -iCusAO_2; return(Dlt_AO12);}}


ЗЫ. На демке пока не обкатывал, начну в марте

 
Довольно часто при открытии позиции выпадает ошибка 146 (занятость торгового потока). У всех так?
 
gorby777 >>:
Довольно часто при открытии позиции выпадает ошибка 146 (занятость торгового потока). У всех так?

Это ошибка не в советнике, все вопросы к своему брокеру)

 
mpeugep >>:

Это ошибка не в советнике, все вопросы к своему брокеру)

Может все-таки это вопрос очередности потоков для мультивалютного советника?

 
mpeugep >>:

Это ошибка не в советнике, все вопросы к своему брокеру)

Вопрос не к брокеру. Это локальная ошибка терминала, ЕМНИП. Легко лечится.

 
TheXpert >>:

Вопрос не к брокеру. Это локальная ошибка терминала, ЕМНИП. Легко лечится.

Семь раз в сутки ошибка при семи парах. Чем лечится, подскажите?

 
gorby777 >>:

Семь раз в сутки ошибка при семи парах. Чем лечится, подскажите?

Sleep ом пока контекст не освободится.

 
TheXpert >>:

Sleep ом пока контекст не освободится.

Спасибо )

 
IsTradeAllowed( ) и
IsTradeContextBusy( )

должны и будут использоваться в версии для реала.

Для тестирования, а тем более оптимизации они не обязательны.

Для демо IMHO досаточно

if(!IsTesting())
{while(!( rslt>0 || TimeCurrent()-Begin>20))
{Sleep(1000); RefreshRates();
rslt= OrderSend(Symbol(),Op_,Vl,prc,slppg(),StLs,TkPt,cmnt,mgc,0,clr); }}

в функции MOS() управления ордерами.

 

Кто как тестирует и с чем. У меня 6 инструментов на двух счетах с разными лотами. Верия L9 с Indctr=1.

Счет -$440 ( +$900) на одном-лот 0,1 и -$3400 (+$5600) на другом- лот от 0,5 до 2.

Интересное наблюдение! Счета разные но один ДЦ. На одном стоплосс по йене был слизан пункт в пункт, на другом цена не дошла до него пару пунктов.

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