Автор |
Сообщение |
диван
Зарегистрирован: 01.05.2008
Сообщения: 64
|
Ну раскритиковал, раскритиковал .Какие оскорбления Юра, успокойся Если поднял тебе настроение - хорошо! Че-то кодов я накидал...когда я второе тело робота кинул не помню.
А ExRem тоже лишние сигналы не убирал ...Да и спросил то я про стоп и трейлинг. |
_________________ Алексей |
|
Посмотреть профиль Отправить личное сообщение |
|
commenced
Советник
Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"
|
диван писал(а): |
Ну раскритиковал, раскритиковал .Какие оскорбления Юра, успокойся Если поднял тебе настроение - хорошо! Че-то кодов я накидал...когда я второе тело робота кинул не помню.
А ExRem тоже лишние сигналы не убирал ...Да и спросил то я про стоп и трейлинг. |
Почитай здесь, вроде какраз эта тема.
http://amisite.ru/phpBB2/viewtopic.php?t=30&postdays=0&postorder=asc&start=30 |
_________________ Юра |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
В системе используется функция ApplyStop() для закрытия позиций. Если почитаешь хелпер по ф-ции Equity(), то там в коментарих найдешь, что для срабатывание стопов в режиме индикатора надо добавить в код функцию Equity(1) и что в массивы Sell и Cover при срабатывании записывается не 1, а большее число (в зависимости от типа стопа). Соответственно в код системы после блока стопов добавь Equity(1) и в коде робота измени
Код: |
ifbuy=IIf(Buy[BarCount-1]==1,1,0);
ifsell=IIf(Sell[BarCount-1]==1,1,0);
ifshort=IIf(Short[BarCount-1]==1,1,0);
ifcover=IIf(Cover[BarCount-1]==1,1,0);
|
на
Код: |
ifbuy=IIf(Buy[BarCount-1]==0,1,0);
ifsell=IIf(Sell[BarCount-1]>0,1,0);
ifshort=IIf(Short[BarCount-1]==1,1,0);
ifcover=IIf(Cover[BarCount-1]>0,1,0);
|
Кажется вся проблема в этом. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
диван
Зарегистрирован: 01.05.2008
Сообщения: 64
|
Спасибо, завтра испытаю |
_________________ Алексей |
|
Посмотреть профиль Отправить личное сообщение |
|
диван
Зарегистрирован: 01.05.2008
Сообщения: 64
|
Олег, добавил эквити и в роботе изменил как ты сказал, теперь выдает синтаксическую ошибку 32:
Код: |
ApplyStop(stopTypeTrailing,1,P2,2);
ApplyStop(stopTypeLoss, stopModePercent, P1);
Equity(1)
BuyPrice = ShortPrice = O;
SetChartOptions(0,chartShowArrows|chartShowDates);
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) ));
Plot( C, "Close", ParamColor("Color", colorBlack ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() );
Plot(EMA(C,T1),"T1", 4,1);
Plot(EMA(C,T2),"T2", 6,1);
PlotShapes(IIf(Short,shapeHollowDownArrow,0),4,0,Graph0,-15);
PlotShapes(IIf(Buy,shapeUpArrow,0),5,0,Graph0,-15);
|
|
_________________ Алексей |
|
Посмотреть профиль Отправить личное сообщение |
|
диван
Зарегистрирован: 01.05.2008
Сообщения: 64
|
в строке buyprice=shortprice=O |
_________________ Алексей |
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Переставь эту строку выше строки Equity(1) |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
commenced
Советник
Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"
|
диван писал(а): |
в строке buyprice=shortprice=O |
Э я не Олег конечно, но вроде точки с запятой не хватает, после (1). |
_________________ Юра |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Equity фактически запускает тестер и все функции касающиеся условий сделок должны быть до неё. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
диван
Зарегистрирован: 01.05.2008
Сообщения: 64
|
Пробовал выдает ошибку 32 в сетчартопшинс |
_________________ Алексей |
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Ну и точку с запятой обязательно надо. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Если точку с запятой добавил и переставил строку и опять ошибка, то пиши какая ошибка и в какой момент. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
диван
Зарегистрирован: 01.05.2008
Сообщения: 64
|
А все, в точке с запятой проблема)
Олег а вот это оставить?
Код: |
////// Убираем лишние сигналы /////////////
Buy = LastValue(Buy);
Short = LastValue(Short);
|
Или блок лишнии сигналы вообще убрать? |
_________________ Алексей |
|
Посмотреть профиль Отправить личное сообщение |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
диван писал(а): |
А все, в точке с запятой проблема)
Олег а вот это оставить?
Код: |
////// Убираем лишние сигналы /////////////
Buy = LastValue(Buy);
Short = LastValue(Short);
|
Или блок лишнии сигналы вообще убрать? |
Ни в коем случае не убирай.
LastValue делает из массива константу, а в текстовую строку которую формирует робот для квика можно вставить ТОЛЬКО константу. |
_________________ ceterum censeo carthaginem esse delendam
Удачи. Олег. |
|
Посмотреть профиль Отправить личное сообщение Посетить сайт автора |
|
диван
Зарегистрирован: 01.05.2008
Сообщения: 64
|
ОК, спасибо Олег. Попробовал менять менять стопы - стрелочки на графике вроде запрыгали , теперь в сессию посмотрю как работаь будет. О результате доложу. |
_________________ Алексей |
|
Посмотреть профиль Отправить личное сообщение |
|
|