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



Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN

СообщениеДобавлено: Вс Май 17, 2015 4:05 pm Ответить с цитатой Вернуться к началу

Здравствуйте! Программирование для меня темный лес!
Вот моя первая работа:
_SECTION_BEGIN("my system ");
Plot(C,"Price", colorBlack, styleCandle );

Buy= ROC(C,15) > 0 AND RSI(14) > 50;
Sell= ROC(C,15) < 0 AND RSI(14) < 50;

dist = 1.5*ATR(10);

for( i = 0; i > BarCount; i++ )
{
if( Buy[i] ) PlotText( "Buy\n+" + C[ i ], i, L[ i ]-dist[i], colorGreen );
if( Sell[i] ) PlotText( "Sell\n-" + C[ i ], i, H[ i ]+dist[i], colorRed);
}

PlotShapes( Buy * shapeUpArrow + Sell * shapeDownArrow, IIf( Buy, colorGreen, colorRed ) );

_SECTION_END();

как сделать, что бы сделки появлялись только при пересечении "0" и "50"
Спасибо!
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
AlexLan73



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

СообщениеДобавлено: Вс Май 17, 2015 5:23 pm Ответить с цитатой Вернуться к началу

Buy= ROC(C,15) > 0 AND RSI(14) > 50;
Sell= ROC(C,15) < 0 AND RSI(14) < 50;

вставь 2 строки
Buy=ExRem(Buy, Sell);
Sell=ExRem(Sell, Buy);
Посмотреть профиль Отправить личное сообщение
000
Site Admin


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

СообщениеДобавлено: Вс Май 17, 2015 6:00 pm Ответить с цитатой Вернуться к началу

Пересечение определяется функцией Cross()
Типа так
Cross(ROC(C,15), 0) - ROC пересекла 0 снизу вверх.
Но
Если сделать так
Buy = Cross(ROC(C,15), 0) AND Cross(RSI(14), 50);
то скорее всго работать не будет т.к. сигнал Buy будет только тогда, когда ROC и RSI ОДНОВРЕМЕННО пересекут 0 и 50 что маловероятно
Лучше воспользуйся советом про ExRem()

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



Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN

СообщениеДобавлено: Вс Май 17, 2015 7:21 pm Ответить с цитатой Вернуться к началу

Выражаю благодарность!
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
MrDzenLi



Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN

СообщениеДобавлено: Вс Май 17, 2015 8:01 pm Ответить с цитатой Вернуться к началу

А если раскрасить бары по сигналам для наглядности,
сделал вот так - выдает две ошибки:32 и 29
col = IIf( ROC(C,15), 0) AND (RSI(14), 50), colorGreen, colorRed );
Plot( Close, "Price", col, styleBar );
Подскажете?
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
MrDzenLi



Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN

СообщениеДобавлено: Вс Май 17, 2015 8:23 pm Ответить с цитатой Вернуться к началу

вот еще как написал, ошибок не выдает, но результаты не верные.
dynamic_color = IIf( RSI(14) > 50 AND ROC(C, 15) > 0 , colorGreen, colorRed );
Plot( RSI(14)+ROC(C, 15), "Roc+RSI", dynamic_color, styleBar | styleThick );
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
MrDzenLi



Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN

СообщениеДобавлено: Вс Май 17, 2015 8:32 pm Ответить с цитатой Вернуться к началу

вот в таком варианте все бары - черным цветом
dynamic_color = IIf( RSI(14) > 50, colorGreen, colorRed ) AND
dynamik_color = IIf(ROC(C,15) > 0, colorGreen, colorRed);
Plot( RSI(14)+ROC(C, 15), "Roc+RSI", dynamic_color, styleBar | styleThick );
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
000
Site Admin


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

СообщениеДобавлено: Пн Май 18, 2015 1:24 am Ответить с цитатой Вернуться к началу

Код:
col = IIf( ROC(C,15) > 0 AND RSI(14) > 50, colorGreen, colorRed );
Plot( Close, "Price", col, styleBar );

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



Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN

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

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


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

СообщениеДобавлено: Пн Май 18, 2015 11:55 pm Ответить с цитатой Вернуться к началу

Лучше вот так
Код:
col = IIf( ROC(C,15) > 0 AND RSI(14) > 50, colorGreen, IIf(ROC(C,15) < 0 AND RSI(14) < 50, colorRed, colorBlack ));
Plot( Close, "Price", col, styleBar );

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



Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN

СообщениеДобавлено: Вт Май 19, 2015 12:15 am Ответить с цитатой Вернуться к началу

Великолепно!!!
Очень хорошая формула в помощь для наглядного тестирования.
Спасибо!
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
MrDzenLi



Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN

СообщениеДобавлено: Вс Фев 14, 2016 1:47 pm Ответить с цитатой Вернуться к началу

Олег, а как раскрасить бары? чтобы от: Buy до Sell - зеленым,
от: Short до Cover - красным, ну и всё остальное - черным...

_________________
Нам не дано знать всего.
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
000
Site Admin


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

СообщениеДобавлено: Вс Фев 14, 2016 2:24 pm Ответить с цитатой Вернуться к началу

Код:

long = Flip(Buy, Sell);
Shor = Flip(Short, cover);
Color = IIf(long, colorGreen,
         IIf(shor, colorRed, colorBlack));
         
Plot(C, "", color, styleCandle);

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



Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN

СообщениеДобавлено: Вс Фев 14, 2016 2:25 pm Ответить с цитатой Вернуться к началу

000 писал(а):
Код:

long = Flip(Buy, Sell);
Shor = Flip(Short, cover);
Color = IIf(long, colorGreen,
         IIf(shor, colorRed, colorBlack));
         
Plot(C, "", color, styleCandle);

От Души Спасибо!

_________________
Нам не дано знать всего.
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen