var
OpenTime: TDateTime;
в процедуре:
if OpenTime<>Time(0) then
begin
SendInstantOrder(Symbol,ot_Sell,LotSize, Loss, 0, OrderHandle);
OpenTime:=Time(0);
end;
Определение начала следующей свечи
-
- Сообщения: 27
- Зарегистрирован: Вт авг 08, 2006 1:06 pm
Определение начала следующей свечи
Последний раз редактировалось Smile Чт авг 10, 2006 12:53 pm, всего редактировалось 1 раз.
- Terranin
- Site Admin
- Сообщения: 846
- Зарегистрирован: Вс июл 23, 2006 12:01 pm
Лучше назвать "определение начала следующей свечи".
Лирическое отступление:
Стратегия может работать одновременно по всем валютам и по всем таймфреймам. Это означает что в стратегию приходят тики от всех валют и если стратегия работает только по одной она должна делать проверку на соответствие заданной валюте (при входе в процедуру уже установлены предопределеные переменные дающие информацию по тику Symbol, Bid, Ask):
Далее если мы работаем по какому-то конкретному таймфрейму мы должны установить валюту и таймфрейм:
Мы можем сменить валюту и таймфрейм в любой момент по ходу исполнения программы чтобы получить доступ к другим данным. Теперь мы можем обращаться к массивам баров. Например чтобы определить что появился новый бар:
Лирическое отступление:
Стратегия может работать одновременно по всем валютам и по всем таймфреймам. Это означает что в стратегию приходят тики от всех валют и если стратегия работает только по одной она должна делать проверку на соответствие заданной валюте (при входе в процедуру уже установлены предопределеные переменные дающие информацию по тику Symbol, Bid, Ask):
Код: Выделить всё
var
OurCurrency: PChar;
...
if OurCurrency <> Symbol then
exit;
Код: Выделить всё
SetCurrencyAndTimeframe(OurCurrency, PERIOD_M15);
Код: Выделить всё
var
LastTime: TDateTime;
// проверка что изменилось время последнего бара в нужном
// таймфрейме
if Time(0) <> LastTime then
begin
....
LastTime := Time(0);
end;