- Перетаскивание SL и TP в тестере.
- Глобальные переменные терминала и тестер стратегий
- [ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда.
Как Вы думаете тестер связан с работой советников и индикаторов при одновременной работе??? ДА! в случае совпадения имен глобальных переменных. Я увидел как у меня начали открываться ордера на реале самопроизвольно при тестировании этого же советника который прикреплен к графику. Оказалось что советник применяет значения глобальных переменных тестера и соответственно открывает ордера. Так можно и депозит спустить ненароком. Хорошо что я заметил это и еще в советнике стоит ограничение на один ордер а так бы .......... Возможно эта информация кому то поможет.
Я уверен, что большинство не пользуется для торговли и разработки-тестирования одним и тем же терминалом.
Я уверен, что большинство не пользуется для торговли и разработки-тестирования одним и тем же терминалом.
Я согласен но просто иногда для перепроверки тестирую на предмет ошибок в настройках, типа что то изменил а обратно забыл вернул значение, в остальных случаях необходимо использовать отдельный терминал. Но всеже если возникает необходимость протестиовать на одном терминале то надо всегда ставить запрет на торговлю. И еще после этого необходимо с помощью скрипта очистить значения глобальных переменных.
Как Вы думаете тестер связан с работой советников и индикаторов при одновременной работе??? ДА! в случае совпадения имен глобальных переменных. Я увидел как у меня начали открываться ордера на реале самопроизвольно при тестировании этого же советника который прикреплен к графику. Оказалось что советник применяет значения глобальных переменных тестера и соответственно открывает ордера. Так можно и депозит спустить ненароком. Хорошо что я заметил это и еще в советнике стоит ограничение на один ордер а так бы .......... Возможно эта информация кому то поможет.
В инит:
gvp=WindowExpertName()+"_"+Symbol()+"_"+Magic+"_"; if(IsTesting())gvp=gvp+"t_"; if(IsDemo())gvp=gvp+"d_"; if(IsTesting()){ for(int i=GlobalVariablesTotal()-1;i>=0;i--){ if(StringFind(GlobalVariableName(i),gvp,0)==0){ GlobalVariableDel(GlobalVariableName(i)); } } }
в деинит:
if(IsTesting()){ for(int i=GlobalVariablesTotal()-1;i>=0;i--){ if(StringFind(GlobalVariableName(i),gvp,0)==0){ GlobalVariableDel(GlobalVariableName(i)); } } }
Все имена глобальных переменных начинаются с переменной gvp:
GlobalVariableSet(gvp+"....");
я сделал так:
//------------------------------------------------------int magic = 203050;
string test="test";
string optimiz="optimiz";
string demo="demo";
//------------------------------------------------------
int init()
{
if(IsTesting())name_GV=test;
if(IsOptimization())name_GV=optimiz;
if(IsDemo())name_GV=demo;
}
//------------------------------------------------------
int start()
{
.
.
.
GlobalVariableSet(magic+"L1"+name_GV,L_1);
GlobalVariableSet(magic+"L2"+name_GV,L_2);
.
.
.
.
.
}
//------------------------------------------------------- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования