Скачать MetaTrader 5

Как обойти ограничение Sleep() в тестере

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Создавай темы на форуме и увеличивай рейтинг!
Vadim Pyankov
276
Vadim Pyankov 2014.01.18 15:59 
Чем заменить Sleep() в тестере? Что бы была пауза при определенном условии
barbarian
339
barbarian 2014.01.18 16:09  
vadynik:
Чем заменить Sleep() в тестере? Что бы была пауза при определенном условии
Для каких условий это требуется? Напишите подробнее, может костыль соорудим если штатных средств будет недостаточно :)
Vadim Pyankov
276
Vadim Pyankov 2014.01.18 16:13  
Barbarian:
Для каких условий это требуется? Напишите подробнее, может костыль соорудим если штатных средств будет недостаточно :)

Получаю убыток, хочу что бы сова спала определенное время, в реал тайме все работает, а в тестере нет, фиг пооптимизируешь((
barbarian
339
barbarian 2014.01.18 16:26  
vadynik:

Получаю убыток, хочу что бы сова спала определенное время, в реал тайме все работает, а в тестере нет, фиг пооптимизируешь((

Понятно. Если попробовать привязать в тестере не ко времени, а к свечам (временным барам). Т.е. получил минус, условие выкинуло на подсчет баров в соотношении ко времени. Если к примеру нужно ждать час, после получения убытка, а ТФ М15, то ждешь закрытия М15х4.

Эту реализацию можно ставить не только в тестере, но и в реальной торговле. Для получения более точного времени привяжи подсчет на ТФ М1.

Vadim Pyankov
276
Vadim Pyankov 2014.01.18 16:40  
Barbarian:

Понятно. Если попробовать привязать в тестере не ко времени, а к свечам (временным барам). Т.е. получил минус, условие выкинуло на подсчет баров в соотношении ко времени. Если к примеру нужно ждать час, после получения убытка, а ТФ М15, то ждешь закрытия М15х4.

Эту реализацию можно ставить не только в тестере, но и в реальной торговле. Для получения более точного времени привяжи подсчет на ТФ М1.


Спасибо за идею, можно будет попробовать
220Volt
1175
220Volt 2014.01.18 16:58  

Попробуйте (Нужно разрешить вызов dll):

#import "Kernel32.dll"
    void Sleep(int milliseconds);
#import

void fn()
{
    Sleep(1000);
}
Vitalie Postolache
12112
Vitalie Postolache 2014.01.18 17:05  
220Volt:

Попробуйте (Нужно разрешить вызов dll):


Это щютка такая, да? Ладно, смеюсь
220Volt
1175
220Volt 2014.01.18 17:08  
Смешно что? Совпадение имен? Не проверял.
Vadim Zhunko
5226
Vadim Zhunko 2014.01.18 17:14  
220Volt:
Смешно что? Совпадение имен? Не проверял.
Конечно, совпадение. Надо свою обёртку написать в DLL.
220Volt
1175
220Volt 2014.01.18 17:15  

Вот рабочий вариант http://msdn.microsoft.com/en-us/library/windows/desktop/ms686307(v=vs.85).aspx:

#import "Kernel32.dll"
    int SleepEx(int time,    // Время в миллисекундах
                int=false);  // Всегда передавать false
#import 
220Volt
1175
220Volt 2014.01.18 17:21  
Обратите внимание: возвращаемое значение изменил на int вместо void.
123
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий