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



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

СообщениеДобавлено: Ср Июн 08, 2022 9:53 pm Ответить с цитатой Вернуться к началу

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

СообщениеДобавлено: Пт Июн 10, 2022 10:43 am Ответить с цитатой Вернуться к началу

Вроде получилось что-то вот так, только сканер.


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 );
Посмотреть профиль Отправить личное сообщение
Показать сообщения:      
Начать новую тему  Ответить на тему


 Перейти:   



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


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

File Attachment © by Meik Sievertsen