커뮤니티

수식작성 부탁드립니다

프로필 이미지
은색
2013-12-15 12:01:06
181
글번호 70475
답변완료
아래 <1>, <2>, <3> 3가지 수식작성 요청드립니다. <1번 수식> 1. 거래는 하루에 한 번만 하며, 거래시간은 오전 9시부터 오후 3시까지입니다. 2. 당일 오후 12시 현재의 가격이 전날 종가보다 낮을 경우에는 매수합니다. <2번 수식> 1. 거래는 하루에 한 번만 하며, 거래시간은 오전 9시부터 오후 3시까지입니다. 2. 당일 오후 12시 현재 가격이 이틀 연속 상승일 때, 즉 어제 종가가 이틀 전 종가보다 높고, 오늘 12시 현재 가격이 어제 종가보다 높을 때 매수합니다. 3. 당일 오후 12시 현재 가격이 3일 연속 하락일 때, 즉 2일 전 종가가 3일 전 종가보다 낮고, 어제 종가가 2일 전 종가보다 낮고, 오늘 12시 현재 가격이 어제 종가보다 낮으면 매도청산합니다. <3번 수식> 1. 거래는 하루에도 조건을 충족할 때마다 반복적으로 합니다. 2. 매매시간은 오전 9시 부터 오후3시 까지로 하고, 오늘 9시 현재 가격을 '최초 기준점'으로 합니다. 3. 현재가격이 '최초 기준점' 보다 1% 하락시 거래가능 금액[계좌에 있는 금액 중 거래가능한 금액을 뜻합니다. 만약 이런 식의 수식 작성이 어렵다면 일정금액(예를 들어 100만원)씩 매수하는 방식으로 작성부탁드립니다]의 5% 만큼 매수하고, '최초 기준점' 보다 1% 상승시 보유주식의 5%를 매도합니다. 4. '최초 기준점' 대비 1%상승 하거나 1%하락해 거래가 이루어진 후에는 그 가격을 '새로운 기준점'으로 삼습니다. 5. 이후 '새로운 기준점'을 기준으로 해서 다시금 1% 하락시 거래가능 금액(앞서와 마찬가지로 어려울 시 일정금액 기준작성 부탁드립니다)의 5%를 매수하고, 1% 상승시 보유 주식의 5%를 매도합니다. 단 이 때, 거래가능 금액과 보유주식이 당일 최초 거래시 보다 작아졌을 경우에는(최초 기준점을 기준으로 1%상승해서 보유주식을 매도했을 경우 주식의 보유량이 작아졌을 것이고, 1%하락해 주식을 매수했을 경우 거래가능 금액이 작아졌을 겁니다) 현재 시점의 거래가능금액의 5%나 보유주식의 5%가 아닌 최초 거래시의 거래가능 금액의 5%나 보유주식의 5%로 거래합니다. 즉, 간단히 말해 최초거래시와 현재 시점 중 주식이든 현금이든 보다 많은 양을 기준으로 5%씩 거래하는 것입니다. 6. 이런 방식으로 매 거래시마다 '기준점'을 바꾸면서 1% 상승과 하락시에 지속적으로 오후 3시까지 거래합니다. 이상입니다. 감사합니다^^
시스템
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2013-12-16 14:04:39

안녕하세요 예스스탁입니다. 1. var : cnt(0),count(0); count = 0; for cnt = 0 to 20{ if sdate == EntryDate(cnt) Then count = count+1; } if count == 0 and stime == 120000 Then{ if C < DayClose(1) Then buy(); } 2. var : cnt(0),count(0); count = 0; for cnt = 0 to 20{ if sdate == EntryDate(cnt) Then count = count+1; } if count == 0 and stime == 120000 Then{ if C > DayClose(1) and DayClose(1) > DayClose(2) Then buy(); } if MarketPosition == 1 and stime == 120000 Then{ if C < DayClose(1) and DayClose(1) < DayClose(2) and DayClose(2) < DayClose(2) Then ExitLong(); } 3. 해당 내용 +-1% 등락에 따른 기준가를 재저장해야 하므로 봉완성시 종가로만 가능합니다. 종가로 기준점보다 1% 하락하면 매수, 1% 상승하면 매도 입니다 매수수량은 일정금액으로 산정합니다. 매도수량은 최초매수시의 수량의 5%만큼으로 계속 매도합니다. 적용시 매수를 누적하므로 피라미딩을 모든 진입신호허용으로 설정하고 적용하셔야 합니다. input : 투입금액(1000000),UpdnPer(1); var : vol(0),vol1(0),Xvol(0); if CodeCategory == 1 Then{ if BasePrice < 50000 Then vol = int(int(투입금액/C)/10)*10; Else vol = int(투입금액/C); } if CodeCategory == 2 Then vol = int(투입금액/C); if stime == 90000 Then var1 = C; if stime >= 090000 and stime < 150000 Then{ if MarketPosition == 0 and C <= var1*(1-(UpdnPer/100)) Then{ buy("b",OnClose,def,vol); var1 = C; } if MarketPosition == 1 Then{ if MarketPosition != 0 Then{ Vol1 = CurrentContracts; if CodeCategory == 1 Then{ if BasePrice < 50000 Then xvol = int(int(Vol1*0.05)/10)*10; Else xvol = int(Vol1*0.05); } if CodeCategory == 2 Then xvol = int(Vol1*0.05); } if C <= var1*(1-(UpdnPer/100)) Then{ buy("bb",OnClose,def,vol1); var1 = C; } if C >= var1*(1+(UpdnPer/100)) Then{ ExitLong("bx",OnClose,def,"",xvol,2); var1 = C; } } } 즐거운 하루되세요 > 은색 님이 쓴 글입니다. > 제목 : 수식작성 부탁드립니다 > 아래 <1>, <2>, <3> 3가지 수식작성 요청드립니다. <1번 수식> 1. 거래는 하루에 한 번만 하며, 거래시간은 오전 9시부터 오후 3시까지입니다. 2. 당일 오후 12시 현재의 가격이 전날 종가보다 낮을 경우에는 매수합니다. <2번 수식> 1. 거래는 하루에 한 번만 하며, 거래시간은 오전 9시부터 오후 3시까지입니다. 2. 당일 오후 12시 현재 가격이 이틀 연속 상승일 때, 즉 어제 종가가 이틀 전 종가보다 높고, 오늘 12시 현재 가격이 어제 종가보다 높을 때 매수합니다. 3. 당일 오후 12시 현재 가격이 3일 연속 하락일 때, 즉 2일 전 종가가 3일 전 종가보다 낮고, 어제 종가가 2일 전 종가보다 낮고, 오늘 12시 현재 가격이 어제 종가보다 낮으면 매도청산합니다. <3번 수식> 1. 거래는 하루에도 조건을 충족할 때마다 반복적으로 합니다. 2. 매매시간은 오전 9시 부터 오후3시 까지로 하고, 오늘 9시 현재 가격을 '최초 기준점'으로 합니다. 3. 현재가격이 '최초 기준점' 보다 1% 하락시 거래가능 금액[계좌에 있는 금액 중 거래가능한 금액을 뜻합니다. 만약 이런 식의 수식 작성이 어렵다면 일정금액(예를 들어 100만원)씩 매수하는 방식으로 작성부탁드립니다]의 5% 만큼 매수하고, '최초 기준점' 보다 1% 상승시 보유주식의 5%를 매도합니다. 4. '최초 기준점' 대비 1%상승 하거나 1%하락해 거래가 이루어진 후에는 그 가격을 '새로운 기준점'으로 삼습니다. 5. 이후 '새로운 기준점'을 기준으로 해서 다시금 1% 하락시 거래가능 금액(앞서와 마찬가지로 어려울 시 일정금액 기준작성 부탁드립니다)의 5%를 매수하고, 1% 상승시 보유 주식의 5%를 매도합니다. 단 이 때, 거래가능 금액과 보유주식이 당일 최초 거래시 보다 작아졌을 경우에는(최초 기준점을 기준으로 1%상승해서 보유주식을 매도했을 경우 주식의 보유량이 작아졌을 것이고, 1%하락해 주식을 매수했을 경우 거래가능 금액이 작아졌을 겁니다) 현재 시점의 거래가능금액의 5%나 보유주식의 5%가 아닌 최초 거래시의 거래가능 금액의 5%나 보유주식의 5%로 거래합니다. 즉, 간단히 말해 최초거래시와 현재 시점 중 주식이든 현금이든 보다 많은 양을 기준으로 5%씩 거래하는 것입니다. 6. 이런 방식으로 매 거래시마다 '기준점'을 바꾸면서 1% 상승과 하락시에 지속적으로 오후 3시까지 거래합니다. 이상입니다. 감사합니다^^
프로필 이미지

은색

2013-12-16 16:36:07

주신 내용은 잘 보았습니다. 감사합니다. 3번 수식과 관련해서 "매도수량은 최초매수시의 수량의 5%만큼으로 계속 매도합니다"라고 작성해 주셨는데, 현재 주식 보유 수량과 최초매수시의 수량을 비교해서 보다 큰 쪽의 5%를 매도하는 걸로 수식을 작성해 주셨으면 합니다. 감사합니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식작성 부탁드립니다 > 안녕하세요 예스스탁입니다. 1. var : cnt(0),count(0); count = 0; for cnt = 0 to 20{ if sdate == EntryDate(cnt) Then count = count+1; } if count == 0 and stime == 120000 Then{ if C < DayClose(1) Then buy(); } 2. var : cnt(0),count(0); count = 0; for cnt = 0 to 20{ if sdate == EntryDate(cnt) Then count = count+1; } if count == 0 and stime == 120000 Then{ if C > DayClose(1) and DayClose(1) > DayClose(2) Then buy(); } if MarketPosition == 1 and stime == 120000 Then{ if C < DayClose(1) and DayClose(1) < DayClose(2) and DayClose(2) < DayClose(2) Then ExitLong(); } 3. 해당 내용 +-1% 등락에 따른 기준가를 재저장해야 하므로 봉완성시 종가로만 가능합니다. 종가로 기준점보다 1% 하락하면 매수, 1% 상승하면 매도 입니다 매수수량은 일정금액으로 산정합니다. 매도수량은 최초매수시의 수량의 5%만큼으로 계속 매도합니다. 적용시 매수를 누적하므로 피라미딩을 모든 진입신호허용으로 설정하고 적용하셔야 합니다. input : 투입금액(1000000),UpdnPer(1); var : vol(0),vol1(0),Xvol(0); if CodeCategory == 1 Then{ if BasePrice < 50000 Then vol = int(int(투입금액/C)/10)*10; Else vol = int(투입금액/C); } if CodeCategory == 2 Then vol = int(투입금액/C); if stime == 90000 Then var1 = C; if stime >= 090000 and stime < 150000 Then{ if MarketPosition == 0 and C <= var1*(1-(UpdnPer/100)) Then{ buy("b",OnClose,def,vol); var1 = C; } if MarketPosition == 1 Then{ if MarketPosition != 0 Then{ Vol1 = CurrentContracts; if CodeCategory == 1 Then{ if BasePrice < 50000 Then xvol = int(int(Vol1*0.05)/10)*10; Else xvol = int(Vol1*0.05); } if CodeCategory == 2 Then xvol = int(Vol1*0.05); } if C <= var1*(1-(UpdnPer/100)) Then{ buy("bb",OnClose,def,vol1); var1 = C; } if C >= var1*(1+(UpdnPer/100)) Then{ ExitLong("bx",OnClose,def,"",xvol,2); var1 = C; } } } 즐거운 하루되세요 > 은색 님이 쓴 글입니다. > 제목 : 수식작성 부탁드립니다 > 아래 <1>, <2>, <3> 3가지 수식작성 요청드립니다. <1번 수식> 1. 거래는 하루에 한 번만 하며, 거래시간은 오전 9시부터 오후 3시까지입니다. 2. 당일 오후 12시 현재의 가격이 전날 종가보다 낮을 경우에는 매수합니다. <2번 수식> 1. 거래는 하루에 한 번만 하며, 거래시간은 오전 9시부터 오후 3시까지입니다. 2. 당일 오후 12시 현재 가격이 이틀 연속 상승일 때, 즉 어제 종가가 이틀 전 종가보다 높고, 오늘 12시 현재 가격이 어제 종가보다 높을 때 매수합니다. 3. 당일 오후 12시 현재 가격이 3일 연속 하락일 때, 즉 2일 전 종가가 3일 전 종가보다 낮고, 어제 종가가 2일 전 종가보다 낮고, 오늘 12시 현재 가격이 어제 종가보다 낮으면 매도청산합니다. <3번 수식> 1. 거래는 하루에도 조건을 충족할 때마다 반복적으로 합니다. 2. 매매시간은 오전 9시 부터 오후3시 까지로 하고, 오늘 9시 현재 가격을 '최초 기준점'으로 합니다. 3. 현재가격이 '최초 기준점' 보다 1% 하락시 거래가능 금액[계좌에 있는 금액 중 거래가능한 금액을 뜻합니다. 만약 이런 식의 수식 작성이 어렵다면 일정금액(예를 들어 100만원)씩 매수하는 방식으로 작성부탁드립니다]의 5% 만큼 매수하고, '최초 기준점' 보다 1% 상승시 보유주식의 5%를 매도합니다. 4. '최초 기준점' 대비 1%상승 하거나 1%하락해 거래가 이루어진 후에는 그 가격을 '새로운 기준점'으로 삼습니다. 5. 이후 '새로운 기준점'을 기준으로 해서 다시금 1% 하락시 거래가능 금액(앞서와 마찬가지로 어려울 시 일정금액 기준작성 부탁드립니다)의 5%를 매수하고, 1% 상승시 보유 주식의 5%를 매도합니다. 단 이 때, 거래가능 금액과 보유주식이 당일 최초 거래시 보다 작아졌을 경우에는(최초 기준점을 기준으로 1%상승해서 보유주식을 매도했을 경우 주식의 보유량이 작아졌을 것이고, 1%하락해 주식을 매수했을 경우 거래가능 금액이 작아졌을 겁니다) 현재 시점의 거래가능금액의 5%나 보유주식의 5%가 아닌 최초 거래시의 거래가능 금액의 5%나 보유주식의 5%로 거래합니다. 즉, 간단히 말해 최초거래시와 현재 시점 중 주식이든 현금이든 보다 많은 양을 기준으로 5%씩 거래하는 것입니다. 6. 이런 방식으로 매 거래시마다 '기준점'을 바꾸면서 1% 상승과 하락시에 지속적으로 오후 3시까지 거래합니다. 이상입니다. 감사합니다^^