커뮤니티
다시 질문드릴께요^^;
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번 발생시 거래중단 하고
다음날 부터 다시 거래를 하려고 합니다..
시스템식으로 부탁드릴께요^^;
그리고 다른청산식으로는 현재 식에서 매수시 볼밴 상한선하향이탈시 청산 또는 중심선 하향이탈시 청산,
매도시 하한선 상향돌파시 청산 중심선 상향돌파시 청산으로 적용하려고 합니다
두가지를 따로해서 부탁드릴께요..
이제 시작하는 초보라 제대로 이해 못 하고 질문드리는점들
이해바랍니다..
앞으로도 잘 부탁드릴께요^^;
수고하세요
다음글