Список форумов AmiSite.ru AmiSite.ru
Форум по Ами
 FAQ  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Войти и проверить личные сообщения  •  Вход
 Робот Следующая тема
Предыдущая тема
Начать новую тему  Ответить на тему
Автор Сообщение
диван



Зарегистрирован: 01.05.2008
Сообщения: 64

СообщениеДобавлено: Вт Май 27, 2008 9:06 pm Ответить с цитатой Вернуться к началу

Ну раскритиковал, раскритиковал Smile .Какие оскорбления Юра, успокойся Smile Если поднял тебе настроение - хорошо! Че-то кодов я накидал...когда я второе тело робота Smile кинул не помню.
А ExRem тоже лишние сигналы не убирал Sad ...Да и спросил то я про стоп и трейлинг.

_________________
Алексей
Посмотреть профиль Отправить личное сообщение
commenced
Советник


Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"

СообщениеДобавлено: Вт Май 27, 2008 9:13 pm Ответить с цитатой Вернуться к началу

диван писал(а):
Ну раскритиковал, раскритиковал Smile .Какие оскорбления Юра, успокойся Smile Если поднял тебе настроение - хорошо! Че-то кодов я накидал...когда я второе тело робота Smile кинул не помню.
А ExRem тоже лишние сигналы не убирал Sad ...Да и спросил то я про стоп и трейлинг.


Почитай здесь, вроде какраз эта тема.
http://amisite.ru/phpBB2/viewtopic.php?t=30&postdays=0&postorder=asc&start=30

_________________
Юра
Посмотреть профиль Отправить личное сообщение Отправить e-mail
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Вт Май 27, 2008 9:42 pm Ответить с цитатой Вернуться к началу

В системе используется функция 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

СообщениеДобавлено: Вт Май 27, 2008 9:54 pm Ответить с цитатой Вернуться к началу

Спасибо, завтра испытаю

_________________
Алексей
Посмотреть профиль Отправить личное сообщение
диван



Зарегистрирован: 01.05.2008
Сообщения: 64

СообщениеДобавлено: Ср Май 28, 2008 8:41 am Ответить с цитатой Вернуться к началу

Олег, добавил эквити и в роботе изменил как ты сказал, теперь выдает синтаксическую ошибку 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

СообщениеДобавлено: Ср Май 28, 2008 8:43 am Ответить с цитатой Вернуться к началу

в строке buyprice=shortprice=O

_________________
Алексей
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Ср Май 28, 2008 8:44 am Ответить с цитатой Вернуться к началу

Переставь эту строку выше строки Equity(1)

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
commenced
Советник


Зарегистрирован: 08.04.2008
Сообщения: 643
Откуда: от "Верблюда"

СообщениеДобавлено: Ср Май 28, 2008 8:45 am Ответить с цитатой Вернуться к началу

диван писал(а):
в строке buyprice=shortprice=O


Э я не Олег конечно, но вроде точки с запятой не хватает, после (1).

_________________
Юра
Посмотреть профиль Отправить личное сообщение Отправить e-mail
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Ср Май 28, 2008 8:46 am Ответить с цитатой Вернуться к началу

Equity фактически запускает тестер и все функции касающиеся условий сделок должны быть до неё.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
диван



Зарегистрирован: 01.05.2008
Сообщения: 64

СообщениеДобавлено: Ср Май 28, 2008 8:46 am Ответить с цитатой Вернуться к началу

Пробовал Smile выдает ошибку 32 в сетчартопшинс

_________________
Алексей
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Ср Май 28, 2008 8:48 am Ответить с цитатой Вернуться к началу

Ну и точку с запятой обязательно надо.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Ср Май 28, 2008 8:50 am Ответить с цитатой Вернуться к началу

Если точку с запятой добавил и переставил строку и опять ошибка, то пиши какая ошибка и в какой момент.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
диван



Зарегистрирован: 01.05.2008
Сообщения: 64

СообщениеДобавлено: Ср Май 28, 2008 8:52 am Ответить с цитатой Вернуться к началу

А все, в точке с запятой проблема)
Олег а вот это оставить?
Код:
////// Убираем лишние сигналы /////////////

Buy = LastValue(Buy);
Short = LastValue(Short);
Или блок лишнии сигналы вообще убрать?

_________________
Алексей
Посмотреть профиль Отправить личное сообщение
000
Site Admin


Зарегистрирован: 10.12.2007
Сообщения: 9106

СообщениеДобавлено: Ср Май 28, 2008 9:01 am Ответить с цитатой Вернуться к началу

диван писал(а):
А все, в точке с запятой проблема)
Олег а вот это оставить?
Код:
////// Убираем лишние сигналы /////////////

Buy = LastValue(Buy);
Short = LastValue(Short);
Или блок лишнии сигналы вообще убрать?

Ни в коем случае не убирай.
LastValue делает из массива константу, а в текстовую строку которую формирует робот для квика можно вставить ТОЛЬКО константу.

_________________
ceterum censeo carthaginem esse delendam
Удачи. Олег.
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
диван



Зарегистрирован: 01.05.2008
Сообщения: 64

СообщениеДобавлено: Ср Май 28, 2008 9:14 am Ответить с цитатой Вернуться к началу

ОК, спасибо Олег. Попробовал менять менять стопы - стрелочки на графике вроде запрыгали Very Happy , теперь в сессию посмотрю как работаь будет. О результате доложу.

_________________
Алексей
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



Следующая тема
Предыдущая тема
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете вкладывать файлы
Вы не можете скачивать файлы


Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme :: Часовой пояс: GMT + 3

File Attachment © by Meik Sievertsen