Страница 1 из 1

Определение начала следующей свечи

Добавлено: Ср авг 09, 2006 1:27 pm
Smile
var
OpenTime: TDateTime;

в процедуре:

if OpenTime<>Time(0) then
begin
SendInstantOrder(Symbol,ot_Sell,LotSize, Loss, 0, OrderHandle);
OpenTime:=Time(0);
end;

Добавлено: Ср авг 09, 2006 8:44 pm
Terranin
Лучше назвать "определение начала следующей свечи".

Лирическое отступление:

Стратегия может работать одновременно по всем валютам и по всем таймфреймам. Это означает что в стратегию приходят тики от всех валют и если стратегия работает только по одной она должна делать проверку на соответствие заданной валюте (при входе в процедуру уже установлены предопределеные переменные дающие информацию по тику 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;

Добавлено: Чт авг 10, 2006 12:53 pm
Smile
Уже назвал :D