커뮤니티

재문의 드립니다.

프로필 이미지
림경이랑
2013-06-05 16:22:33
176
글번호 64021
답변완료
수식 잘 받았습니다. 적용해 보니 수정 사항이 있어서 다시 문의 드립니다. 오늘 기준으로 보았을때 260.25이탈봉 발생 매도 진입 매도 진입이 되면 259.75에 자동 청산 주문이 들어갑니다. 260.75 돌파시 손절매가 되면서 배수로 260.75 이상에서 매수 주문이 들어가는 수식을 만들고 싶습니다. 0.25, 0.75 단위로 설정한 식입니다. var : cnt(0),entrynum(0),기본수량(1); Array : CC[100](0); var1 = int(DayClose(1)); CC[39] = (var1+9)+0.25; CC[38] = (var1+9)+0.75; CC[37] = (var1+8)+0.25; CC[36] = (var1+8)+0.75; CC[35] = (var1+7)+0.25; CC[34] = (var1+7)+0.75; CC[33] = (var1+6)+0.25; CC[32] = (var1+6)+0.75; CC[31] = (var1+5)+0.25; CC[30] = (var1+5)+0.75; CC[29] = (var1+4)+0.25; CC[28] = (var1+4)+0.75; CC[27] = (var1+3)+0.25; CC[26] = (var1+3)+0.75; CC[25] = (var1+2)+0.25; CC[24] = (var1+2)+0.75; CC[23] = (var1+1)+0.25; CC[22] = (var1+1)+0.75; CC[21] = (var1)+0.25; CC[20] = (var1)+0.75; CC[19] = (var1)-0.25; CC[18] = (var1)-0.75; CC[17] = (var1-1)-0.25; CC[16] = (var1-1)-0.75; CC[15] = (var1-2)-0.25; CC[14] = (var1-2)-0.75; CC[13] = (var1-3)-0.25; CC[12] = (var1-3)-0.75; CC[11] = (var1-4)-0.25; CC[10] = (var1-4)-0.75; CC[9] = (var1-5)-0.25; CC[8] = (var1-5)-0.75; CC[7] = (var1-6)-0.25; CC[6] = (var1-6)-0.75; CC[5] = (var1-7)-0.25; CC[4] = (var1-7)-0.75; CC[3] = (var1-8)-0.25; CC[2] = (var1-8)-0.75; CC[1] = (var1-9)-0.25; CC[0] = (var1-9)-0.75; Condition1 = ExitDate(1) == sdate and (IsExitName("매수손절끝",1) or IsExitName("매도손절끝",1)); if dayindex == 0 and MarketPosition == 0 Then{ for cnt = 0 to 39{ if C >= CC[cnt] and CC[cnt] > O Then{ buy("매수.",OnClose,def,기본수량); entrynum = cnt; cnt = 100; } if C <= CC[cnt] and CC[cnt] < O Then{ Sell("매도.",OnClose,def,기본수량); entrynum = cnt; cnt = 100; } } } if Condition1 == false Then{ if dayindex > 0 and MarketPosition == 0 Then{ for cnt = 0 to 39{ if C >= CC[cnt] and C[1] < CC[cnt][1] Then{ buy("매수"); entrynum = cnt; cnt = 100; } if C <= CC[cnt] and C[1] > CC[cnt][1] Then{ sell("매도"); entrynum = cnt; cnt = 100; } } } if MarketPosition == -1 Then{ ExitShort("매도익절",AtLimit,CC[Entrynum-1]); if C >= CC[entryNum+1] and CurrentContracts < 기본수량*2*2 Then{ Buy("매도손절매수스위칭",OnClose,def,CurrentContracts*2); entrynum = entrynum+1; } if CurrentContracts == 기본수량*2*2 Then ExitShort("매도손절끝",AtStop,CC[Entrynum+1]); } if MarketPosition == 1 Then{ ExitLong("매수익절",AtLimit,CC[Entrynum+1]); if C <= CC[Entrynum-1] and CurrentContracts < 기본수량*2*2 Then{ Sell("매수손절매도스위칭",OnClose,def,CurrentContracts*2); entrynum = entrynum-1; } if CurrentContracts == 기본수량*2*2 Then ExitLong("매수손절끝",AtStop,CC[Entrynum-1]); } }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-06-05 18:11:50

안녕하세요 예스스탁입니다. var : cnt(0),entrynum(0),기본수량(1); Array : CC[100](0); var1 = int(DayClose(1)); CC[41] = (var1+10)+0.75; CC[40] = (var1+10)+0.25; CC[39] = (var1+9)+0.75; CC[38] = (var1+9)+0.25; CC[37] = (var1+8)+0.75; CC[36] = (var1+8)+0.25; CC[35] = (var1+7)+0.75; CC[34] = (var1+7)+0.25; CC[33] = (var1+6)+0.75; CC[32] = (var1+6)+0.25; CC[31] = (var1+5)+0.75; CC[30] = (var1+5)+0.25; CC[29] = (var1+4)+0.75; CC[28] = (var1+4)+0.25; CC[27] = (var1+3)+0.75; CC[26] = (var1+3)+0.25; CC[25] = (var1+2)+0.75; CC[24] = (var1+2)+0.25; CC[23] = (var1+1)+0.75; CC[22] = (var1+1)+0.25; CC[21] = (var1)+0.75; CC[20] = (var1)+0.25; CC[19] = (var1-1)+0.75; CC[18] = (var1-1)+0.25; CC[17] = (var1-2)+0.75; CC[16] = (var1-2)+0.25; CC[15] = (var1-3)+0.75; CC[14] = (var1-3)+0.25; CC[13] = (var1-4)+0.75; CC[12] = (var1-4)+0.25; CC[11] = (var1-5)+0.75; CC[10] = (var1-5)+0.25; CC[9] = (var1-6)+0.75; CC[8] = (var1-6)+0.25; CC[7] = (var1-7)+0.75; CC[6] = (var1-7)+0.25; CC[5] = (var1-8)+0.75; CC[4] = (var1-8)+0.25; CC[3] = (var1-9)+0.75; CC[2] = (var1-9)+0.25; CC[1] = (var1-10)+0.75; CC[0] = (var1-10)+0.25; Condition1 = ExitDate(1) == sdate and (IsExitName("매수손절끝",1) or IsExitName("매도손절끝",1)); if dayindex == 0 and MarketPosition == 0 Then{ for cnt = 0 to 41{ if C >= CC[cnt] and CC[cnt] > O Then{ buy("매수.",OnClose,def,기본수량); entrynum = cnt; cnt = 100; } if C <= CC[cnt] and CC[cnt] < O Then{ Sell("매도.",OnClose,def,기본수량); entrynum = cnt; cnt = 100; } } } if Condition1 == false Then{ if dayindex > 0 and MarketPosition == 0 Then{ for cnt = 0 to 41{ if C >= CC[cnt] and C[1] < CC[cnt][1] Then{ buy("매수"); entrynum = cnt; cnt = 100; } if C <= CC[cnt] and C[1] > CC[cnt][1] Then{ sell("매도"); entrynum = cnt; cnt = 100; } } } if MarketPosition == -1 Then{ ExitShort("매도익절",AtLimit,CC[Entrynum-1]); if C >= CC[entryNum+1] and CurrentContracts < 기본수량*2*2 Then{ Buy("매도손절매수스위칭",OnClose,def,CurrentContracts*2); entrynum = entrynum+1; } if CurrentContracts == 기본수량*2*2 Then ExitShort("매도손절끝",AtStop,CC[Entrynum+1]); } if MarketPosition == 1 Then{ ExitLong("매수익절",AtLimit,CC[Entrynum+1]); if C <= CC[Entrynum-1] and CurrentContracts < 기본수량*2*2 Then{ Sell("매수손절매도스위칭",OnClose,def,CurrentContracts*2); entrynum = entrynum-1; } if CurrentContracts == 기본수량*2*2 Then ExitLong("매수손절끝",AtStop,CC[Entrynum-1]); } } 즐거운 하루되세요 > 림경이랑 님이 쓴 글입니다. > 제목 : 재문의 드립니다. > 수식 잘 받았습니다. 적용해 보니 수정 사항이 있어서 다시 문의 드립니다. 오늘 기준으로 보았을때 260.25이탈봉 발생 매도 진입 매도 진입이 되면 259.75에 자동 청산 주문이 들어갑니다. 260.75 돌파시 손절매가 되면서 배수로 260.75 이상에서 매수 주문이 들어가는 수식을 만들고 싶습니다. 0.25, 0.75 단위로 설정한 식입니다. var : cnt(0),entrynum(0),기본수량(1); Array : CC[100](0); var1 = int(DayClose(1)); CC[39] = (var1+9)+0.25; CC[38] = (var1+9)+0.75; CC[37] = (var1+8)+0.25; CC[36] = (var1+8)+0.75; CC[35] = (var1+7)+0.25; CC[34] = (var1+7)+0.75; CC[33] = (var1+6)+0.25; CC[32] = (var1+6)+0.75; CC[31] = (var1+5)+0.25; CC[30] = (var1+5)+0.75; CC[29] = (var1+4)+0.25; CC[28] = (var1+4)+0.75; CC[27] = (var1+3)+0.25; CC[26] = (var1+3)+0.75; CC[25] = (var1+2)+0.25; CC[24] = (var1+2)+0.75; CC[23] = (var1+1)+0.25; CC[22] = (var1+1)+0.75; CC[21] = (var1)+0.25; CC[20] = (var1)+0.75; CC[19] = (var1)-0.25; CC[18] = (var1)-0.75; CC[17] = (var1-1)-0.25; CC[16] = (var1-1)-0.75; CC[15] = (var1-2)-0.25; CC[14] = (var1-2)-0.75; CC[13] = (var1-3)-0.25; CC[12] = (var1-3)-0.75; CC[11] = (var1-4)-0.25; CC[10] = (var1-4)-0.75; CC[9] = (var1-5)-0.25; CC[8] = (var1-5)-0.75; CC[7] = (var1-6)-0.25; CC[6] = (var1-6)-0.75; CC[5] = (var1-7)-0.25; CC[4] = (var1-7)-0.75; CC[3] = (var1-8)-0.25; CC[2] = (var1-8)-0.75; CC[1] = (var1-9)-0.25; CC[0] = (var1-9)-0.75; Condition1 = ExitDate(1) == sdate and (IsExitName("매수손절끝",1) or IsExitName("매도손절끝",1)); if dayindex == 0 and MarketPosition == 0 Then{ for cnt = 0 to 39{ if C >= CC[cnt] and CC[cnt] > O Then{ buy("매수.",OnClose,def,기본수량); entrynum = cnt; cnt = 100; } if C <= CC[cnt] and CC[cnt] < O Then{ Sell("매도.",OnClose,def,기본수량); entrynum = cnt; cnt = 100; } } } if Condition1 == false Then{ if dayindex > 0 and MarketPosition == 0 Then{ for cnt = 0 to 39{ if C >= CC[cnt] and C[1] < CC[cnt][1] Then{ buy("매수"); entrynum = cnt; cnt = 100; } if C <= CC[cnt] and C[1] > CC[cnt][1] Then{ sell("매도"); entrynum = cnt; cnt = 100; } } } if MarketPosition == -1 Then{ ExitShort("매도익절",AtLimit,CC[Entrynum-1]); if C >= CC[entryNum+1] and CurrentContracts < 기본수량*2*2 Then{ Buy("매도손절매수스위칭",OnClose,def,CurrentContracts*2); entrynum = entrynum+1; } if CurrentContracts == 기본수량*2*2 Then ExitShort("매도손절끝",AtStop,CC[Entrynum+1]); } if MarketPosition == 1 Then{ ExitLong("매수익절",AtLimit,CC[Entrynum+1]); if C <= CC[Entrynum-1] and CurrentContracts < 기본수량*2*2 Then{ Sell("매수손절매도스위칭",OnClose,def,CurrentContracts*2); entrynum = entrynum-1; } if CurrentContracts == 기본수량*2*2 Then ExitLong("매수손절끝",AtStop,CC[Entrynum-1]); } }