커뮤니티
20892 제문의
2011-10-07 20:52:26
489
글번호 43475
20892 에서 문의한 수식1번과2번이 붙어넣기해서 시스템작성해서 적용한결과 신호가 하나도 않나오내요 확인부탁더리께요
- 1. 신호없음.JPG (0.16 MB)
답변 1
예스스탁 예스스탁 답변
2011-10-10 10:07:41
안녕하세요
예스스탁입니다.
죄송합니다. 수식 붙여넣기에 오류가 있었습니다.
아래식으로 작성하시면 됩니다.
1.
input:하루이익(0.8);
var : PLR(0),XCommission(0),XSlippage(0),OpenPL(0),dayPL(0),count(0);
#당일누적손익계산 시작
XCommission = ((C*ExitCommission)/100)*CurrentContracts; #%설정
XSlippage = (ExitSlippage)*CurrentContracts; #Pt설정
PLR = 0;
count = 0;
for var1 = 1 to 10{
if sdate == EntryDate(var1) Then{
PLR = PLR+PositionProfit(var1);
}
}
if MarketPosition() == 0 Then{
OpenPL = 0;
dayPL = PLR;
}
Else{
OpenPL = (PositionProfit-(XCommission+XSlippage));
dayPL = PLR+OpenPL;
}
value1 = (highest(H,9)+lowest(L,9))/2;
if daypl < 하루이익 then{
if countif(value1>value1[1],2) == 2 Then
buy("b",OnClose,def,1);
if countif(value1<value1[1],2) == 2 Then
sell("s",OnClose,def,1);
}
if MarketPosition == 1 Then{
ExitLong("bx2",AtLimit,EntryPrice+((하루이익)-(PLR)));
}
if MarketPosition == -1 Then{
ExitShort("sx2",AtLimit,EntryPrice+(-(하루이익)+(PLR)));
}
2.
value1 = (highest(H,9)+lowest(L,9))/2;
if countif(value1>value1[1],2) == 2 Then
buy("b",OnClose,def,1);
if countif(value1<value1[1],2) == 2 Then
sell("s",OnClose,def,1);
SetStopEndofday(150200);
3-1 갭보정 1번식
input:하루이익(0.8);
var : PLR(0),XCommission(0),XSlippage(0),OpenPL(0),dayPL(0),count(0);
var : gap(0),sumgap(0),GO(0),GH(0),GL(0),GC(0),sarv(0);
if date!=date[1] then { // 날짜가 변경되는 봉에서(분봉에서 첫번째 봉)
gap = Open-Close[1]; // 일간갭
sumGap = sumGap+gap; // 일간갭 누적
}
GO = O - sumGap;// 갭보정 시가
GH = H - sumGap;// 갭보정 고가
GL = L - sumGap;// 갭보정 저가
GC = C - sumGap; // 갭보정 종가
#당일누적손익계산 시작
XCommission = ((C*ExitCommission)/100)*CurrentContracts; #%설정
XSlippage = (ExitSlippage)*CurrentContracts; #Pt설정
PLR = 0;
count = 0;
for var1 = 1 to 10{
if sdate == EntryDate(var1) Then{
PLR = PLR+PositionProfit(var1);
}
}
if MarketPosition() == 0 Then{
OpenPL = 0;
dayPL = PLR;
}
Else{
OpenPL = (PositionProfit-(XCommission+XSlippage));
dayPL = PLR+OpenPL;
}
value1 = (highest(GH,9)+lowest(GL,9))/2;
if daypl < 하루이익 then{
if countif(value1>value1[1],2) == 2 Then
buy("b",OnClose,def,1);
if countif(value1<value1[1],2) == 2 Then
sell("s",OnClose,def,1);
}
if MarketPosition == 1 Then{
ExitLong("bx2",AtLimit,EntryPrice+((하루이익)-(PLR)));
}
if MarketPosition == -1 Then{
ExitShort("sx2",AtLimit,EntryPrice+(-(하루이익)+(PLR)));
}
3-2 갭보정 2번식
input:하루이익(0.8);
var : PLR(0),XCommission(0),XSlippage(0),OpenPL(0),dayPL(0),count(0);
var : gap(0),sumgap(0),GO(0),GH(0),GL(0),GC(0),sarv(0);
if date!=date[1] then { // 날짜가 변경되는 봉에서(분봉에서 첫번째 봉)
gap = Open-Close[1]; // 일간갭
sumGap = sumGap+gap; // 일간갭 누적
}
GO = O - sumGap;// 갭보정 시가
GH = H - sumGap;// 갭보정 고가
GL = L - sumGap;// 갭보정 저가
GC = C - sumGap; // 갭보정 종가
#당일누적손익계산 시작
XCommission = ((C*ExitCommission)/100)*CurrentContracts; #%설정
XSlippage = (ExitSlippage)*CurrentContracts; #Pt설정
PLR = 0;
count = 0;
for var1 = 1 to 10{
if sdate == EntryDate(var1) Then{
PLR = PLR+PositionProfit(var1);
}
}
if MarketPosition() == 0 Then{
OpenPL = 0;
dayPL = PLR;
}
Else{
OpenPL = (PositionProfit-(XCommission+XSlippage));
dayPL = PLR+OpenPL;
}
value1 = (highest(GH,9)+lowest(GL,9))/2;
if daypl < 하루이익 then{
if countif(value1>value1[1],2) == 2 Then
buy("b",OnClose,def,1);
if countif(value1<value1[1],2) == 2 Then
sell("s",OnClose,def,1);
}
if MarketPosition == 1 Then{
ExitLong("bx2",AtLimit,EntryPrice+((하루이익)-(PLR)));
}
if MarketPosition == -1 Then{
ExitShort("sx2",AtLimit,EntryPrice+(-(하루이익)+(PLR)));
}
즐거운 하루되세요
> 타이밍1 님이 쓴 글입니다.
> 제목 : 20892 제문의
> 20892 에서 문의한 수식1번과2번이 붙어넣기해서 시스템작성해서 적용한결과 신호가 하나도 않나오내요 확인부탁더리께요