예스스탁
예스스탁 답변
2022-05-25 10:30:02
안녕하세요
예스스탁입니다.
예스랭귀지는 대소문자 구분하지 않습니다 h나 H나 같습니다.
#매수진입
if MarketPosition == 1 Then
{
#전봉대비 수량 감소(일부 청산발생을 위미)
if CurrentContracts < CurrentContracts[1] Then
{
#청산가 저장
var1 = LatestExitPrice(0);
#청산시간 저장
Var2 = TimeToMinutes(sTime);
}
#전봉대비 수량 증가(추가 진입발생을 의미)
if CurrentContracts > CurrentContracts[1] Then
{
#현재수량 저장
Var3 = CurrentContracts;
#고가 저장
Var4 = H;
}
#최근 진입후 최고가 계산
#현재봉 고가가 Var4보다 크면 Var4의 값을 현재봉 고가로 저장
if h > Var4 Then
Var4 = h;
#일부청산이 한번이상 발생하고
#현재 시간이 일부청산후 10분 이후이고
#종가가 청산가 보다 작으면
#전량 청산
if var1 > 0 and TimeToMinutes(sTime) >= Var2+10 and C < var1 then
ExitLong("bx");
#진입후 최고가가 평단가+3% 작으면
#평단가+3%를 셋팅하고 다음봉에서 해당가격 터치시 즉시 20% 청산
if Var4 < AvgEntryPrice*1.03 Then
ExitLong("3%익절",AtLimit,AvgEntryPrice*1.03,"",Floor(Var3*0.20));
#진입후 최고가가 평단가+4% 작으면
#평단가+4%를 셋팅하고 다음봉에서 해당가격 터치시 즉시 20% 청산
if Var4 < AvgEntryPrice*1.04 Then
ExitLong("4%익절",AtLimit,AvgEntryPrice*1.04,"",Floor(Var3*0.20));
#진입후 최고가가 평단가+5% 작으면
#평단가+5%를 셋팅하고 다음봉에서 해당가격 터치시 즉시 20% 청산
if Var4 < AvgEntryPrice*1.05 Then
ExitLong("5%익절",AtLimit,AvgEntryPrice*1.05,"",Floor(Var3*0.20));
#진입후 최고가가 평단가+6% 작으면
#평단가+6%를 셋팅하고 다음봉에서 해당가격 터치시 즉시 20% 청산
if Var4 < AvgEntryPrice*1.06 Then
ExitLong("7%익절",AtLimit,AvgEntryPrice*1.06,"",Floor(Var3*0.20));
#진입후 최고가가 평단가+10% 작으면
#평단가+10%를 셋팅하고 다음봉에서 해당가격 터치시 즉시 전량 청산
if Var4 < AvgEntryPrice*1.10 Then
ExitLong("10%익절",AtLimit,AvgEntryPrice*1.10);
}
Else#매수진입중이 아니면
{
#변수 0으로 초기화
var1 = 0;
Var2 = 0;
}
즐거운 하루되세요
> 맴맴잉 님이 쓴 글입니다.
> 제목 : 시스템식 문의 드립니다.
> 담당자님.. 요청드렸던 식이 해석이 잘 안됩니다.
수식 설명 부탁드리겠습니다.
if MarketPosition == 1 Then
{
if CurrentContracts < CurrentContracts[1] Then
{
var1 = LatestExitPrice(0);
Var2 = TimeToMinutes(sTime);
}
# currentcontracts는 포지션에서 현재의수량을 리턴 이라고 메뉴얼에 써있던데
위 식이 이해가 안갑니다.ㅜ.ㅜ
2차매수한 수량 < 1차매수한 수량일 경우에
var1 변수에 최근 매도청산한가격을 저장하고
var2 변수에 stime을 저장한다
이게 무슨 뜻인지...ㅜ.ㅜ
if CurrentContracts > CurrentContracts[1] Then
{
Var3 = CurrentContracts;
Var4 = H;
}
# 위의 식도 이해가 안갑니다. ㅜ.ㅜ
if h > Var4 Then
Var4 = h;
# h 와 H의 차이가 있는건가요????
if var1 > 0 and TimeToMinutes(sTime) >= Var2+10 and C < var1 then
ExitLong("bx");
if Var4 < AvgEntryPrice*1.03 Then
ExitLong("3%익절",AtLimit,AvgEntryPrice*1.03,"",Floor(Var3*0.20));
if Var4 < AvgEntryPrice*1.04 Then
ExitLong("4%익절",AtLimit,AvgEntryPrice*1.04,"",Floor(Var3*0.20));
if Var4 < AvgEntryPrice*1.05 Then
ExitLong("5%익절",AtLimit,AvgEntryPrice*1.05,"",Floor(Var3*0.20));
if Var4 < AvgEntryPrice*1.06 Then
ExitLong("7%익절",AtLimit,AvgEntryPrice*1.06,"",Floor(Var3*0.20));
if Var4 < AvgEntryPrice*1.10 Then
ExitLong("10%익절",AtLimit,AvgEntryPrice*1.10);
}
Else
{
var1 = 0;
Var2 = 0;
}
즐거운 하루되세요
> 맴맴잉 님이 쓴 글입니다.
> 제목 : 매도 청산식 요청드립니다.
> 얼마전에 현물관련 분할매도 관련 시스템식을 요청드린적이 있었습니다.
관련 내용은 아래와 같습니다.
근데 매수가 한번만 되었을때는 아래와 같이 잘 적용 되는데....
2차 매수, 3차 매수가 된다면 아래와 같이 동일한 비중으로 매도도 안되고,
10분뒤 익절한 금액 보다 아래에 있을경우 매도청산하는 식도 적용이 안되는걸
발견하였습니다. 수정 확인 부탁드리겠습니다.
추가적인 질문으로 MaxContracts 수식은 포지션의 최대 누적 수량이라고 써있던데
예를 들면 3,4,5,7,10 동일 비중으로 매도를 진행하려면
maxcontracts/5 하는게 맞는지도 확인 부탁드리겠습니다.
제가 좀 헷갈리는데.. 만약에 100주 사서 3%에 20주 팔면, 80주가 남는데...
80주에 나누기 5하면 80/5 = 16주가 팔리게 되는건지 ..아니면 앞의 수량 /5
100 / 5 = 해서 20주가 되는지 잘 이해가 안갑니다. 설명도 부탁드리겠습니다.
그리고 100주 사서 20주 한번 팔리면 80주 남는데 거기서 추가매수 되어서 180주가 된다면
그 180주에 대한 동일한 비중으로 분할매도가 되게 하려면 어떻게 가능한지.궁금합니다.
아래의 식으로는 안되더라구요..ㅜ.ㅜ