Начать новую тему Ответить на тему |
Список форумов AmiSite.ru » Роботы |
На страницу Пред. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 |
Автор |
Сообщение |
DennyV8
Зарегистрирован: 11.01.2022
Сообщения: 100
|
000 писал(а): |
На самом деле надо запомнить бар входа и плясать от него.
Тут возможны варианты.
Можно было бы воспользоваться функцией ValueWhen(). Но она может дать не верный результат если идут несколько баров подряд на вход. Она будет считать от последнего сигнала.
Если решать "в лоб", то запоминаем (записываем) номер бара входа, ждем закрытия следующего (т.е. +2 от бара входа) и от него вычисляем уровень профита. Как-то так... |
Пока решил сделать без головняка со входом на текущем баре ))
И пока не робота, а просто помощника с графиком, чтобы туда все выводил и считать не надо было))
Входим сразу после закрытия бара
что-то получилось сделать так :
TP = StaticVarGet("mystaticarray" );
if (Buy)
{
Profit_Long = Ref(H, -1) + abs (Ref(H, -1) - Ref(L, -2));
TP = Profit_Long;
}
if (Short)
{
Profit_Short = Ref(L, -1) - abs (Ref(H, -2) - Ref(L, -1));
TP = Profit_Short;
}
StaticVarSet("mystaticarray", TP );
_TRACE (NumToStr(TP));
Через трейс вижу что нужны цифры появляются.
Не пойму как запихать в Sell и Cover этот TP.
Пока запись такая
Buy = brkout_bull AND pullback_bull;
Sell = 0;
Short = brkdown_bear AND pullback_bear;
Cover = 0;
Но так как Sell выше в списке кода чем StaticVarGet и TP , то не получается в Sell засунуть.
Пробовал через
ApplyStop(stopTypeProfit , stopModePoint,TP,Volatile=False);
Тут не пойму как проверить работу и показать на графике.
Самое простое видимо сделать запись в файл, как я со стоп-лоссом уже делал, и потом спецом на график выводить. |
|
|
Посмотреть профиль Отправить личное сообщение |
|
DennyV8
Зарегистрирован: 11.01.2022
Сообщения: 100
|
Вроде получилось что-то вот так, только сканер.
Buy = brkout_bull AND pullback_bull;
Short = brkdown_bear AND pullback_bear;
Sell = 0;
Cover = 0;
Buy = LastValue(Ref(Buy, -1));
Short = LastValue(Ref(Short, -1));
Sell = LastValue(Ref(Sell, -1));
Cover = LastValue(Ref(Cover, -1));
TP = StaticVarGet("Take-Profit" );
if (Buy)
{
Profit_Long = Ref(H, -1) + abs (Ref(H, -1) - Ref(L, -2));
TP = Profit_Long;
}
if (Short)
{
Profit_Short = Ref(L, -1) - abs (Ref(H, -2) - Ref(L, -1));
TP = Profit_Short;
}
StaticVarSet("Take-Profit", TP );
_TRACE ("TP :" +NumToStr(TP));
//(inbar[BarCount - 2]))
SL = StaticVarGet("Stop-Loss" );
if (Buy)
{
SL_Long = (Ref(L, -2) - TickSize);
SL = SL_Long;
}
if (Short)
{
SL_Short = (Ref(H, -2) + TickSize);
SL = SL_Short;
}
StaticVarSet("Stop-Loss", SL );
_TRACE ("SL :" +NumToStr(SL));
/////////////////// STOP LOSS///////////////////////////
ApplyStop( stopTypeLoss, stopModePoint,SL,Volatile=False );
ApplyStop(stopTypeProfit , stopModePoint,TP,Volatile=False);
Equity(1);
/////////////////// STOP LOSS///////////////////////////
Plot( TP[BarCount - 1], "Take-Profit", colorRed, styleLine );
Plot( SL[BarCount - 1], "Stop-Loss", colorGreen, styleLine ); |
|
|
Посмотреть профиль Отправить личное сообщение |
|
|
Начать новую тему Ответить на тему |
Список форумов AmiSite.ru » Роботы |
На страницу Пред. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 |
|
Следующая тема
Предыдущая тема
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах Вы не можете вкладывать файлы Вы не можете скачивать файлы
|
|