커뮤니티

수식 수정부탁드립니다....

프로필 이미지
상위1프로되기
2011-10-28 04:10:03
434
글번호 44177
답변완료
var : cnt(0),count(0); var1 = ma(C,600); var2 = ma(c,1200); count = 0; for cnt = 0 to 10{ if sdate == EntryDate(cnt) Then count = count+1; } if count < 1 and MarketPosition == 0 and (CrossDown(c,var1) or CrossDown(c,var1*1.01)) Then buy("b1"); if MarketPosition == 1 and CurrentEntries == 1 and max(var1,var2) >= min(var1,var2)*1.05 and (CrossDown(c,var2) or CrossDown(c,var2*1.01)) Then buy("b2"); if MarketPosition == 1 Then{ if MaxEntries == 1 Then exitlong("bx",atlimit,EntryPrice*1.05); if MaxEntries == 2 Then{ if CurrentContracts == MaxContracts Then exitlong("bx1",atlimit,avgEntryPrice,"B1"); if CurrentContracts == MaxContracts Then exitlong("bx2",atlimit,avgEntryPrice*1.05); } } 1)위에식은 2차까지 매수가되면 평단가에서 반매도하고 5프로에서 전량매도로 되어있는데요..2차까지 매수되면 평단가대비 1프로에서 전량매도로 바꿔주세요... 2)당일 매도가 있으면 당일은 매수가 안되게 해주세요..... 위에 식대로하면 전날 600일선에서 1차매수만하고 넘어온 종목이 당일 수익실현하게되면 다시금 600일선에서 매수가 되어버리네요...매수가 안되게 해주세요...
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2011-10-28 10:09:31

안녕하세요 예스스타입니다. var : cnt(0),count(0),exitcnt(0); var1 = ma(C,600); var2 = ma(c,1200); count = 0; exitcnt = 0; for cnt = 0 to 10{ if sdate == EntryDate(cnt) Then count = count+1; if cnt >= 1 and sdate == ExitDate(cnt) Then exitcnt = exitcnt; } if exitcnt < 1 and count < 1 and MarketPosition == 0 and (CrossDown(c,var1) or CrossDown(c,var1*1.01)) Then buy("b1"); if MarketPosition == 1 and CurrentEntries == 1 and max(var1,var2) >= min(var1,var2)*1.05 and (CrossDown(c,var2) or CrossDown(c,var2*1.01)) Then buy("b2"); if MarketPosition == 1 Then{ if MaxEntries == 1 Then exitlong("bx",atlimit,EntryPrice*1.05); if MaxEntries == 2 Then{ if CurrentContracts == MaxContracts Then exitlong("bx1",atlimit,avgEntryPrice,"B1"); if CurrentContracts == MaxContracts Then exitlong("bx2",atlimit,avgEntryPrice*1.01); } } 2차매수후 평균단가에서 절반매도를 하지않고 평균단가 대비 +1%에서만 청산만 하신다면 식은 아래와 같습니다. var : cnt(0),count(0),exitcnt(0); var1 = ma(C,600); var2 = ma(c,1200); count = 0; exitcnt = 0; for cnt = 0 to 10{ if sdate == EntryDate(cnt) Then count = count+1; if cnt >= 1 and sdate == ExitDate(cnt) Then exitcnt = exitcnt; } if exitcnt < 1 and count < 1 and MarketPosition == 0 and (CrossDown(c,var1) or CrossDown(c,var1*1.01)) Then buy("b1"); if MarketPosition == 1 and CurrentEntries == 1 and max(var1,var2) >= min(var1,var2)*1.05 and (CrossDown(c,var2) or CrossDown(c,var2*1.01)) Then buy("b2"); if MarketPosition == 1 Then{ if MaxEntries == 1 Then exitlong("bx",atlimit,EntryPrice*1.05); if MaxEntries == 2 Then{ exitlong("bx2",atlimit,avgEntryPrice*1.01); } } 즐거운 하루되세요 > 상위1프로되기 님이 쓴 글입니다. > 제목 : 수식 수정부탁드립니다.... > var : cnt(0),count(0); var1 = ma(C,600); var2 = ma(c,1200); count = 0; for cnt = 0 to 10{ if sdate == EntryDate(cnt) Then count = count+1; } if count < 1 and MarketPosition == 0 and (CrossDown(c,var1) or CrossDown(c,var1*1.01)) Then buy("b1"); if MarketPosition == 1 and CurrentEntries == 1 and max(var1,var2) >= min(var1,var2)*1.05 and (CrossDown(c,var2) or CrossDown(c,var2*1.01)) Then buy("b2"); if MarketPosition == 1 Then{ if MaxEntries == 1 Then exitlong("bx",atlimit,EntryPrice*1.05); if MaxEntries == 2 Then{ if CurrentContracts == MaxContracts Then exitlong("bx1",atlimit,avgEntryPrice,"B1"); if CurrentContracts == MaxContracts Then exitlong("bx2",atlimit,avgEntryPrice*1.05); } } 1)위에식은 2차까지 매수가되면 평단가에서 반매도하고 5프로에서 전량매도로 되어있는데요..2차까지 매수되면 평단가대비 1프로에서 전량매도로 바꿔주세요... 2)당일 매도가 있으면 당일은 매수가 안되게 해주세요..... 위에 식대로하면 전날 600일선에서 1차매수만하고 넘어온 종목이 당일 수익실현하게되면 다시금 600일선에서 매수가 되어버리네요...매수가 안되게 해주세요...