예스스탁
예스스탁 답변
2021-12-20 18:10:16
안녕하세요
예스스탁입니다.
랭귀지는 모든 값을 봉완성기준으로만 사용이 가능합니다.
미완성봉에서 RSI값을 실시간으로 확인해 즉시 진입하게 작성은 되지 않습니다.
이런 이유로 봉단위로 보면 RSI가
전봉에서 30이상인 RSI값이 현재봉 완성시에 하락해 2~4차 조건을 한번에 만족할수도 있습니다.
한봉에 만족하면 한봉의 종가에 4번 매수가 되게 작성해 드립니다.
시스템 적용시 피라미딩은 모든진입신호 허용으로 설정하고 적용하시면 됩니다.
input : TM(5000000),RSIP(14);
var : RSIV(0);
RSIV = RSI(RSIP);
if MarketPosition <= 0 and RSIV <= 30 and RSIV >= 21 and RSIV[1] > 30 Then
{
Buy("b1",OnClose,DEF,Floor((TM*0.4)/C));
if RSIV <= 29 and RSIV >= 21 Then
{
Buy("b2.",OnClose,DEF,Floor((TM*0.3)/C));
Condition2 = true;
}
if RSIV <= 26 and RSIV >= 21 Then
{
Buy("b3.",OnClose,DEF,Floor((TM*0.2)/C));
Condition3 = true;
}
if RSIV <= 23 and RSIV >= 21 Then
{
Condition4 = true;
Buy("b4.",OnClose,DEF,Floor((TM*0.1)/C));
}
}
if MarketPosition == 1 then
{
if CurrentContracts == MaxContracts Then
ExitLong("bp1",AtLimit,AvgEntryPrice*1.03,"",Floor(MaxContracts*0.5),1);
ExitLong("bp2",AtLimit,AvgEntryPrice*1.05);
ExitLong("bl",AtStop,AvgEntryPrice*0.98);
if Condition2 == False and RSIV <= 29 and RSIV >= 21 Then
{
Condition2 = true;
Buy("b2",OnClose,DEF,Floor((TM*0.4)/C));
}
if Condition3 == False and RSIV <= 26 and RSIV >= 21 Then
{
Condition3 = true;
Buy("b3",OnClose,DEF,Floor((TM*0.4)/C));
}
if Condition4 == False and RSIV <= 23 and RSIV >= 21 Then
{
Condition4 = true;
Buy("b4",OnClose,DEF,Floor((TM*0.4)/C));
}
}
else
{
Condition2 = False;
Condition3 = False;
Condition4 = False;
}
즐거운 하루되세요
> 후산군 님이 쓴 글입니다.
> 제목 : RSI 분할 매수 및 익절 청산
> RSI 를 이용한 분할 매수 및 익절 청산 시스템 로직 문의드립니다. (주식)
현재가를 기준으로 매수/매도할 수는 없나요?
검색해보니 종가를 기준으로만 가능한 것 같네요.
매수(총 500만원) : 4번 분할 매수 (40, 30, 20, 10%씩)
1차 매수(40%) : rsi 30
2차 매수(30%) : rsi 27~29
3차 매수(20%) : rsi 24~26
4차 매수(10%) : rsi 21~23
매도
평단가의 3.0% 수익 시 매도 (50%)
평단가의 5.0% 수익 시 매도 (50%)
평단가의 2.0% 손해 시 청산 (100%)