커뮤니티

문의드립니다

프로필 이미지
사과쥬스
2012-09-06 09:45:54
178
글번호 54429
답변완료
이전답변감사드립니다 알 려주신 차트상 의 고점식을 2번의 수식에 적용시켜주시면감사하겟습니다 그리고 3. 만약 분할매도하는 도중 1차매도분만 체결(100만원의 20%인 20만원) 된 다음 2차매수(1차매수의 잔여량인 100만원의 80%인 80만 원 + 2차매수량 100만원 = 180만원)가 된 경우 시스템상 매입금액과 매도금액의 차이로 인한 오류가 염려되어 문의드립니다. 모든 분할 매도는 매입 잔고상에 있는 수량의 20%, 30%, 50%, 100%로 계산 하여 분할 매도 주문이 나갈 수 있는지 문의드립니다. 그리고 1,2,3차 매수는 시스템적용시 한번씩만 주문이 나갈수 있도록 수정해 주시면 감사하겟 습니다 1. 차트 전체상 고점식은 아래와 같습니다. var : ChartHigh(0); if index == 0 Then ChartHigh = H; if H > ChartHigh Then ChartHigh = H 2. 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
프로필 이미지

예스스탁 예스스탁 답변

2012-09-06 11:42:11

안녕하세요 예스스탁입니다. 문의하신 모두 반영이 되어 있는 식입니다. 차트상 고점식내용으로 수정한 식입니다. input : 투입금액(1000000); var : ChartHigh(0); if index == 0 Then ChartHigh = H; if H > ChartHigh Then ChartHigh = H; 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,ChartHigh*0.93,var1); if MarketPosition == 1 Then{ if CurrentEntries == 1 and MaxEntries == 1 Then buy("b2",atlimit,ChartHigh*0.90,var1); if CurrentEntries == 2 and MaxEntries == 2 Then buy("b3",atlimit,ChartHigh*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); } } 즐거운 하루되세요 > 사과쥬스 님이 쓴 글입니다. > 제목 : 문의드립니다 > 이전답변감사드립니다 알 려주신 차트상 의 고점식을 2번의 수식에 적용시켜주시면감사하겟습니다 그리고 3. 만약 분할매도하는 도중 1차매도분만 체결(100만원의 20%인 20만원) 된 다음 2차매수(1차매수의 잔여량인 100만원의 80%인 80만 원 + 2차매수량 100만원 = 180만원)가 된 경우 시스템상 매입금액과 매도금액의 차이로 인한 오류가 염려되어 문의드립니다. 모든 분할 매도는 매입 잔고상에 있는 수량의 20%, 30%, 50%, 100%로 계산 하여 분할 매도 주문이 나갈 수 있는지 문의드립니다. 그리고 1,2,3차 매수는 시스템적용시 한번씩만 주문이 나갈수 있도록 수정해 주시면 감사하겟 습니다 1. 차트 전체상 고점식은 아래와 같습니다. var : ChartHigh(0); if index == 0 Then ChartHigh = H; if H > ChartHigh Then ChartHigh = H 2. 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); } }