Из этого кусочка ничего не понятно, нужен полный код. С оптимизатором - выбираешь стратегию, потом открываешь параметры и ставишь какой-нибудь параметр от и до определенного значения с некоторым шагом изменения и запускаешь. Он прогонит стратегию изменяя этот параметр и нарисует кривые как менялись параметры.Komanch писал(а):А мне не хочет выдавать... Вставил для проверки такую строчку в код
...
temp:=FloatToSTR(info.StopLoss);
BreakPoint(1, temp);
...
Выдаётся в сообщении всякая близкая к нулю ерунда, на каждой свечке разная.
А ещё я не нашёл в справке описания, как обращаться с оптимизатором стратегий.
Ламерский вопрос
- Terranin
- Site Admin
- Сообщения: 846
- Зарегистрирован: Вс июл 23, 2006 12:01 pm
Asta la vista
Mike
Mike
-
- Сообщения: 42
- Зарегистрирован: Пн апр 02, 2007 9:04 am
- Откуда: Красноярск
В прикреплённом файле полный код. Почему обнаружил непонятку - там у меня условие на подвижку стопа, куда входит сравнение со старым стопом, так вот условие не срабатывает, стоп не двигается. В сообщении выдаётся что 0 у меня стоп. Если пользоваться аналогичной функцией OrderStopLoss, то всё нормально, и двигается стоп, и в сообщении верно показывается.
- Вложения
-
- RD4Strategy123.zip
- (1.95 КБ) 1452 скачивания
- Terranin
- Site Admin
- Сообщения: 846
- Зарегистрирован: Вс июл 23, 2006 12:01 pm
Сейчас проверил - вроде выдает правильный стоп лосс...Komanch писал(а):В прикреплённом файле полный код. Почему обнаружил непонятку - там у меня условие на подвижку стопа, куда входит сравнение со старым стопом, так вот условие не срабатывает, стоп не двигается. В сообщении выдаётся что 0 у меня стоп. Если пользоваться аналогичной функцией OrderStopLoss, то всё нормально, и двигается стоп, и в сообщении верно показывается.
- Вложения
-
- img.png
- (45.87 КБ) 32482 скачивания
Asta la vista
Mike
Mike
-
- Сообщения: 42
- Зарегистрирован: Пн апр 02, 2007 9:04 am
- Откуда: Красноярск
- Terranin
- Site Admin
- Сообщения: 846
- Зарегистрирован: Вс июл 23, 2006 12:01 pm
-
- Сообщения: 42
- Зарегистрирован: Пн апр 02, 2007 9:04 am
- Откуда: Красноярск
- Terranin
- Site Admin
- Сообщения: 846
- Зарегистрирован: Вс июл 23, 2006 12:01 pm
-
- Сообщения: 42
- Зарегистрирован: Пн апр 02, 2007 9:04 am
- Откуда: Красноярск
-
- Сообщения: 42
- Зарегистрирован: Пн апр 02, 2007 9:04 am
- Откуда: Красноярск
Доброго времени суток! Запускаю программу на тестирование, и у меня начинают рисоваться на графике сами собой множество скользящих средних – на каждой свечке добавляется ещё одна с периодом на единицу больше. Получается как на рисунке (мувинги – желтые). Это глюк или чего-то где-то надо включить-выключить? Проявляется только при использовании пары EURUSD… Может, как-то связано с тем, что все стратегии на этой паре? Но использование стратегий отключено…
P. S. А функция GetOrderInfo вроде заработала, но наполовину - стопы вроде двигаются как задумано, но в сообщении всё равно показывается ноль!..
P. S. А функция GetOrderInfo вроде заработала, но наполовину - стопы вроде двигаются как задумано, но в сообщении всё равно показывается ноль!..
- Вложения
-
- screen_00004.jpg
- (88.04 КБ) 33540 скачиваний
- Terranin
- Site Admin
- Сообщения: 846
- Зарегистрирован: Вс июл 23, 2006 12:01 pm
Оптимизатор стратегий наверное запускал? С перебором параметров. вот стратегия и навешала тебе мувингов. Удали их просто.Komanch писал(а):Доброго времени суток! Запускаю программу на тестирование, и у меня начинают рисоваться на графике сами собой множество скользящих средних – на каждой свечке добавляется ещё одна с периодом на единицу больше. Получается как на рисунке (мувинги – желтые). Это глюк или чего-то где-то надо включить-выключить? Проявляется только при использовании пары EURUSD… Может, как-то связано с тем, что все стратегии на этой паре? Но использование стратегий отключено…
P. S. А функция GetOrderInfo вроде заработала, но наполовину - стопы вроде двигаются как задумано, но в сообщении всё равно показывается ноль!..
Asta la vista
Mike
Mike
-
- Сообщения: 42
- Зарегистрирован: Пн апр 02, 2007 9:04 am
- Откуда: Красноярск
Понятно... А сделать так, чтобы мувинги, ну и вообще индюки удалялись после использования нельзя? А то я запустил перебор параметра средней от 10 до 100, а компутер на 73-м варианте повис... Теперь понятно почему - расчёт 60-и мувингов - с такой задачей не каждый камень справится!
И ещё вопрос - оптимизатор у меня перебирает варианты только по одной переменной, хотя задаю три. Это так или чего-то включить надо?
И ещё вопрос - оптимизатор у меня перебирает варианты только по одной переменной, хотя задаю три. Это так или чего-то включить надо?
- Terranin
- Site Admin
- Сообщения: 846
- Зарегистрирован: Вс июл 23, 2006 12:01 pm
Вообще по идее должны были бы удаляться, надо будет посмотреть. Тут народ тестировал и 300 мувингов одновременно и говорят работает нормально.Komanch писал(а):Понятно... А сделать так, чтобы мувинги, ну и вообще индюки удалялись после использования нельзя? А то я запустил перебор параметра средней от 10 до 100, а компутер на 73-м варианте повис... Теперь понятно почему - расчёт 60-и мувингов - с такой задачей не каждый камень справится!
И ещё вопрос - оптимизатор у меня перебирает варианты только по одной переменной, хотя задаю три. Это так или чего-то включить надо?
Насчет перебора сделай скриншот параметров.
Asta la vista
Mike
Mike
-
- Сообщения: 42
- Зарегистрирован: Пн апр 02, 2007 9:04 am
- Откуда: Красноярск
Доброго времени суток! Вот скриншот параметров. Когда запускаю оптимизатор на тестирование, он перебирает их в таком порядке (SMA Period - Shift - DayOfTraling) 20-3-3, 21-4-4, 22-5-5, ..., 27-10-10, 28-10-10 и т. д. Т. е. не каждое значение с каждым, а сначала все, а потом одно, у которого диапазон больше.
- Вложения
-
- 123.JPG
- (88.02 КБ) 33436 скачиваний
-
- Сообщения: 42
- Зарегистрирован: Пн апр 02, 2007 9:04 am
- Откуда: Красноярск
И ещё у меня вопрос - как в стратегиях обращаться к индикаторам, которые строятся в виде гистограммы. А именно, индикатор АО, у него два буфера, для зелёных столбиков, и для красных. Если на какой то свечке (на предыдущей, например) индюк растёт, соответственно, столбик будет зелёный, в соответствующем буфере будет значение индюка. Какое значение на этой свечке будет в "красном" буфере? Я прикинул, что по логике должно быть нулевое... Я прав?
- Terranin
- Site Admin
- Сообщения: 846
- Зарегистрирован: Вс июл 23, 2006 12:01 pm
Знаю, руки до всего сразу не доходят. Сделал оптимизатор но народ прохладно к нему отнесся вот я его отложил в сторону пока.Komanch писал(а):Доброго времени суток! Вот скриншот параметров. Когда запускаю оптимизатор на тестирование, он перебирает их в таком порядке (SMA Period - Shift - DayOfTraling) 20-3-3, 21-4-4, 22-5-5, ..., 27-10-10, 28-10-10 и т. д. Т. е. не каждое значение с каждым, а сначала все, а потом одно, у которого диапазон больше.
Asta la vista
Mike
Mike
- Terranin
- Site Admin
- Сообщения: 846
- Зарегистрирован: Вс июл 23, 2006 12:01 pm
Это зависит от того как индикатор считается. Если туда ничего не пишется то нулевое (по умолчанию если не задано другое процедурой SetEmptyValue).Komanch писал(а):И ещё у меня вопрос - как в стратегиях обращаться к индикаторам, которые строятся в виде гистограммы. А именно, индикатор АО, у него два буфера, для зелёных столбиков, и для красных. Если на какой то свечке (на предыдущей, например) индюк растёт, соответственно, столбик будет зелёный, в соответствующем буфере будет значение индюка. Какое значение на этой свечке будет в "красном" буфере? Я прикинул, что по логике должно быть нулевое... Я прав?
Asta la vista
Mike
Mike
-
- Сообщения: 42
- Зарегистрирован: Пн апр 02, 2007 9:04 am
- Откуда: Красноярск
-
- Сообщения: 42
- Зарегистрирован: Пн апр 02, 2007 9:04 am
- Откуда: Красноярск
- Terranin
- Site Admin
- Сообщения: 846
- Зарегистрирован: Вс июл 23, 2006 12:01 pm
Если ордер исполнен то меняется его тип на tp_Buy или tp_Sell. Т.е. надо просто выбрать ордер по хендлу и проверить OrderType.Komanch писал(а):Доброго времени суток! Опять вопрос у меня - каким образом можно проверить исполнен ли установленный мной отложенный ордер? Что-то в справке никак не найду...
Asta la vista
Mike
Mike
-
- Сообщения: 42
- Зарегистрирован: Пн апр 02, 2007 9:04 am
- Откуда: Красноярск
-
- Сообщения: 42
- Зарегистрирован: Пн апр 02, 2007 9:04 am
- Откуда: Красноярск
Доброго времени суток, Terranin. Вот ещё вопрос - при установке отложенного ордера в числе прочих параметров есть строка комментария. Где потом при работе стратегии при установке ордера этот комментарий появляется? Для отладки стратегии мне надо как-то отличать друг от друга однотипные ордера, поставленные в разных условиях, комментарий был бы очень кстати...
- Terranin
- Site Admin
- Сообщения: 846
- Зарегистрирован: Вс июл 23, 2006 12:01 pm
Когда выбираете ордер процедурой OrderSelect() комментарий можно считать через OrderCommentKomanch писал(а):Доброго времени суток, Terranin. Вот ещё вопрос - при установке отложенного ордера в числе прочих параметров есть строка комментария. Где потом при работе стратегии при установке ордера этот комментарий появляется? Для отладки стратегии мне надо как-то отличать друг от друга однотипные ордера, поставленные в разных условиях, комментарий был бы очень кстати...
Код: Выделить всё
if OrderSelect(0, SELECT_BY_POS, MODE_TRADES) then
if OrderComment = '123' then ...
Asta la vista
Mike
Mike
-
- Сообщения: 13
- Зарегистрирован: Сб дек 09, 2006 12:50 pm
Такой вот странный момент
Мне для стратегии нужны два индикатора: ATR и ADX.
Но когда начинаю тестировать или просто проверяю создает ли тестер индикаторы, то получается, что создаёт он только один индикатор - тот который в програмном коде создаётся первый. В данном случае ADX, если строчки поменять местами будет только ATR
Перед началом теста удаляю все индикаторы, но в журнале пишет что нашёл второй индюк.
Как он его нашёл если его нет?
Такое случается и с некоторыми другими индикаторами, RSTL и RBCI например. От чего такое может быть? Уже пол дня сижу над этим...
Мне для стратегии нужны два индикатора: ATR и ADX.
Код: Выделить всё
procedure ResetStrategy; stdcall;
var
s1:string;
s2:string;
begin
OrderHandle := -1;
s1:=(inttostr(periodATR)+';Close');
s2:=(inttostr(periodADX)+';Close');
ind2:=CreateIndicator(Currency, TimeFrame, 'ADX', s2);
ind1:=CreateIndicator(Currency, TimeFrame, 'ATR', s1);
end;
Перед началом теста удаляю все индикаторы, но в журнале пишет что нашёл второй индюк.
Как он его нашёл если его нет?
Такое случается и с некоторыми другими индикаторами, RSTL и RBCI например. От чего такое может быть? Уже пол дня сижу над этим...
- Terranin
- Site Admin
- Сообщения: 846
- Зарегистрирован: Вс июл 23, 2006 12:01 pm
-
- Сообщения: 13
- Зарегистрирован: Сб дек 09, 2006 12:50 pm