예스스탁
예스스탁 답변
2021-09-24 15:04:23
안녕하세요
예스스탁입니다.
input : 타점1(5000),타점2(4500),타점3(4000),타점4(3500),타점5(3000);
input : 투자금액1(1000000),투자금액2(2000000);
var : entry(False),HH(0),X2(False);
if Bdate != Bdate[1] Then
{
entry = true;
#5개의 타점중 시가보다 작은것 중에 젤 큰값 계산
HH = 0;
if 타점1 < DayOpen and 타점1 > HH Then
HH = 타점1;
if 타점2 < DayOpen and 타점2 > HH Then
HH = 타점2;
if 타점3 < DayOpen and 타점3 > HH Then
HH = 타점3;
if 타점4 < DayOpen and 타점4 > HH Then
HH = 타점4;
if 타점5 < DayOpen and 타점5 > HH Then
HH = 타점5;
}
if TotalTrades > TotalTrades[1] Then
entry = False;
if MarketPosition == 0 and HH > 0 and DayOpen > HH and sTime < 130000 and entry == 0 Then
{
Buy("1차매수",AtLimit,HH,Floor(투자금액1/min(NextBarOpen,HH)));
}
if MarketPosition == 1 Then
{
if CurrentContracts < CurrentContracts[1] and LatestExitName(0) == "1차익절2" Then
X2 = true;
if DayOpen > HH and X2 == False Then
{
Buy("2차매수.",AtLimit,HH*0.98,Floor(투자금액2/min(NextBarOpen,타점1*0.98)));
}
if MaxEntries == 1 Then
{
ExitLong("1차익절1",AtLimit,avgEntryPrice*1.02,"",Floor(MaxContracts*0.3));
ExitLong("1차익절2",AtLimit,avgEntryPrice*1.03,"",Floor(MaxContracts*0.4));
ExitLong("1차익절3",AtLimit,avgEntryPrice*1.04);
}
if MaxEntries == 2 Then
{
ExitLong("2차익절1",AtLimit,avgEntryPrice*1.01,"",Floor(MaxContracts*0.3));
ExitLong("2차익절2",AtLimit,avgEntryPrice*1.02,"",Floor(MaxContracts*0.4));
ExitLong("2차익절3",AtLimit,avgEntryPrice*1.03);
}
ExitLong("손절",AtStop,avgEntryPrice*0.97);
}
Else
X2 = False;
SetStopEndofday(151800);
즐거운 하루되세요
> 맴맴잉 님이 쓴 글입니다.
> 제목 : 궁금한점이 있어 요청드립니다.
> 안녕하세요 항상감사드립니다.
지난번에 요청드린 시스템식에서 좀더 필요한조건이 있는데..
수식작성이 어려워 요청드립니다.
아래의 기존식에서 1차 매수후 1타점 익절, 2타점 익절 , 마지막 3타점 익절이 남았는데
3타점 익절이 오기전에 하락하게 되면 2차매수가 진행되도록 수식이 짜여져 있습니다.
여기서 2타점 익절후에 하락하더라도 2차매수가 진행 안되도록 수식을 수정하고 싶습니다.
(참고로 1타점 익절 후에는 하락해도 기존식과 동일하게 2차매수가 진행)
부탁드립니다.
-------------------------------------------------
1
input : 타점1(5000),타점2(4500),타점3(4000),타점4(3500),타점5(3000);
input : 투자금액1(1000000),투자금액2(2000000);
var : entry(False),HH(0);
if Bdate != Bdate[1] Then
{
entry = true;
#5개의 타점중 시가보다 작은것 중에 젤 큰값 계산
HH = 0;
if 타점1 < DayOpen and 타점1 > HH Then
HH = 타점1;
if 타점2 < DayOpen and 타점2 > HH Then
HH = 타점2;
if 타점3 < DayOpen and 타점3 > HH Then
HH = 타점3;
if 타점4 < DayOpen and 타점4 > HH Then
HH = 타점4;
if 타점5 < DayOpen and 타점5 > HH Then
HH = 타점5;
}
if TotalTrades > TotalTrades[1] Then
entry = False;
if MarketPosition == 0 and HH > 0 and DayOpen > HH and sTime < 130000 and entry == 0 Then
{
Buy("1차매수",AtLimit,HH,Floor(투자금액1/min(NextBarOpen,HH)));
}
if MarketPosition == 1 and DayOpen > HH Then
{
Buy("2차매수.",AtLimit,HH*0.98,Floor(투자금액2/min(NextBarOpen,타점1*0.98)));
}
if MarketPosition == 1 Then
{
if MaxEntries == 1 Then
{
ExitLong("1차익절1",AtLimit,avgEntryPrice*1.02,"",Floor(MaxContracts*0.3));
ExitLong("1차익절2",AtLimit,avgEntryPrice*1.03,"",Floor(MaxContracts*0.4));
ExitLong("1차익절3",AtLimit,avgEntryPrice*1.04);
}
if MaxEntries == 2 Then
{
ExitLong("2차익절1",AtLimit,avgEntryPrice*1.01,"",Floor(MaxContracts*0.3));
ExitLong("2차익절2",AtLimit,avgEntryPrice*1.02,"",Floor(MaxContracts*0.4));
ExitLong("2차익절3",AtLimit,avgEntryPrice*1.03);
}
ExitLong("손절",AtStop,avgEntryPrice*0.97);
}
SetStopEndofday(151800);
----------------------------------------------------