커뮤니티

문의드립니다.

프로필 이미지
사과쥬스
2012-09-05 18:28:53
249
글번호 54409
답변완료
이전답변 감사드립니다. 몇가지 수정할 사항에 대해 문의드립니다. 1. dayhigh이란 수식은 당일날의 고점만을 뜻하는 것이라고 생각됩니다. 본래의 의도는 차트상 나타나는 고점을 의미합니다. 이것은 차트실행시 300봉,5000봉 등 제가 차트를 실행시킬 때의 봉 개수에 따라서 달라져야 함을 의미합니다. 따라서 차트상에 나타나는 고점을 의미하는 수식으로 수정해 주시면 감사하겠습니다. 2. 분할 매수는 3차까지 이루어진다는 수식이 맞지만, 분할 매도부분의 4차 매도분이 수식에는 작성되지 않은것 같아 문의드립니다. 3. 만약 분할매도하는 도중 1차매도분만 체결(100만원의 20%인 20만원) 된 다음 2차매수(1차매수의 잔여량인 100만원의 80%인 80만원 + 2차매수량 100만원 = 180만원)가 된 경우 시스템상 매입금액과 매도금액의 차이로 인한 오류가 염려되어 문의드립니다. 모든 분할 매도는 매입 잔고상에 있는 수량의 20%, 30%, 50%, 100%로 계산 하여 분할 매도 주문이 나갈 수 있는지 문의드립니다. 감사합니다. 안녕하세요 예스스탁입니다. 피라미딩을 다른진입신호만허용으로 설정하시고 적용하시기 바랍니다. /*시스템이 적용된 차트상의 고가(갱신시 자동으로 변환될 수있었으면 좋겠습니다)대비 1차매수 -7% 100만원 매수 2차매수 -10% 100만원 매수 3차매수 -14% 100만원 매수 */ input : 투입금액(1000000); if CodeCategory == 1 Then{ #코스피 if BasePrice < 50000 Then Var1 = int(int(투입금액/C)/10)*10; Else Var1 = int(투입금액/C); } if CodeCategory == 2 or CodeCategory == 8 Then#코스닥 or etf Var1 = int(투입금액/C); if MarketPosition == 0 Then buy("b1",atlimit,dayhigh*0.93,var1); if MarketPosition == 1 and countif(CurrentContracts < CurrentContracts[1],BarsSinceEntry) < 1 Then{ if CurrentEntries == 1 Then buy("b2",atlimit,dayhigh*0.90,var1); if CurrentEntries == 2 Then buy("b3",atlimit,dayhigh*0.86,var1); } if MarketPosition == 1 Then{ if CurrentContracts > CurrentContracts[1] Then{ var2 = L; if CodeCategory == 1 and BasePrice < 50000 Then{ value1 = int(int(CurrentContracts*0.2)/10)*10; value2 = int(int(CurrentContracts*0.3)/10)*10; } Else{ value1 = int(CurrentContracts*0.2); value2 = int(CurrentContracts*0.3); } } if L < value1 Then value1 = L; if countif(CurrentContracts < CurrentContracts[1],BarsSinceEntry) == 0 Then ExitLong("bx1",AtLimit,var2*1.03,"",value1,1); if countif(CurrentContracts < CurrentContracts[1],BarsSinceEntry) == 1 Then ExitLong("bx2",AtLimit,var2*1.05,"",value2,1); if countif(CurrentContracts < CurrentContracts[1],BarsSinceEntry) == 2 Then ExitLong("bx3",AtLimit,var2*1.07); } 즐거운 하루되세요 > 사과쥬스 님이 쓴 글입니다. > 제목 : 문의드립니다. > 이전 답변 감사드립니다. 매수 현물매매입니다. 3분봉상 시스템이 적용된 차트상의 고가(갱신시 자동으로 변환될 수있었으면 좋겠습니다)대비 1차매수 -7% 100만원 매수 2차매수 -10% 100만원 매수 3차매수 -14% 100만원 매수 매도 1차매도 - 1차매수가 이후 최저점기준 3% - 전체물량의 20%, 5% - 전체물량의 30%, 7% - 전체물량의 50%, 9% - 전체물량의 100% 2차매도 - 2차매수가 이후 최저점기준 3% - 전체물량의 20%, 5% - 전체물량의 30%, 7% - 전체물량의 50%, 9% - 전체물량의 100% 3차매도 - 3차매수가 이후 최저점기준 3% - 전체물량의 20%, 5% - 전체물량의 30%, 7% - 전체물량의 50%, 9% - 전체물량의 100% * 1차,2차,3차 모두, 매수는 딱 한번씩만 매수되도록 하고싶습니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2012-09-06 08:46:30

안녕하세요 예스스탁입니다. 1. 차트 전체상 고점식은 아래와 같습니다. var : ChartHigh(0); if index == 0 Then ChartHigh = H; if H > ChartHigh Then ChartHigh = H; 2. 아래식 4차 매도 추가한 식입니다. 이전의 식은 한번 청산이 발생하면 더이상 진입을 하지 못하게 되어 있었습니다. 청산후에도 추가진입되게 수정했습니다. 3. input : 투입금액(1000000); if CodeCategory == 1 Then{ #코스피 if BasePrice < 50000 Then Var1 = int(int(투입금액/C)/10)*10; Else Var1 = int(투입금액/C); } if CodeCategory == 2 or CodeCategory == 8 Then#코스닥 or etf Var1 = int(투입금액/C); if MarketPosition == 0 Then buy("b1",atlimit,dayhigh*0.93,var1); if MarketPosition == 1 Then{ if CurrentEntries == 1 and MaxEntries == 1 Then buy("b2",atlimit,dayhigh*0.90,var1); if CurrentEntries == 2 and MaxEntries == 2 Then buy("b3",atlimit,dayhigh*0.86,var1); } if MarketPosition == 1 Then{ if CurrentContracts > CurrentContracts[1] Then{ var2 = L; if CodeCategory == 1 and BasePrice < 50000 Then{ value1 = int(int(CurrentContracts*0.2)/10)*10; value2 = int(int(CurrentContracts*0.3)/10)*10; value3 = int(int(CurrentContracts*0.5)/10)*10; } Else{ value1 = int(CurrentContracts*0.2); value2 = int(CurrentContracts*0.3); value3 = int(CurrentContracts*0.5); } } if L < var2 Then var2 = L; if countif(CurrentContracts > CurrentContracts[1],BarsSinceEntry) == 1 Then{ ExitLong("bx11",AtLimit,var2*1.03,"",value1,1); ExitLong("bx12",AtLimit,var2*1.05,"",value2,1); ExitLong("bx13",AtLimit,var2*1.07,"",value3,1); ExitLong("bx14",AtLimit,var2*1.09); } if countif(CurrentContracts > CurrentContracts[1],BarsSinceEntry) == 2 Then{ ExitLong("bx21",AtLimit,var2*1.03,"",value1,1); ExitLong("bx22",AtLimit,var2*1.05,"",value2,1); ExitLong("bx23",AtLimit,var2*1.07,"",value3,1); ExitLong("bx24",AtLimit,var2*1.09); } if countif(CurrentContracts > CurrentContracts[1],BarsSinceEntry) == 3 Then{ ExitLong("bx31",AtLimit,var2*1.03,"",value1,1); ExitLong("bx32",AtLimit,var2*1.05,"",value2,1); ExitLong("bx33",AtLimit,var2*1.07,"",value3,1); ExitLong("bx34",AtLimit,var2*1.09); } } 즐거운 하루되세요 > 사과쥬스 님이 쓴 글입니다. > 제목 : 문의드립니다. > 이전답변 감사드립니다. 몇가지 수정할 사항에 대해 문의드립니다. 1. dayhigh이란 수식은 당일날의 고점만을 뜻하는 것이라고 생각됩니다. 본래의 의도는 차트상 나타나는 고점을 의미합니다. 이것은 차트실행시 300봉,5000봉 등 제가 차트를 실행시킬 때의 봉 개수에 따라서 달라져야 함을 의미합니다. 따라서 차트상에 나타나는 고점을 의미하는 수식으로 수정해 주시면 감사하겠습니다. 2. 분할 매수는 3차까지 이루어진다는 수식이 맞지만, 분할 매도부분의 4차 매도분이 수식에는 작성되지 않은것 같아 문의드립니다. 3. 만약 분할매도하는 도중 1차매도분만 체결(100만원의 20%인 20만원) 된 다음 2차매수(1차매수의 잔여량인 100만원의 80%인 80만원 + 2차매수량 100만원 = 180만원)가 된 경우 시스템상 매입금액과 매도금액의 차이로 인한 오류가 염려되어 문의드립니다. 모든 분할 매도는 매입 잔고상에 있는 수량의 20%, 30%, 50%, 100%로 계산 하여 분할 매도 주문이 나갈 수 있는지 문의드립니다. 감사합니다. 안녕하세요 예스스탁입니다. 피라미딩을 다른진입신호만허용으로 설정하시고 적용하시기 바랍니다. /*시스템이 적용된 차트상의 고가(갱신시 자동으로 변환될 수있었으면 좋겠습니다)대비 1차매수 -7% 100만원 매수 2차매수 -10% 100만원 매수 3차매수 -14% 100만원 매수 */ input : 투입금액(1000000); if CodeCategory == 1 Then{ #코스피 if BasePrice < 50000 Then Var1 = int(int(투입금액/C)/10)*10; Else Var1 = int(투입금액/C); } if CodeCategory == 2 or CodeCategory == 8 Then#코스닥 or etf Var1 = int(투입금액/C); if MarketPosition == 0 Then buy("b1",atlimit,dayhigh*0.93,var1); if MarketPosition == 1 and countif(CurrentContracts < CurrentContracts[1],BarsSinceEntry) < 1 Then{ if CurrentEntries == 1 Then buy("b2",atlimit,dayhigh*0.90,var1); if CurrentEntries == 2 Then buy("b3",atlimit,dayhigh*0.86,var1); } if MarketPosition == 1 Then{ if CurrentContracts > CurrentContracts[1] Then{ var2 = L; if CodeCategory == 1 and BasePrice < 50000 Then{ value1 = int(int(CurrentContracts*0.2)/10)*10; value2 = int(int(CurrentContracts*0.3)/10)*10; } Else{ value1 = int(CurrentContracts*0.2); value2 = int(CurrentContracts*0.3); } } if L < value1 Then value1 = L; if countif(CurrentContracts < CurrentContracts[1],BarsSinceEntry) == 0 Then ExitLong("bx1",AtLimit,var2*1.03,"",value1,1); if countif(CurrentContracts < CurrentContracts[1],BarsSinceEntry) == 1 Then ExitLong("bx2",AtLimit,var2*1.05,"",value2,1); if countif(CurrentContracts < CurrentContracts[1],BarsSinceEntry) == 2 Then ExitLong("bx3",AtLimit,var2*1.07); } 즐거운 하루되세요 > 사과쥬스 님이 쓴 글입니다. > 제목 : 문의드립니다. > 이전 답변 감사드립니다. 매수 현물매매입니다. 3분봉상 시스템이 적용된 차트상의 고가(갱신시 자동으로 변환될 수있었으면 좋겠습니다)대비 1차매수 -7% 100만원 매수 2차매수 -10% 100만원 매수 3차매수 -14% 100만원 매수 매도 1차매도 - 1차매수가 이후 최저점기준 3% - 전체물량의 20%, 5% - 전체물량의 30%, 7% - 전체물량의 50%, 9% - 전체물량의 100% 2차매도 - 2차매수가 이후 최저점기준 3% - 전체물량의 20%, 5% - 전체물량의 30%, 7% - 전체물량의 50%, 9% - 전체물량의 100% 3차매도 - 3차매수가 이후 최저점기준 3% - 전체물량의 20%, 5% - 전체물량의 30%, 7% - 전체물량의 50%, 9% - 전체물량의 100% * 1차,2차,3차 모두, 매수는 딱 한번씩만 매수되도록 하고싶습니다.