MadRob:
Много раз видел следующую фишку, после завершения теста советника, график полностью очищается. Не остается ни значков сделок, ни используемых индикаторов, ничего.
Я думаю, что это делают для того чтобы не спалить какие индикаторы используются при открытии сделок.
Вопрос, как это сделать? Как полностью очистить график после завершения теста советника?
По-разному. Можно так:
// Удаление созданных графических объектов void ClearScreen(){ int Dimension=2*TypesTotal; string Name, Pref[]; Comment(" "+ " "+ " "); ArrayResize(Pref,Dimension); Pref[ 0]=NameTangent[0]; Pref[ 1]=NameTangent[1]; Pref[ 2]=NameTrend[0]; Pref[ 3]=NameTrend[1]; Pref[ 4]=NameBaseLevel[0]; Pref[ 5]=NameBaseLevel[1]; Pref[ 6]=NameTrace[0]; Pref[ 7]=NameTrace[1]; Pref[ 8]=NameLevel12[0]; Pref[ 9]=NameLevel12[1]; Pref[10]=NameLevel22[0]; Pref[11]=NameLevel22[1]; Pref[12]=NameBorder[0]; Pref[13]=NameBorder[1]; Pref[14]=NameLevel2[0]; Pref[15]=NameLevel2[1]; Pref[16]=NameMainLevel12[0]; Pref[17]=NameMainLevel12[1]; Pref[18]=NameMainLevel22[0]; Pref[19]=NameMainLevel22[1]; Pref[20]=NameSpiralBorder[0]; Pref[21]=NameSpiralBorder[1]; Pref[22]=NameMainLevel2[0]; Pref[23]=NameMainLevel2[1]; Pref[24]=NameAttention[0]; Pref[25]=NameAttention[1]; Pref[26]=NameLevel1[0]; Pref[27]=NameLevel1[1]; Pref[28]=NameMainLevel1[0]; Pref[29]=NameMainLevel1[1]; Pref[30]=NameSpiral[0]; Pref[31]=NameSpiral[1]; Pref[32]=NameSpan[0]; Pref[33]=NameSpan[1]; Pref[34]=NameMainLevel0[0]; Pref[35]=NameMainLevel0[1]; Pref[36]=NameMainLevel5[0]; Pref[37]=NameMainLevel5[1]; Pref[38]=NameMainLevel6[0]; Pref[39]=NameMainLevel6[1]; Pref[40]=Name123[0]; Pref[41]=Name123[1]; int i, k=ObjectsTotal()-1; while( k>=0 ){ Name=ObjectName(k); i=Dimension-1; while( i>=0 ){ if( StringSubstr(Name,0,StringLen(Pref[i]))==Pref[i] ){ if( !ObjectDelete(Name) ) { if( !РежимОтладки ) PlaySound("alert.wav"); Print("***** "+Name+": ошибка удаления "+GetLastError()+" при очистке экрана"); } } i--; } k--; } return; }
Что-то ккой-то прям слишком блинный код для такой задачи?
А есть еще ккие-нибудь варианты?
MadRob:
Есть. ObjectsDeleteAll(); и HideTestIndicators();
Что-то ккой-то прям слишком блинный код для такой задачи?
А есть еще ккие-нибудь варианты?
отличные варианты. Спасибо!
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Много раз видел следующую фишку, после завершения теста советника, график полностью очищается. Не остается ни значков сделок, ни используемых индикаторов, ничего.
Я думаю, что это делают для того чтобы не спалить какие индикаторы используются при открытии сделок.
Вопрос, как это сделать? Как полностью очистить график после завершения теста советника?