Есть вопросы по написанию стратегии
Добавлено: Чт янв 18, 2007 9:06 am
Михаил добрый день!
Занялся всерьез написанием стратегий на Дельфи.
Документация, к сожалению, оказалась для меня (новичка) достаточно скудна или в ней очень много недописано. Прошу вас разъяснить следующую ситуацию:
Хочу получить значение 15 ЕМА через вызов индикатора. Использую помощь
Forex Tester v 1.0 Strategies help. Прописываю модули и т.п. как
описано в ФАКе и описании индикатора Moving Average ('MovingAverage',
'<Period: integer>; <Shift: integer>; <MAtype: string>; <ApplyToPrice:string>'
'8;5;Simple (SMA);Close'), но в результате получается какая-то
неразбериха = тип ЕМА не берет, а иногда не берет и тип цены 9illegal
value). Ни один из трех вариантов не работает.
Может у вас есть дополнительные описания функции? Хелп? Нельзя ли
подробней описать для чего нужны в GetIndicatorValue(IndMA, 0, 1)
индекс и буфер, и как их определять, если я хочу допустим получить
значения сразу для двух-трех ЕМА (15, 30, 45). Спасибо
Кусочек моего кода:
---
uses
SysUtils, Classes, StrategyInterfaceUnit, TechnicalFunctions;
var
IndMA: integer;
procedure ResetStrategy; stdcall;
begin
1) IndMA := CreateIndicator('GBPUSD', PERIOD_H1, 'MovingAverage','15;0;StrMAType(ma_EMA);Close');
2) IndMA := CreateIndicator('GBPUSD', PERIOD_H1, 'MovingAverage','15;0;ma_EMA;Close');
3) IndMA := CreateIndicator('GBPUSD', PERIOD_H1, 'MovingAverage','15;0;"Exponential (EMA)";Close');
end;
procedure GetSingleTick; stdcall; export
var
EMA: double;
begin
EMA := GetIndicatorValue(IndMA, 0, 1);
end;
Занялся всерьез написанием стратегий на Дельфи.
Документация, к сожалению, оказалась для меня (новичка) достаточно скудна или в ней очень много недописано. Прошу вас разъяснить следующую ситуацию:
Хочу получить значение 15 ЕМА через вызов индикатора. Использую помощь
Forex Tester v 1.0 Strategies help. Прописываю модули и т.п. как
описано в ФАКе и описании индикатора Moving Average ('MovingAverage',
'<Period: integer>; <Shift: integer>; <MAtype: string>; <ApplyToPrice:string>'
'8;5;Simple (SMA);Close'), но в результате получается какая-то
неразбериха = тип ЕМА не берет, а иногда не берет и тип цены 9illegal
value). Ни один из трех вариантов не работает.
Может у вас есть дополнительные описания функции? Хелп? Нельзя ли
подробней описать для чего нужны в GetIndicatorValue(IndMA, 0, 1)
индекс и буфер, и как их определять, если я хочу допустим получить
значения сразу для двух-трех ЕМА (15, 30, 45). Спасибо
Кусочек моего кода:
---
uses
SysUtils, Classes, StrategyInterfaceUnit, TechnicalFunctions;
var
IndMA: integer;
procedure ResetStrategy; stdcall;
begin
1) IndMA := CreateIndicator('GBPUSD', PERIOD_H1, 'MovingAverage','15;0;StrMAType(ma_EMA);Close');
2) IndMA := CreateIndicator('GBPUSD', PERIOD_H1, 'MovingAverage','15;0;ma_EMA;Close');
3) IndMA := CreateIndicator('GBPUSD', PERIOD_H1, 'MovingAverage','15;0;"Exponential (EMA)";Close');
end;
procedure GetSingleTick; stdcall; export
var
EMA: double;
begin
EMA := GetIndicatorValue(IndMA, 0, 1);
end;