커뮤니티

문의드립니다.

프로필 이미지
빠른예스
2020-09-03 20:45:36
817
글번호 142054
답변완료
안녕하세요. 현재 시스템 수식이 다음과 같습니다. // 진입조건 ============================================= if data1(Bdate != Bdate[1]) Then { if 국선 > 나스닥 Then Buy(); if 국선 < 나스닥 Then Sell(); } if MarketPosition == 1 Then { ExitLong("Bp",AtLimit,상한선1-0.5); ExitLong("Bl",AtStop,하한선1-0.5); } if MarketPosition == -1 Then { ExitShort("sp",AtLimit,하한선1+0.5); ExitShort("sl",AtStop,상한선1+0.5); } setstopendofday();# 종가 청산 //============================================= 여기서 진입조건을 좀 수정하고 싶습니다 국선과 나스닥을 비교해서 진입하는 수식은 계속 쓰고, 그날 매매를 할지 안할지를 정하려고합니다. * 1) data2는 나스닥종합(해외지수)를 넣어놓은 상태입니다. data2(closeD(0) 이 data2(closeD(1)과 같으면 그날은 매매 안하려고 하는데 수식을 어떻게 변경할까요? 전날 미국장이 휴일이었으면 매매를 안하려고 합니다. * 2) 1번과는 별도로.. 기존 국선과 나스닥 비교해서 진입하는 조건에 더해서, 연결선물인 data1의 "30분봉" 스토캐스틱 K가 80 이상일 때만 매도, 20이하일때만 매수하고 그 외에는 매매 안하려는 수식은 어떻게 하나요? 근데 이때 data1은 "틱봉차트" 입니다.. * 3) 현재 청산기준이 상한선1과 하한선1인데 이걸 하나씩 더 추가하려고 합니다. 수식에 상한선1과 상한선2중 먼저 닿는것에 따라 청산하려면 어떻게 해야할까요? (하한선도 마찬가지로 1이나 2먼저 닿는걸로...) 항상 감사드립니다!
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-09-04 15:07:25

안녕하세요 예스스탁입니다. 1 data2(closeD(0)!= closeD(1)) 위식 진입조건에 추가하시면 최근 미국장종가와 그전 미국장 종가가 같으면 진입을 하지 않습니다. 다만 위 조건이 휴장을 의미하는 부분은 아닙니다. 미국장 휴장여부를 수식으로 파악하는 방법은 잘 모르겠습니다. 2 틱봉에서 분봉 지표값은 정확한 계산이 불가능합니다. 근사값으로 계산되는 내용으로 작성해 드립니다. input : 분(30),Sto1(10),Sto2(5),Sto3(5); var : S1(0,data1),D1(0,data1),TM(0,data1),TF(0,data1); var : cnt(0,data1), Hv(0,data1), LV(0,data1), FK(0,data1), SK(0,data1), SD(0,data1); var : Ep1(0,data1), EP2(0,data1), JISU(0,data1), DINDEX(0,data1), PreSK(0,data1), PreSD(0,data1); Array : HH[50](0,data1),LL[50](0,data1); Ep1 = 2/(sto2+1); Ep2 = 2/(sto3+1); if Bdate != Bdate[1] Then { S1 = data1(TimeToMinutes(stime)); D1 = data1(sdate); } if D1 > 0 then { if data1(sdate == D1) Then TM = data1(TimeToMinutes(stime))-S1; Else TM = data1(TimeToMinutes(stime))+1440-S1; TF = TimeToMinutes(stime)%분; if Bdate != Bdate[1] or (Bdate == Bdate[1] and 분 > 1 and TF < TF[1]) or (Bdate == Bdate[1] and 분 > 1 and TM >= TM[1]+분) or (Bdate == Bdate[1] and 분 == 1 and TM > TM[1]) Then { HH[0] = data1(H); LL[0] = data1(L); for cnt = 1 to 49 { HH[cnt] = HH[cnt-1][1]; LL[cnt] = LL[cnt-1][1]; } } if data1(H) > HH[0] Then HH[0] = data1(H); if data1(L) < LL[0] Then LL[0] = data1(L); if HH[sto1-1] > 0 and LL[sto1-1] > 0 then { if Bdate != Bdate[1] or (Bdate == Bdate[1] and 분 > 1 and TF < TF[1]) or (Bdate == Bdate[1] and 분 > 1 and TM >= TM[1]+분) or (Bdate == Bdate[1] and 분 == 1 and TM > TM[1]) Then { DINDEX = DINDEX+1; PreSK = SK[1]; PreSD = SD[1]; } Hv = HH[0]; LV = LL[0]; for cnt = 0 to sto1-1 { if HH[cnt] > Hv then Hv = HH[cnt]; if LL[cnt] < LV then LV = LL[cnt]; } FK = (data2(C)-LV)/(HV-LV)*100; if DINDEX <= 1 then { SK = FK; SD = SK; } else { SK = FK * EP1 + PreSK * (1-EP1); SD = SK * EP2 + PreSD * (1-EP2); } if data1(Bdate != Bdate[1]) Then { if 국선 > 나스닥 and sk < 20 Then Buy(); if 국선 < 나스닥 and sk > 80 Then Sell(); } } } if MarketPosition == 1 Then { ExitLong("Bp",AtLimit,상한선1-0.5); ExitLong("Bl",AtStop,하한선1-0.5); } if MarketPosition == -1 Then { ExitShort("sp",AtLimit,하한선1+0.5); ExitShort("sl",AtStop,상한선1+0.5); } setstopendofday();# 종가 청산 3 청산은 여러개 중에 문저 만족한 것으로 청산이 됩니다. 그러므로 값만 다르게 해서 청산식 추가하시면 됩니다. if MarketPosition == 1 Then { ExitLong("Bp1",AtLimit,상한선1-0.5); ExitLong("Bp2",AtLimit,상한선2-0.5); ExitLong("Bl1",AtStop,하한선1-0.5); ExitLong("Bl2",AtStop,하한선2-0.5); } if MarketPosition == -1 Then { ExitShort("sp1",AtLimit,하한선1+0.5); ExitShort("sp2",AtLimit,하한선2+0.5); ExitShort("sl1",AtStop,상한선1+0.5); ExitShort("sl2",AtStop,상한선2+0.5); } 즐거운 하루되세요 > 빠른예스 님이 쓴 글입니다. > 제목 : 문의드립니다. > 안녕하세요. 현재 시스템 수식이 다음과 같습니다. // 진입조건 ============================================= if data1(Bdate != Bdate[1]) Then { if 국선 > 나스닥 Then Buy(); if 국선 < 나스닥 Then Sell(); } if MarketPosition == 1 Then { ExitLong("Bp",AtLimit,상한선1-0.5); ExitLong("Bl",AtStop,하한선1-0.5); } if MarketPosition == -1 Then { ExitShort("sp",AtLimit,하한선1+0.5); ExitShort("sl",AtStop,상한선1+0.5); } setstopendofday();# 종가 청산 //============================================= 여기서 진입조건을 좀 수정하고 싶습니다 국선과 나스닥을 비교해서 진입하는 수식은 계속 쓰고, 그날 매매를 할지 안할지를 정하려고합니다. * 1) data2는 나스닥종합(해외지수)를 넣어놓은 상태입니다. data2(closeD(0) 이 data2(closeD(1)과 같으면 그날은 매매 안하려고 하는데 수식을 어떻게 변경할까요? 전날 미국장이 휴일이었으면 매매를 안하려고 합니다. * 2) 1번과는 별도로.. 기존 국선과 나스닥 비교해서 진입하는 조건에 더해서, 연결선물인 data1의 "30분봉" 스토캐스틱 K가 80 이상일 때만 매도, 20이하일때만 매수하고 그 외에는 매매 안하려는 수식은 어떻게 하나요? 근데 이때 data1은 "틱봉차트" 입니다.. * 3) 현재 청산기준이 상한선1과 하한선1인데 이걸 하나씩 더 추가하려고 합니다. 수식에 상한선1과 상한선2중 먼저 닿는것에 따라 청산하려면 어떻게 해야할까요? (하한선도 마찬가지로 1이나 2먼저 닿는걸로...) 항상 감사드립니다!