Пара вопросов.

Образцы, куски исходников, вопросы. Обсуждаем программирование.
Ответить
Сообщение
Автор
wellx
Сообщения: 80
Зарегистрирован: Пн окт 23, 2006 9:30 am

Пара вопросов.

#1 Сообщение wellx » Чт ноя 09, 2006 5:09 pm

чет-то я запутался. Ткните куда смотреть:
1. надо проверить тестированием работу индикатора.
При этом выводить в журнал некий параметр, нпример факт смены бара. Никаких торговых операций не предусмотрено.
собственно вопрос: для этого стратегия подойдет?
И как , например, записать в журнал через Print смену бара и какое-нибудь значение например open.

2. Скиньте, плиз, пару строк кода как сделать вот такую вещь.
- Проходим первый раз по истории , запоминаем некий набор данных и далее уже считаем лишь изменения. Проблема в том, что у меня получается какая-то каша в коде обработки пришедшего тика в стратегии. хочется в нем разделить первый прогон и последующие.

Блин. как тяжко отлаживать без отладчика :((

Аватара пользователя
Terranin
Site Admin
Сообщения: 846
Зарегистрирован: Вс июл 23, 2006 12:01 pm

Re: Пара вопросов.

#2 Сообщение Terranin » Чт ноя 09, 2006 5:31 pm

wellx писал(а):чет-то я запутался. Ткните куда смотреть:
1. надо проверить тестированием работу индикатора.
При этом выводить в журнал некий параметр, нпример факт смены бара. Никаких торговых операций не предусмотрено.
собственно вопрос: для этого стратегия подойдет?
И как , например, записать в журнал через Print смену бара и какое-нибудь значение например open.

2. Скиньте, плиз, пару строк кода как сделать вот такую вещь.
- Проходим первый раз по истории , запоминаем некий набор данных и далее уже считаем лишь изменения. Проблема в том, что у меня получается какая-то каша в коде обработки пришедшего тика в стратегии. хочется в нем разделить первый прогон и последующие.

Блин. как тяжко отлаживать без отладчика :((
1. Пример вывода значений индикатора:

Код: Выделить всё


var
  LastTime: TDateTime;

procedure GetSingleTick; stdcall;
var
  value: double;
begin
  if Symbol <> 'наша валюта' then
    exit;

  // устанавливаем нашу валюту и таймфрейм
  SetCurrencyAndTimeframe(Symbol, Timeframe);

  // проверка нового бара
  if Time(0)  = LastTime then
     exit;

  LastTime := Time(0);

  value := GetIndicatorValue(ид, 0, индекс буфера);
  Print(format('Наш индикатор: %.4f', [value]));
  
  или

  Breakpoint(1, format('Наш индикатор: %.4f', [value]));
end;

2. насчет второго вопроса не понятно что нужно
Asta la vista
Mike

wellx
Сообщения: 80
Зарегистрирован: Пн окт 23, 2006 9:30 am

Re: Пара вопросов.

#3 Сообщение wellx » Пт ноя 10, 2006 8:58 am

Terranin писал(а):
wellx писал(а):чет-то я запутался. Ткните куда смотреть:
1. надо проверить тестированием работу индикатора.
При этом выводить в журнал некий параметр, нпример факт смены бара. Никаких торговых операций не предусмотрено.
собственно вопрос: для этого стратегия подойдет?
И как , например, записать в журнал через Print смену бара и какое-нибудь значение например open.

2. Скиньте, плиз, пару строк кода как сделать вот такую вещь.
- Проходим первый раз по истории , запоминаем некий набор данных и далее уже считаем лишь изменения. Проблема в том, что у меня получается какая-то каша в коде обработки пришедшего тика в стратегии. хочется в нем разделить первый прогон и последующие.

Блин. как тяжко отлаживать без отладчика :((
1. Пример вывода значений индикатора:

Код: Выделить всё


var
  LastTime: TDateTime;

procedure GetSingleTick; stdcall;
var
  value: double;
begin
  if Symbol <> 'наша валюта' then
    exit;

  // устанавливаем нашу валюту и таймфрейм
  SetCurrencyAndTimeframe(Symbol, Timeframe);

  // проверка нового бара
  if Time(0)  = LastTime then
     exit;

  LastTime := Time(0);

  value := GetIndicatorValue(ид, 0, индекс буфера);
  Print(format('Наш индикатор: %.4f', [value]));
  
  или

  Breakpoint(1, format('Наш индикатор: %.4f', [value]));
end;

2. насчет второго вопроса не понятно что нужно
Возьмем например зигзаг с паука, про который ты сам писал что зачем-то пробегает каждый раз все бары. по сути вот и вопрос как разделить первый раз пробег и определить что пробегать на следующих тиках не надо.

Да, по первому примеру понятно, но там еще подвопрос был, стратегия где нет операций с ордерами проходит? а то сначала надо кучу исследований провеста и лишь потом за стратегию в истинном смысле садиться.

Кстати, как такая идея , может провести некий мастер-класс от тебя на форуме в отдельной ветке. Я объясняю чего хочу , пишу код, публикую, ты его поправляешь с объяснением каких-то моментов. После его пишем нормальную стратегию (я пишу, ты поправляешь ошибки) для всех остается нормальный не тестовый примерчик.

Аватара пользователя
Terranin
Site Admin
Сообщения: 846
Зарегистрирован: Вс июл 23, 2006 12:01 pm

Re: Пара вопросов.

#4 Сообщение Terranin » Пт ноя 10, 2006 4:07 pm

wellx писал(а):
Возьмем например зигзаг с паука, про который ты сам писал что зачем-то пробегает каждый раз все бары. по сути вот и вопрос как разделить первый раз пробег и определить что пробегать на следующих тиках не надо.

Да, по первому примеру понятно, но там еще подвопрос был, стратегия где нет операций с ордерами проходит? а то сначала надо кучу исследований провеста и лишь потом за стратегию в истинном смысле садиться.

Кстати, как такая идея , может провести некий мастер-класс от тебя на форуме в отдельной ветке. Я объясняю чего хочу , пишу код, публикую, ты его поправляешь с объяснением каких-то моментов. После его пишем нормальную стратегию (я пишу, ты поправляешь ошибки) для всех остается нормальный не тестовый примерчик.
С зигзагом я делал так: ищем предпоследний перелом от конца и пляшем от него. Когда индикатор вообще не рассчитан у него нет переломов и мы доходим до самого первого бара. Я с этим дурацким индикатором чессно говоря заблудился, в целом его написал но есть неправильные места когда 2 донышка подряд получаются.

Про мастер класс подумаю когда разгружусь.
Asta la vista
Mike

wellx
Сообщения: 80
Зарегистрирован: Пн окт 23, 2006 9:30 am

Re: Пара вопросов.

#5 Сообщение wellx » Пт ноя 10, 2006 4:27 pm

Terranin писал(а): С зигзагом я делал так: ищем предпоследний перелом от конца и пляшем от него. Когда индикатор вообще не рассчитан у него нет переломов и мы доходим до самого первого бара. Я с этим дурацким индикатором чессно говоря заблудился, в целом его написал но есть неправильные места когда 2 донышка подряд получаются.

Про мастер класс подумаю когда разгружусь.
Я тоже заблудился и вообще решил переделать его целиком, но вот вопрос - как правильно оформить разделение первого и последующих проходов в теле обработки тиков?

Пытался через переменную boolean но чего то ощущение что делаю не так как надо. потому и про мастер класс спросил. Если я наступаю на грабли, то остальные делфисты начинающие и подавно :((

пока до понедельника.

Ответить