커뮤니티

다시 질문드릴께요^^;

프로필 이미지
라미
2009-01-12 17:15:17
701
글번호 19434
답변완료
Input : shotP1(4), shortP2(13), longP1(12), longP2(26), emaP(5) ; Var : MACDshort(0),MACDshortSIG(0),MACDlong(0),MACDlongSIG(0) ; MACDshort = MACD(shotP1, longP1); MACDshortSIG = ema(MACD(shotP1, longP1), emaP); MACDlong = MACD(shortP2, longP2); MACDlongSIG = ema(MACD(shortP2, longP2), emaP); # 매수/매도청산 If CrossUP(MACDlong, MACDlongSIG) Then { //조건1 Buy(); } # 매도/매수청산 If CrossDown(MACDshort, MACDlongSIG) Then { //조건2 Sell(); } 현재 이런식을 사용하고 있습니다 여기서 손실거래3번 발생시 거래중단 하고 다음날 부터 다시 거래를 하려고 합니다.. 시스템식으로 부탁드릴께요^^; 그리고 다른청산식으로는 현재 식에서 매수시 볼밴 상한선하향이탈시 청산 또는 중심선 하향이탈시 청산, 매도시 하한선 상향돌파시 청산 중심선 상향돌파시 청산으로 적용하려고 합니다 두가지를 따로해서 부탁드릴께요.. 이제 시작하는 초보라 제대로 이해 못 하고 질문드리는점들 이해바랍니다.. 앞으로도 잘 부탁드릴께요^^; 수고하세요
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2009-01-13 13:41:18

안녕하세요 예스스탁입니다. 1. Input : shotP1(4), shortP2(13), longP1(12), longP2(26), emaP(5) ; Var : MACDshort(0),MACDshortSIG(0),MACDlong(0),MACDlongSIG(0) ,loss(0),cnt(0),OpenPL(0),Commission(0),Slippage(0); MACDshort = MACD(shotP1, longP1); MACDshortSIG = ema(MACD(shotP1, longP1), emaP); MACDlong = MACD(shortP2, longP2); MACDlongSIG = ema(MACD(shortP2, longP2), emaP); Commission = C*(EntryCommission+ExitCommission)/100; Slippage = EntrySlippage+ExitSlippage; loss = 0; for cnt = 1 to 10{ if sdate == entrydate(cnt) and PositionProfit(cnt) < 0 Then loss = loss+1; } if MarketPosition() == 1 Then OpenPL = ((C-EntryPrice)-Commission-Slippage)*CurrentContracts; Else if MarketPosition() == -1 Then OpenPL = ((EntryPrice-C)-Commission-Slippage)*CurrentContracts; Else OpenPL = 0; if openPL < 0 Then loss = loss+1; # 매수/매도청산 if Loss < 3 Then{ If CrossUP(MACDlong, MACDlongSIG) Then { //조건1 Buy(); } # 매도/매수청산 If CrossDown(MACDshort, MACDlongSIG) Then { //조건2 Sell(); } } If CrossUP(MACDlong, MACDlongSIG) Then { //조건1 ExitShort(); } If CrossDown(MACDshort, MACDlongSIG) Then { //조건2 ExitLong(); } 2. Input : shotP1(4), shortP2(13), longP1(12), longP2(26), emaP(5),Period(20), D(2); Var : MACDshort(0),MACDshortSIG(0),MACDlong(0),MACDlongSIG(0) ,loss(0),cnt(0),OpenPL(0),Commission(0),Slippage(0); MACDshort = MACD(shotP1, longP1); MACDshortSIG = ema(MACD(shotP1, longP1), emaP); MACDlong = MACD(shortP2, longP2); MACDlongSIG = ema(MACD(shortP2, longP2), emaP); Commission = C*(EntryCommission+ExitCommission)/100; Slippage = EntrySlippage+ExitSlippage; var1 = ma(C,Period);#이평 var2 = BollBandUp(Period,D); #상단밴드 var3 = BollBandDown(Period,D); #하단밴드 loss = 0; for cnt = 1 to 10{ if sdate == entrydate(cnt) and PositionProfit(cnt) < 0 Then loss = loss+1; } if MarketPosition() == 1 Then OpenPL = ((C-EntryPrice)-Commission-Slippage)*CurrentContracts; Else if MarketPosition() == -1 Then OpenPL = ((EntryPrice-C)-Commission-Slippage)*CurrentContracts; Else OpenPL = 0; if openPL < 0 Then loss = loss+1; # 매수/매도청산 if Loss < 3 Then{ If CrossUP(MACDlong, MACDlongSIG) Then { Buy(); } # 매도/매수청산 If CrossDown(MACDshort, MACDlongSIG) Then { Sell(); } } If CrossUP(MACDlong, MACDlongSIG) Then { ExitShort(); } If CrossDown(MACDshort, MACDlongSIG) Then { ExitLong(); } if MarketPosition() == 1 Then{ if CrossDown(c,var1) or CrossDown(c,var2) Then exitlong(); } if MarketPosition() == -1 Then{ if CrossUp(c,var1) or CrossUp(c,var3) Then ExitShort(); } 즐거운 하루되세요 > 라미 님이 쓴 글입니다. > 제목 : 다시 질문드릴께요^^; > Input : shotP1(4), shortP2(13), longP1(12), longP2(26), emaP(5) ; Var : MACDshort(0),MACDshortSIG(0),MACDlong(0),MACDlongSIG(0) ; MACDshort = MACD(shotP1, longP1); MACDshortSIG = ema(MACD(shotP1, longP1), emaP); MACDlong = MACD(shortP2, longP2); MACDlongSIG = ema(MACD(shortP2, longP2), emaP); # 매수/매도청산 If CrossUP(MACDlong, MACDlongSIG) Then { //조건1 Buy(); } # 매도/매수청산 If CrossDown(MACDshort, MACDlongSIG) Then { //조건2 Sell(); } 현재 이런식을 사용하고 있습니다 여기서 손실거래3번 발생시 거래중단 하고 다음날 부터 다시 거래를 하려고 합니다.. 시스템식으로 부탁드릴께요^^; 그리고 다른청산식으로는 현재 식에서 매수시 볼밴 상한선하향이탈시 청산 또는 중심선 하향이탈시 청산, 매도시 하한선 상향돌파시 청산 중심선 상향돌파시 청산으로 적용하려고 합니다 두가지를 따로해서 부탁드릴께요.. 이제 시작하는 초보라 제대로 이해 못 하고 질문드리는점들 이해바랍니다.. 앞으로도 잘 부탁드릴께요^^; 수고하세요