커뮤니티

18406 번 다시한번 문의합니다

프로필 이미지
하루우유
2011-05-03 17:12:58
629
글번호 38277
답변완료
18406 재문의 오늘 당일만 계산해서 나온수식맞나요?
시스템
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2011-05-03 18:30:16

안녕하세요 예스스탁입니다. 날짜가 변경되면 초기화를 하는 내용을 추가했습니다. input:단위호가(14), 단위호가2(14), 타주기구분(1), //분봉(1),일봉(2),주봉(3),월봉(4) 분봉구분(60); //타주기가 분봉일 때 var:j(0),상승(100),하락(-100),분봉(1),일봉(2),주봉(3),월봉(4), 벽돌크기(0),벽돌크기2(0),벽돌개수(0),방향(0),방향2(0); array:고[10](0),저[10](0),고2[10](0),저2[10](0); If 단위호가 <= 단위호가2 Then { #==========================================# # 초기 처리 #==========================================# If DayIndex == 0 Then { 벽돌크기 = PriceScale * 단위호가; 벽돌크기2 = PriceScale * 단위호가2; 고[0] = C; 저[0] = C; 고2[0] = C; 저2[0] = C; 방향 = 0; 방향2 = 0; } #==========================================# # 렌코 계산 #==========================================# If 방향 == 0 Then { If 저[0] - 벽돌크기 >= C Then { 벽돌개수 = Int(Round((저[0]-C)/벽돌크기,9)); 저[0] = 저[0] - (벽돌크기 * 벽돌개수); 방향 = 하락; } Else If 고[0] + 벽돌크기 <= C Then { 벽돌개수 = Int(Round((C-고[0])/벽돌크기,9)); 고[0] = 고[0] + (벽돌크기 * 벽돌개수); 방향 = 상승; } } Else If 방향 == 하락 Then { If 저[0] - 벽돌크기 >= C Then { 벽돌개수 = Int(Round((저[0]-C)/벽돌크기,9)); 저[0] = 저[0] - (벽돌크기 * 벽돌개수); } If 저[0] + 2*벽돌크기 <= C Then { 벽돌개수 = Int(Round((C-저[0])/벽돌크기,9)); For j = 8 DownTo 0 { 저[j+1] = 저[j]; } 고[0] = 저[0] + (벽돌크기 * 벽돌개수); 방향 = 상승; } } Else If 방향 == 상승 Then { If 고[0] + 벽돌크기 <= C Then { 벽돌개수 = Int(Round((C-고[0])/벽돌크기,9)); 고[0] = 고[0] + (벽돌크기 * 벽돌개수); } If 고[0] - 2*벽돌크기 >= C Then { 벽돌개수 = Int(Round((고[0]-C)/벽돌크기,9)); For j = 8 DownTo 0 { 고[j+1] = 고[j]; } 저[0] = 고[0] - (벽돌크기 * 벽돌개수); 방향 = 하락; } } #==========================================# # 렌코2 계산 #==========================================# If (타주기구분 == 분봉 && Mod(DayIndex(),(분봉구분/BarInterval)) == 0 && C[1] > 0) || (타주기구분 == 일봉 && Date[1] < Date) || (타주기구분 == 주봉 && Date[1] < Date && DayOfWeek(Date[1]) >= DayOfWeek(Date)) || (타주기구분 == 월봉 && Int(Date/100)[1] < Int(Date/100)) Then { If 방향2 == 0 Then { If 저2[0] - 벽돌크기2 >= C[1] Then { 벽돌개수 = Int(Round((저2[0]-C[1])/벽돌크기2,9)); 저2[0] = 저2[0] - (벽돌크기2 * 벽돌개수); 방향2 = 하락; } Else If 고2[0] + 벽돌크기2 <= C[1] Then { 벽돌개수 = Int(Round((C[1]-고2[0])/벽돌크기2,9)); 고2[0] = 고2[0] + (벽돌크기2 * 벽돌개수); 방향2 = 상승; } } Else If 방향2 == 하락 Then { If 저2[0] - 벽돌크기2 >= C[1] Then { 벽돌개수 = Int(Round((저2[0]-C[1])/벽돌크기2,9)); 저2[0] = 저2[0] - (벽돌크기2 * 벽돌개수); } If 저2[0] + 2*벽돌크기2 <= C[1] Then { 벽돌개수 = Int(Round((C[1]-저2[0])/벽돌크기2,9)); For j = 8 DownTo 0 { 저2[j+1] = 저2[j]; } 고2[0] = 저2[0] + (벽돌크기2 * 벽돌개수); 방향2 = 상승; } } Else If 방향2 == 상승 Then { If 고2[0] + 벽돌크기2 <= C[1] Then { 벽돌개수 = Int(Round((C[1]-고2[0])/벽돌크기2,9)); 고2[0] = 고2[0] + (벽돌크기2 * 벽돌개수); } If 고2[0] - 2*벽돌크기2 >= C[1] Then { 벽돌개수 = Int(Round((고2[0]-C[1])/벽돌크기2,9)); For j = 8 DownTo 0 { 고2[j+1] = 고2[j]; } 저2[0] = 고2[0] - (벽돌크기2 * 벽돌개수); 방향2 = 하락; } } } #==========================================# # 시스템식 #==========================================# If 방향 == 상승 && 방향2 == 상승 Then Buy(); If 방향 == 하락 && 방향2 == 하락 Then Sell(); If 방향 != 방향2 Then { ExitLong(); ExitShort(); } } 신호도 당일만 나오게 하고자 하시면 buy sell 조건식을 if sdate == currentdate then 조건으로 묶으시면 됩니다. 즐거운 하루되세요 > 하루우유 님이 쓴 글입니다. > 제목 : 18406 번 다시한번 문의합니다 > 18406 재문의 오늘 당일만 계산해서 나온수식맞나요?
프로필 이미지

회원

2012-02-27 17:41:29

관리자님에 의해 삭제된 답변입니다.