Alexey Viktorov: Алексей!!! При твоём-то опыте? Ну извини. На всякий случай, если создать шаблон с именем "Tester" то тест будет запускаться с этим шаблоном не зависимо от имени советника. Если создать шаблон "Debug" то отладка запустится с эти шаблоном. Если создать шаблон "Default" то новое окно графика будет открываться с этим шаблоном...
Так будет получше, чем в примере выше. При компиляции,(во время работы советника), не будет постоянно тиражироваться в то же самое подокно тот же самый индикатор.
int OnInit()
{
...
//+------------------------------------------------------------------+
std_Handle = iStdDev(my_symb,0,std_p,0,std_m,std_ap);
if(std_Handle==INVALID_HANDLE)
{Print("Не удалось создать хэндл индикатора std_Handle.",Error_function());
return(-1);}
ArraySetAsSeries(std_buf,true);
string shortName_StdDev="StdDev("+IntegerToString(std_p,0,0)+")";
Alert("my_symb=",my_symb,"; Короткое имя индикатора, StdDev=",shortName_StdDev);
int n_StdDev=ChartWindowFind(0,shortName_StdDev);
if(n_StdDev>-1) Alert("my_symb=",my_symb,"; Индикатор StdDev в подокне ",n_StdDev);
if(n_StdDev==-1)
{Alert("my_symb=",my_symb,"; Подокно с индикатором StdDev не найдено. Добавляем индикатор.");
if(!ChartIndicatorAdd(0,1,std_Handle))
Alert("my_symb=",my_symb,"; Не удалось добавить индикатор StdDev на окно графика.",Error_function());
elseAlert("my_symb=",my_symb,
"; Добавлен индикатор StdDev, в подокно ("+IntegerToString(ChartWindowFind(0,shortName_StdDev))+")");}
//+------------------------------------------------------------------+
...
return(INIT_SUCCEEDED);
}
Можно ещё самому доработать, 1- добавить в начало OnInit() очистку от любых индикаторов, подокон и объектов на графике, если это нужно самому. 2- в OnDeinit() очистку от всего, в момент прекращения работы советника.
Алексей!!! При твоём-то опыте? Ну извини. На всякий случай, если создать шаблон с именем "Tester" то тест будет запускаться с этим шаблоном не зависимо от имени советника. Если создать шаблон "Debug" то отладка запустится с эти шаблоном. Если создать шаблон "Default" то новое окно графика будет открываться с этим шаблоном...
Очень интересно.
А какие ещё нерегламентирование фишки Вы знаете?
Очень интересно.
А какие ещё нерегламентирование фишки Вы знаете?
Не так уж и много, но ещё одну знаю.
OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 30);закрывает безупречно ордера как Buy так и Sell
Не так уж и много, но ещё одну знаю.
закрывает безупречно ордера как Buy так и Sell
Так будет получше, чем в примере выше. При компиляции,(во время работы советника), не будет постоянно тиражироваться в то же самое подокно тот же самый индикатор.
Можно ещё самому доработать, 1- добавить в начало OnInit() очистку от любых индикаторов, подокон и объектов на графике, если это нужно самому. 2- в OnDeinit() очистку от всего, в момент прекращения работы советника.