커뮤니티

수식부탁드립니다.

프로필 이미지
피셔킹
2012-01-17 19:08:09
388
글번호 46728
답변완료
다음같은 시스템 식에서 input : unit(1); if ema(c,20)>ema(c,60) then unit==2 ; else if ema(c,50)>ema(c,20)>ema(c,60) then unit==3 ; else unit==1; if crossup(c,ema(c,20)) then buy("b1",atmarket,unit); if crossdown(c,ema(c,20)) then sell("s1"",atmarket,,unit); // --->리버스 시스템입니다. if marketposition==1 then exitlong("b1x",atstop,higeset(H,barsSinceEntry+1)-atr(20)*2,unit); if marketposition==-1 then exitshort("s1x",atstop,lowest(L,barsSinceEntry+1)+atr(20)*2,unit); 10분봉차트에서 이 시스템식을 적용했을 때 1. 이번달 초부터 거래부터 어제까지 기록을 통한 오늘에서 본 unit이 1이라고 가정할 때 월초부터 누적거래수(월초 첫번째 거래수는 저번달 마지막날의 거래수로해서 어제까지 누적거래수), 누적수익거래수(저번달 마지막날 수익거래부터 누적한 어제까지의 수익거래수), 월초부터의 승률과 누적수익손실(pt) (즉 unit이 2로 진입시 손익/2로 계산한 누적손익) 2. 이번달 초부터 거래부터 어제까지 기록을 통한 오늘에서 본 unit이 아닌 진입 계약수에 따른 누적거래수, 누적수익거래수, 승률과 누적수익손실(pt) 3.최근 N일동안 unit 1가정과 실진입계약수에 다른 누적거래수, 누적수익거래수, 승률과 누적수익손실 4.최근 N거래동안 unit 1가정과 실진입계약수에 다른 승률과 누적수익손실 5. 위의 1,2,3,4의 누적거래수, 누적수익거래수, 승률과 수익손실과 수익손실의 누적수익의 5이평값을 메세지박스나 print로 보고 싶습니다. 혹시 위의 4가지를 지표처럼 그래프로 YT에서 볼수 있는지요? 감사합니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2012-01-18 13:51:16

안녕하세요 예스스탁입니다. input : N(5); var : unit(0); var : entry(0),sumPL(0),Win(0),unitPL(0),cnt(0),count(0); var : entry1(0),sumPL1(0),Win1(0),unitPL1(0); var : sumdayentry(0),sumdayUnitPL(0),sumdaySumPL(0),sumdayWin(0); Array : dayentry[30](0),daysumPL[30](0),dayWin[30](0),dayunitPL[30](0); if ema(c,20) > ema(c,60) then unit=2 ; else if ema(c,50) > ema(c,20) and ema(C,20) >ema(c,60) then unit=3 ; else unit=1; if crossup(c,ema(c,20)) then buy("b1",atmarket,def,unit); if crossdown(c,ema(c,20)) then sell("s1",atmarket,def,unit); if marketposition == 1 then exitlong("b1x",atstop,Highest(H,barsSinceEntry+1)-atr(20)*2); if marketposition == -1 then exitshort("s1x",atstop,lowest(L,barsSinceEntry+1)+atr(20)*2); if date > date[1]+30 Then{ entry = 0; UnitPL = 0; SumPL = 0; Win = 0; } if BarsSinceExit(1) == 1 Then{ entry = entry+1; unitPL = unitPL + (PositionProfit(1)/CurrentContracts[BarsSinceEntry(1)]); sumPL = sumPL + PositionProfit(1); if PositionProfit(1) > 0 Then Win = win+1; } if date != date[1] Then{ entry1 = entry[1]; UnitPL1 = UnitPL[1]; SumPL1 = SumPL[1]; Win1 = Win[1]; } if date != date[1] Then{ dayentry[0] = 0; dayUnitPL[0] = 0; daySumPL[0] = 0; dayWin[0] = 0; for count = 1 to 29{ dayentry[count] = dayentry[count-1][1]; dayUnitPL[count] = dayUnitPL[count-1][1]; daySumPL[count] = daySumPL[count-1][1]; dayWin[count] = dayWin[count-1][1]; } } if MarketPosition != MarketPosition[1] and MarketPosition[1] != 0 Then{ dayentry[0] = dayentry[0]+1; dayunitPL[0] = dayunitPL[0] + (PositionProfit(1)/CurrentContracts[BarsSinceEntry(1)]); daysumPL[0] = daysumPL[0] + PositionProfit(1); if PositionProfit(1) > 0 Then dayWin[0] = daywin[0]+1; } sumdayentry = 0; sumdayUnitPL = 0; sumdaySumPL = 0; sumdayWin = 0; for cnt = 1 to N { sumdayentry = sumdayentry+dayentry[cnt]; sumdayUnitPL = sumdayUnitPL+dayUnitPl[cnt]; sumdaySumPL = sumdaySumPL+daysumPL[cnt]; sumdayWin = sumdayWin+Daywin[cnt]; } MessageLog("월거래수 %.f 1당누적손익 %.2f 전체손익 %.2f 수익거래횟수 %.2f 승률 %.f",entry1,unitPL1,sumPL1,Win1,Win1/entry1*100); MessageLog("N일거래수 %.f 1당누적손익 %.2f 전체손익 %.2f 수익거래횟수 %.2f 승률 %.f",sumdayentry,sumdayunitPL,sumdaysumPL,sumdayWin,sumdayWin/sumdayentry*100); 거래수나 수익거래횟수, 승률등은 1계약당으로 계산하거나 진입계약수 전체로 따졌을때 모두 동일한 내용이므로 각각 거래수, 1계약당누적손익, 전체손익, 수익거래횟수, 승률로 디버깅창에 표시됩니다. 즐거운 하루되세요 > 피셔킹 님이 쓴 글입니다. > 제목 : 수식부탁드립니다. > 다음같은 시스템 식에서 input : unit(1); if ema(c,20)>ema(c,60) then unit==2 ; else if ema(c,50)>ema(c,20)>ema(c,60) then unit==3 ; else unit==1; if crossup(c,ema(c,20)) then buy("b1",atmarket,unit); if crossdown(c,ema(c,20)) then sell("s1"",atmarket,,unit); // --->리버스 시스템입니다. if marketposition==1 then exitlong("b1x",atstop,higeset(H,barsSinceEntry+1)-atr(20)*2,unit); if marketposition==-1 then exitshort("s1x",atstop,lowest(L,barsSinceEntry+1)+atr(20)*2,unit); 10분봉차트에서 이 시스템식을 적용했을 때 1. 이번달 초부터 거래부터 어제까지 기록을 통한 오늘에서 본 unit이 1이라고 가정할 때 월초부터 누적거래수(월초 첫번째 거래수는 저번달 마지막날의 거래수로해서 어제까지 누적거래수), 누적수익거래수(저번달 마지막날 수익거래부터 누적한 어제까지의 수익거래수), 월초부터의 승률과 누적수익손실(pt) (즉 unit이 2로 진입시 손익/2로 계산한 누적손익) 2. 이번달 초부터 거래부터 어제까지 기록을 통한 오늘에서 본 unit이 아닌 진입 계약수에 따른 누적거래수, 누적수익거래수, 승률과 누적수익손실(pt) 3.최근 N일동안 unit 1가정과 실진입계약수에 다른 누적거래수, 누적수익거래수, 승률과 누적수익손실 4.최근 N거래동안 unit 1가정과 실진입계약수에 다른 승률과 누적수익손실 5. 위의 1,2,3,4의 누적거래수, 누적수익거래수, 승률과 수익손실과 수익손실의 누적수익의 5이평값을 메세지박스나 print로 보고 싶습니다. 혹시 위의 4가지를 지표처럼 그래프로 YT에서 볼수 있는지요? 감사합니다.