커뮤니티
코딩 검수요청
2014-12-09 01:44:47
166
글번호 81181
안녕하세요?
아래내용의 논리로 첨부파일의 첫번째 시트와 같이 계산하여 두번째시트와 같이 코딩하여 매매를 하고자 합니다.
첨부파일의 두번째시트의 코딩이 아래내용과 계산식의 논리에 맞는지 검수부탁드립니다.
검증은 완료가 되나 실제 신호가 생각하는 것과 서로 다릅니다
현대Yestrader로 호주달러를 거래하고자합니다.
1분봉 차트를 띄우고 매매신호를 잡을 것이며,
해외선물 거래시간 동안 (08:00~익일06:25)사이에 일중거래입니다.
매매는 최초 진입 후 손절이든 수익이든 한번매매이며(진입과 퇴출 한번), 손절이나 수익청산이 되지않으면 종가청산(06:25분봉 완성값)입니다.
시가가 나오면, 동시에 총9개의 변수가 결정되며, 각 변수간의 크기는 ((목표가)>(3차저항가)>(2차저항가)>(1차저항가)>(균형대)>(1차지지가)>(2차지지가)>(3차지지가)>(목표가))입니다.
1) 시초가 < 균형대이면, 현재가가 균형대를 터치시 균형대에 지정가 매수하여 체결된 후
1.1) 1에 진입한 매수포지션을 현재가가 1차저항가를 터치하면 1차저항가에 지정가 매도(수익청산)
1.2) 1에 진입한 매수포지션이 1.1에 청산되지 않고 현재가가 1차지지가를 터치하면 1차지지가에 지정가 손절매
2) 시초가 > 균형대이면, 현재가가 균형대를 터치시 균형대에 지정가 매도하여 체결된 후
2.1) 2에 진입한 매도포지션을 현재가가 1차지지가를 터치하면 1차지지가에 지정가 매수(수익청산)
2.2) 2에 진입한 매도포지션이 2.1에 청산되지 않고 현재가가 1차저항가를 터치하면 1차저항가에 지정가 손절매
- 1. 하이로.xls (0.38 MB)
답변 1
예스스탁 예스스탁 답변
2014-12-09 12:50:35
안녕하세요
예스스탁입니다.
올려주신 식 살펴본 결과
계산식이 잘못되어 값이 엑셀과 맞지 않습니다.
진입청산 조건식에는 문제가 없습니다.
dayopen/dayhigh/daylow/dayclose는
당일이(0), 전일이(1),전전일이(2)....순서입니다.
계산식 내용만 수정해 드립니다.
var : ho(0),OL(0),HL(0),CH(0),CL(0),CO(0);
var : maho(0),maOL(0),maHL(0),maCH(0),maCL(0),maCO(0);
var : cnt(0),sumho(0),sumOL(0),sumHL(0),sumCH(0),sumCL(0),sumCO(0);
ho = Dayhigh-Dayopen;
OL = DayOpen-DayLow;
HL = DayHigh-DayLow;
CH = abs(Dayclose-dayhigh(1));
CL = abs(DayClose-DayLow(1));
CO = abs(DayClose-dayopen(1));
sumho = 0;
sumOL = 0;
sumHL = 0;
sumCH = 0;
sumCL = 0;
sumCO = 0;
for cnt = 1 to 10{
sumho = sumho + (dayhigh(cnt)-dayopen(cnt));
sumOL = sumOL + (DayOpen(cnt)-DayLow(cnt));
sumHL = sumHL + (DayHigh(cnt)-DayLow(cnt));
sumCH = sumCH + Abs(dayhigh(cnt)-dayclose(cnt+1));
sumCL = sumCL + Abs(DayLow(cnt)-Dayclose(cnt+1));
sumCO = sumCO + abs(DayOpen(cnt)-Dayclose(cnt+1));
}
maho = sumho/10;
maOL = sumOL/10;
maHL = sumHL/10;
maCH = sumCH/10;
maCL = sumCL/10;
maCO = sumCO/10;
var1 = dayopen(0)+maho;
var2 = DayOpen(0)-maOL;
var3 = Dayclose(1)+maCH;
var4 = Dayclose(1)-maCL;
var5 =iff(dayopen(0)-dayclose(1)>0,dayclose(1)+maco,dayclose(1)-maco);
var6 = DayOpen(0)+maHL;
var7 = DayOpen(0)-maHL;
var8 = NthMaxList(1,var1,var2,var3,var4,var5,var6,var7);#저항3
var9 = NthMaxList(2,var1,var2,var3,var4,var5,var6,var7);#저항2
var10 = NthMaxList(3,var1,var2,var3,var4,var5,var6,var7);#저항1
var11 = NthMaxList(4,var1,var2,var3,var4,var5,var6,var7);#균형
var12 = NthMaxList(5,var1,var2,var3,var4,var5,var6,var7);#지지1
var13 = NthMaxList(6,var1,var2,var3,var4,var5,var6,var7);#지지2
var14 = NthMaxList(7,var1,var2,var3,var4,var5,var6,var7);#지지3
var15 = var8*2-var11;#상단 목표
var16 = var14*2-var11;#하단 목표
var : entry(0);
if bdate != bdate[1] Then
Entry = 0;
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
Entry = Entry+1;
if (stime >= 80000 or stime < 063000) then{
if MarketPosition == 0 and dayopen > var11 and entry < 1 Then
sell("s1",AtStop,var11);
if MarketPosition == 0 and dayopen < var11 and Entry < 1 Then
Buy("b1",AtStop,var11);
}
if MarketPosition == -1 and IsEntryName("S1") == true Then{
ExitShort("SP1",atlimit,var12);
ExitShort("SL1",AtStop,var10);
}
if MarketPosition == 1 and IsEntryName("B1") == true Then{
ExitLong("BP1",atlimit,var10);
ExitLong("BL1",AtStop,var12);
}
if stime == 062500 or (stime > 062500 and stime[1] < 062500) Then{
ExitLong("Bx");
ExitShort("Sx");
}
즐거운 하루되세요
> 통큰베팅 님이 쓴 글입니다.
> 제목 : 코딩 검수요청
> 안녕하세요?
아래내용의 논리로 첨부파일의 첫번째 시트와 같이 계산하여 두번째시트와 같이 코딩하여 매매를 하고자 합니다.
첨부파일의 두번째시트의 코딩이 아래내용과 계산식의 논리에 맞는지 검수부탁드립니다.
검증은 완료가 되나 실제 신호가 생각하는 것과 서로 다릅니다
현대Yestrader로 호주달러를 거래하고자합니다.
1분봉 차트를 띄우고 매매신호를 잡을 것이며,
해외선물 거래시간 동안 (08:00~익일06:25)사이에 일중거래입니다.
매매는 최초 진입 후 손절이든 수익이든 한번매매이며(진입과 퇴출 한번), 손절이나 수익청산이 되지않으면 종가청산(06:25분봉 완성값)입니다.
시가가 나오면, 동시에 총9개의 변수가 결정되며, 각 변수간의 크기는 ((목표가)>(3차저항가)>(2차저항가)>(1차저항가)>(균형대)>(1차지지가)>(2차지지가)>(3차지지가)>(목표가))입니다.
1) 시초가 < 균형대이면, 현재가가 균형대를 터치시 균형대에 지정가 매수하여 체결된 후
1.1) 1에 진입한 매수포지션을 현재가가 1차저항가를 터치하면 1차저항가에 지정가 매도(수익청산)
1.2) 1에 진입한 매수포지션이 1.1에 청산되지 않고 현재가가 1차지지가를 터치하면 1차지지가에 지정가 손절매
2) 시초가 > 균형대이면, 현재가가 균형대를 터치시 균형대에 지정가 매도하여 체결된 후
2.1) 2에 진입한 매도포지션을 현재가가 1차지지가를 터치하면 1차지지가에 지정가 매수(수익청산)
2.2) 2에 진입한 매도포지션이 2.1에 청산되지 않고 현재가가 1차저항가를 터치하면 1차저항가에 지정가 손절매