Извращённый способ регулирования скорости тестера. MT4 |
void SlowdownSpeedTester () {
double _sn = 2, _sb = 3;
for(int i=0; i<SpeedForTester; i++) {
_sn *= _sn;
_sb *= _sb;
}
}
extern int SpeedForTester= 200000; // замедляем скорость тестирования
if(IsTesting()) {
if(SpeedForTester>0) SlowdownSpeedTester();
}
//+------------------------------------------------------------------+
//| Создает текстовую метку |
//+------------------------------------------------------------------+
bool LabelCreate(const string name="Label", // имя метки
const int x=0, // координата по оси X
const int y=0, // координата по оси Y
const color clr=clrRed, // цвет
const string text="text", // текст
const int font_size=16, // размер шрифта
const ENUM_BASE_CORNER corner=CORNER_RIGHT_UPPER,// угол графика для привязки
const string font="Arial", // шрифт
const ENUM_ANCHOR_POINT anchor=ANCHOR_RIGHT_UPPER,// способ привязки
const double angle=0.0, // наклон текста
const bool back=false, // на заднем плане
const bool selection=true, // выделить для перемещений
const bool hidden=true, // скрыт в списке объектов
const long z_order=0, // приоритет на нажатие мышью
const int sub_window=0, // номер подокна
const long chart_ID=0) // ID графика
{
//--- сбросим значение ошибки
ResetLastError();
//--- создадим текстовую метку
if(!ObjectCreate(chart_ID,name,OBJ_LABEL,sub_window,0,0)) {
Print(__FUNCTION__, ": не удалось создать текстовую метку! Код ошибки = ",GetLastError());
return(false);
}
//--- установим координаты метки
ObjectSetInteger(chart_ID,name,OBJPROP_XDISTANCE,x);
ObjectSetInteger(chart_ID,name,OBJPROP_YDISTANCE,y);
//--- установим угол графика, относительно которого будут определяться координаты точки
ObjectSetInteger(chart_ID,name,OBJPROP_CORNER,corner);
//--- установим текст
ObjectSetString(chart_ID,name,OBJPROP_TEXT,text);
//--- установим шрифт текста
ObjectSetString(chart_ID,name,OBJPROP_FONT,font);
//--- установим размер шрифта
ObjectSetInteger(chart_ID,name,OBJPROP_FONTSIZE,font_size);
//--- установим угол наклона текста
ObjectSetDouble(chart_ID,name,OBJPROP_ANGLE,angle);
//--- установим способ привязки
ObjectSetInteger(chart_ID,name,OBJPROP_ANCHOR,anchor);
//--- установим цвет
ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr);
//--- отобразим на переднем (false) или заднем (true) плане
ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back);
//--- включим (true) или отключим (false) режим перемещения метки мышью
ObjectSetInteger(chart_ID,name,OBJPROP_SELECTABLE,selection);
ObjectSetInteger(chart_ID,name,OBJPROP_SELECTED,selection);
//--- скроем (true) или отобразим (false) имя графического объекта в списке объектов
ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden);
//--- установим приоритет на получение события нажатия мыши на графике
ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order);
//--- успешное выполнение
return(true);
}
//+------------------------------------------------------------------+
extern int SpeedForTester= 200000; // замедляем скорость тестирования
if(IsTesting()) {
LabelCreate("EDIT", 20, 80, clrOrangeRed, (string)SpeedForTester, 16);
}
if(IsTesting()) {
int _speed = (int)ObjectGetString(0, "EDIT", OBJPROP_TEXT);
if(_speed>0) SlowdownSpeedTester(_speed);
}
void SlowdownSpeedTester (int _speed) {
double _sn = 2, _sb = 3;
for(int i=0; i<_speed; i++) {
_sn *= _sn;
_sb *= _sb;
}
}
05 апреля 2016
|
08 июня 2016
|
Комментарии (15)
Как говорится, все гениальное — просто.
3 newpvr Сообщений: 17 - Павел
27 Oxy Автор Сообщений: 3418 - ..ιllιlι.lι.ιllι.ιlι..
6 Carbon13 Сообщений: 84
27 Oxy Автор Сообщений: 3418 - ..ιllιlι.lι.ιllι.ιlι..
10 morww Сообщений: 44
«Чем больше число — тем меньше скорость, чем меньше число — тем выше скорость.»
P.S. Еще же все зависит от компа и от процессора, чем он занят. Если я параллельно еще нагружаю компьютер работой, то мне и ни какой замедлитель не нужен бывает — и так все тормозит. Редактирован: 11 мая 2016, 23:10
27 Oxy Автор Сообщений: 3418 - ..ιllιlι.lι.ιllι.ιlι..
Только вот что хотелось бы изменить — чтобы бай и селл работали независимо друг от друга, если это возможно. Буду сюда заходить периодически смотреть. Вдруг увидишь моё сообщение))). Спасибо заранее. Редактирован: 1 октября 2017, 18:18
0 rob8 Сообщений: 1
27 Oxy Автор Сообщений: 3418 - ..ιllιlι.lι.ιllι.ιlι..
Самый примитив — это, скажем, набабахать прерывания на прерывания на прерывания. Здесь искусственное замедление носит прикладной характер, здорово
Забавно, я как-то этот топик упустил из виду полтора года назад… Редактирован: 2 октября 2017, 16:26
24 ShamanHand Сообщений: 1092 - Наношу добро, причиняю пользу.
А есть возможность переписать в виде индикатора?
7 stepmega Сообщений: 88
27 Oxy Автор Сообщений: 3418 - ..ιllιlι.lι.ιllι.ιlι..
16 cerber04 Сообщений: 409
27 Oxy Автор Сообщений: 3418 - ..ιllιlι.lι.ιllι.ιlι..
12 Enot-pipsun Сообщений: 292
24 ShamanHand Сообщений: 1092 - Наношу добро, причиняю пользу.
Зарегистрируйтесь или авторизуйтесь, чтобы оставить комментарий