Автор |
Сообщение |
MrDzenLi
Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN
|
Здравствуйте! Программирование для меня темный лес!
Вот моя первая работа:
_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
|
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
|
Пересечение определяется функцией 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
|
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number |
|
MrDzenLi
Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN
|
А если раскрасить бары по сигналам для наглядности,
сделал вот так - выдает две ошибки: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
|
вот еще как написал, ошибок не выдает, но результаты не верные.
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
|
вот в таком варианте все бары - черным цветом
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
|
Код: |
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
|
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Лучше вот так
Код: |
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
|
Великолепно!!!
Очень хорошая формула в помощь для наглядного тестирования.
Спасибо! |
|
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number |
|
MrDzenLi
Зарегистрирован: 20.04.2015
Сообщения: 383
Откуда: VRN
|
Олег, а как раскрасить бары? чтобы от: Buy до Sell - зеленым,
от: Short до Cover - красным, ну и всё остальное - черным... |
_________________ Нам не дано знать всего. |
|
Посмотреть профиль Отправить личное сообщение Отправить e-mail ICQ Number |
|
000
Site Admin
Зарегистрирован: 10.12.2007
Сообщения: 9106
|
Код: |
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
|
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 |
|
|