Как заработать деньги. Проект сам себе финансист.
июнь 2011
пн вт ср чт пт сб вс
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Главная » » »

Определение режима тестирования на истории с помощью функции IsTesting()

Из предыдущей статьи мы узнали о функции WaitBeforeTransaction(), которая выдерживает паузу между двумя последовательными торговыми операциями. В коде этой функции встречается очень много незнакомых функций. В этом и последующих выпусках я планирую очень кратко о них рассказать.

Сам исходный код функции обладает достаточным количеством комментариев, и я уверен, что логика реализации этой функции Вам станет абсолютно понятна после изучения следующих функций:

Начнем с рассмотрения функции IsTesting().

 bool IsTesting() 

Функция IsTesting() возвращает true, если эксперт работает в режиме тестирования на исторических данных, и false - если работа ведется на демо - или реальном счете.

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

Основное преимущество тестов на истории - быстрота. Вам не надо ждать месяцы или годы, чтобы оттестировать своего эксперта на реальных котировках. Вы просто "прогоняете" советника по истории. На это у Вас уходит лишь несколько минут. Тем не менее если Вы будете каждый раз ждать 10 секунд между торговыми операциями, то Вы потеряете это преимущество. Именно поэтому в коде нашей функции присутствует строка:

 if (IsTesting()) return(1); 

Т. е. мы выходим из функции, если эксперт находится в режиме тестирования на историчексих данных.

В следующей статье будет рассказано о глобальных переменных и о функции GlobalVariableCheck().



Автор статьи: Андрей Ведихин

Хомячковый рай. Уйти и потеряться:

Как убедиться, что советник может торговать

В прошлых выпусках мы узнали о различных торговых функциях, с помощью которых можно открывать/закрывать позиции, выставлять/модифицировать/удалять ордера: OrderSend(), OrderModify(), OrderDelete(), OrderClose() и OrderClosyBy().

В каждом случае мы исходили из того, что советнику разрешено торговать. Но в реальности это не всегда так.

В данной статье будет рассказано о трех функциях: IsExpertEnabled(), IsTradeContextBusy() и IsTradeAllowed().

Функция IsExpertEnabled()

 bool IsExpertEnabled() 

Функция IsExpertEnabled() возвращает true, если экспертам разрешено совершать сделки и управлять ордерами. Дело в том, что на уровне настроек клиентского терминала можно запретить ВСЕМ экспертам торговать. Это можно сделать, например, с помощью команды главного меню: Сервис -> Настройки. В появившемся окне выбираем вкладку "Советники", в которой ставим или убираем галочку напротив "Включить советники...".

Более простой способ отключать/включать советников - кнопка .

Если же на уровне настроек терминала работа экспертов запрещена, то функция IsExpertEnabled() вернет false.

Функция IsTradeContextBusy()

В каждый момент времени только один эксперт может торговать. Если в этот момент второй эксперт попытается совершить торговую операцию, то торговая функция вернет ошибку ERR_TRADE_CONTEXT_BUSY (146).

 bool IsTradeContextBusy() 

Функция IsTradeContextBusy() позволит Вам заблаговременно выявить ситуацию, когда другой эксперт уже пытается торговать (она вернет в этом случае значение true), и избежать нерезультативного вызова торговой функции (которая все равно завершиться с ошибкой). Обычно в таких случаях лучше подождать немного до того момента, когда другой эксперт закончит торговать (тогда функция IsTradeContextBusy() вернет значение false) и только после этого вызывать Вашу торговую функцию.

Функция IsTradeAllowed()

Функция IsTradeAllowed() объединяет все обе предыдущие функции. Она вернет true только в том случае, если торговля экспертов разрешена и торговый поток свободен для торговли, т. е. никакой другой эксперт не совершает в данный момент торговых операций.

 bool IsTradeAllowed() 

В следующей статье будет рассказано о том, как нужно использовать описанные выше функции на практике.



Автор статьи: Андрей Ведихин

Хомячковый рай. Уйти и потеряться:


Есть что сказать? Не стесняйтесь!






Последние статьи:

Выгодные «исламские счета» для трейдеров Форекс Выгодные «исламские счета» для трейдеров Форекс Таким образом, вне зависимости от стиля работы стоит использовать «исламские счета» и сотрудничать с компаниями, которые не берут с трейдеров swap-комиссии. ..
2014-09-29
Стоит ли покупать чужие торговые сигналы и прогнозы? Стоит ли покупать чужие торговые сигналы и прогнозы? И все же основным нашим советом станет отказ от покупки торговых сигналов и прогнозов. Куда лучше научиться анализировать валютный рынок и думать всегда только своей головой. ..
2015-02-12

Видео по теме:




В мире больших денег

  • Самые богатые люди
    планеты. Ежегодные рейтинги FORBS. Истории успеха признаных финансовых гуру
  • Самые дорогие вещи:
    Часы, автомобили, ноутбуки стоимотью в десятки и сотни тысяч долларов. Рубрика "Чтоб я так жил"
  • Денежные прогнозы
    Что покупать и что продавать? Периодические прогнозы цен на иностранные валюты, акции крупнейших компаний и драгоценные металлы

ВКонтакте с деньгами

УГОЛОК АДМИНИСТРАТОРА