커뮤니티

수식 문의 드립니다.

프로필 이미지
앙두
2012-04-17 16:46:49
304
글번호 50157
답변완료
아래의 수식에 다음과 같은 매매조건을 삽입하려면 어떻게 해야 하는지 궁금합니다. (최초 거래는 현물일 경우 100만원, 선물일 경우는 1계약으로 진입) - 매수거래던 매도거래던 손실이 이전 거래에서 연속으로 2번 손실이 발생하면 신규매매신호신호 발생시 이전 진입금액(또는 계약수)에 2를 곱하여 진입 - 이익이 발생하면 다시 100만원(1계약)으로 진입 - 단, 최대 누적금액(계약)은 800만원(8계약) 이다. if data2(dayindex == 0) Then{ if data2(bids > asks) Then buy("b",AtMarket); if data2(bids < asks) Then sell("s",AtMarket); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2012-04-17 18:18:22

안녕하세요 예스스탁입니다. input : 주식투입금액(1000000),주식최대(8000000),선물투입수량(1),선물최대(8); var : cnt(0,data1),loss(0,data1),Entry(0,data1),First(false,data1),vv(0,data1); loss = 0; for cnt = 10 downto 1{ if PositionProfit(cnt) < 0 Then Loss = loss+1; Else loss = 0; } if CodeCategory == 1 or CodeCategory == 2 Then{ if loss <= 1 Then Entry = 주식투입금액; if loss >= 2 Then Entry = min(entry[BarsSinceEntry(1)]*2,주식최대); if CodeCategory == 1 Then{ if BasePrice < 50000 Then vv = round(int(int(entry/C)/10)*10,0); Else vv = round(int(entry/C),0); } if CodeCategory == 2 Then#코스닥 vv = round(int(entry/C),0); if data2(dayindex == 0) Then{ if data2(bids > asks) Then buy("b",OnClose,def,vv); if data2(bids < asks) Then sell("s"); } } if CodeCategory == 4 Then{ if data2(dayindex == 0) Then{ if data2(bids > asks) Then{ If MarketPosition == 0 Then buy("b1",OnClose,def,iff(loss >= 2,CurrentContracts[BarsSinceEntry(1)-1]*2,선물투입수량)); If MarketPosition == -1 Then{ if C > EntryPrice and loss >= 1 Then buy("b2",OnClose,def,min(CurrentContracts[BarsSinceEntry-1]*2,선물최대)); Else buy("b3",OnClose,def,1); } } if data2(bids < asks) Then{ If MarketPosition == 0 Then sell("s1",OnClose,def,iff(loss >= 2,CurrentContracts[BarsSinceEntry(1)-1]*2,선물투입수량)); If MarketPosition == 1 Then{ if C < EntryPrice and loss >= 1 Then sell("s2",OnClose,def,min(CurrentContracts[BarsSinceEntry-1]*2,선물최대)); Else sell("s3",OnClose,def,1); } } } } 즐거운 하루되세요 > 앙두 님이 쓴 글입니다. > 제목 : 수식 문의 드립니다. > 아래의 수식에 다음과 같은 매매조건을 삽입하려면 어떻게 해야 하는지 궁금합니다. (최초 거래는 현물일 경우 100만원, 선물일 경우는 1계약으로 진입) - 매수거래던 매도거래던 손실이 이전 거래에서 연속으로 2번 손실이 발생하면 신규매매신호신호 발생시 이전 진입금액(또는 계약수)에 2를 곱하여 진입 - 이익이 발생하면 다시 100만원(1계약)으로 진입 - 단, 최대 누적금액(계약)은 800만원(8계약) 이다. if data2(dayindex == 0) Then{ if data2(bids > asks) Then buy("b",AtMarket); if data2(bids < asks) Then sell("s",AtMarket); }