커뮤니티

수식 부탁드립니다

프로필 이미지
추우세추우종
2020-02-27 07:19:59
411
글번호 136389
답변완료

첨부 이미지

첫봉 시가기준으로 첫봉부터 진입하여 첫봉 c>o면 매수, 첫봉 c<o면 매도 이후는 첫봉시가기준 cross업 다운 수식입니다 1번 2번 사진에서 보시는거와 같이 잘되다가 중간중간 3번 그림처럼 첫봉에 진입을 안하네요 나스닥 1분봉입니다 수정 부탁드려요~ //써머타임 변수 var : Summer(False),Year(0); var : V1(0),V2(0),V3(0),V4(0); var: Tcond(False); //써머타임 변수 var: fo(0),fc(0); // 써머타임 if sdate != sdate[1] Then { Year = Floor(sdate/10000); V1 = (10000 * Year) + (100 * 3) + 1; V2 = 15 - dayofweek(v1); // 3월 두번째 일요일 날짜 v3 = (10000 * Year) + (100 * 11) + 1; v4 = 8 - dayofweek(v3); // 11월 첫번째 일요일 날짜 Summer = (sdate > (10000 * Year) + (100 * 3) + v2) And (sdate < (10000 * Year) + (100 * 11) + v4); } // 써머타임 // 써머타임 3월~11월 if Summer == true then { if sdate == 20190419 then //써머 휴일청산 { if (sdate != sdate[1] and stime >= 054500) or (sdate == sdate[1] and stime >= 054500 and stime[1] < 054500) then { Tcond = false; if MarketPosition == 1 Then ExitLong("써머휴일매수청"); if MarketPosition == -1 Then ExitShort("써머휴일매도청"); } } else if sdate == 20190528 or sdate == 20190704 or sdate == 20190705 or sdate == 20190903 then //써머 조기장 { if (sdate != sdate[1] and stime >= 014500) or (sdate == sdate[1] and stime >= 014500 and stime[1] < 014500) then { Tcond = false; if MarketPosition == 1 Then ExitLong("써머조기장매수청"); if MarketPosition == -1 Then ExitShort("써머조기장매도청"); } } else { if (sdate != sdate[1] and stime >= 054500 ) or (sdate == sdate[1] and stime >= 054500 and stime[1] < 054500 ) then { Tcond = false; if MarketPosition == 1 Then ExitLong("써머매수청"); if MarketPosition == -1 Then ExitShort("써머매도청"); } } if (sdate != sdate[1] and stime >= 070000) or (sdate == sdate[1] and stime >= 070000 and stime[1] < 070000) then { fo=O; //당일첫봉의시가 fc=C; //당일첫봉의종가 Tcond = true; } } Else //11월~3월까지 { if sdate == 20190101 or sdate == 20200101 then //노써머 휴일청산 { if (sdate != sdate[1] and stime >= 064500) or (sdate == sdate[1] and stime >= 064500 and stime[1] < 064500) then { Tcond = false; if MarketPosition == 1 Then ExitLong("노써머휴일매수청"); if MarketPosition == -1 Then ExitShort("노써머휴일매도청"); } } else if sdate == 20190122 or sdate == 20190219 or sdate == 20191129 or sdate == 20191130 or sdate == 20191225 or sdate == 20200121 or sdate == 20200218 then //노써머 조기장 { if (sdate != sdate[1] and stime >= 024500) or (sdate == sdate[1] and stime >= 024500 and stime[1] < 024500) then { Tcond = false; if MarketPosition == 1 Then ExitLong("노써머조기장매수청"); if MarketPosition == -1 Then ExitShort("노써머조기장매도청"); } } else { if (sdate != sdate[1] and stime >= 064500 ) or (sdate == sdate[1] and stime >= 064500 and stime[1] < 064500 ) then { Tcond = false; if MarketPosition == 1 Then ExitLong("노써머매수청"); if MarketPosition == -1 Then ExitShort("노써머매도청"); } } if (sdate != sdate[1] and stime >= 080000) or (sdate == sdate[1] and stime >= 080000 and stime[1] < 080000) then { fo=O; //당일첫봉의시가 fc=C; //당일첫봉의종가 Tcond = true; } } // 써머타임 //--------- 진입 로직 ---------// If Tcond == true Then { if CrossUp(c,fo) Then buy(); if Crossdown(c,fo) Then sell(); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-02-27 14:42:03

안녕하세요 예스스탁입니다. cross는 전봉과 현재봉 조건이 충족해야 합니다. 첫봉에서는 전일종가는 전일시가보다 작고 오늘은 종가가 시가보다 클때만 매수진입 전일종가는 전일시가보다 크고 오늘은 종가가 시가보다 작을때만 매도진입하게 됩니다. 수정한 식입니다. //써머타임 변수 var : Summer(False),Year(0); var : V1(0),V2(0),V3(0),V4(0); var: Tcond(False); //써머타임 변수 var: fo(0),fc(0),T(0); // 써머타임 if sdate != sdate[1] Then { Year = Floor(sdate/10000); V1 = (10000 * Year) + (100 * 3) + 1; V2 = 15 - dayofweek(v1); // 3월 두번째 일요일 날짜 v3 = (10000 * Year) + (100 * 11) + 1; v4 = 8 - dayofweek(v3); // 11월 첫번째 일요일 날짜 Summer = (sdate > (10000 * Year) + (100 * 3) + v2) And (sdate < (10000 * Year) + (100 * 11) + v4); } // 써머타임 // 써머타임 3월~11월 if Summer == true then { if sdate == 20190419 then //써머 휴일청산 { if (sdate != sdate[1] and stime >= 054500) or (sdate == sdate[1] and stime >= 054500 and stime[1] < 054500) then { Tcond = false; if MarketPosition == 1 Then ExitLong("써머휴일매수청"); if MarketPosition == -1 Then ExitShort("써머휴일매도청"); } } else if sdate == 20190528 or sdate == 20190704 or sdate == 20190705 or sdate == 20190903 then //써머 조기장 { if (sdate != sdate[1] and stime >= 014500) or (sdate == sdate[1] and stime >= 014500 and stime[1] < 014500) then { Tcond = false; if MarketPosition == 1 Then ExitLong("써머조기장매수청"); if MarketPosition == -1 Then ExitShort("써머조기장매도청"); } } else { if (sdate != sdate[1] and stime >= 054500 ) or (sdate == sdate[1] and stime >= 054500 and stime[1] < 054500 ) then { Tcond = false; if MarketPosition == 1 Then ExitLong("써머매수청"); if MarketPosition == -1 Then ExitShort("써머매도청"); } } if (sdate != sdate[1] and stime >= 070000) or (sdate == sdate[1] and stime >= 070000 and stime[1] < 070000) then { fo=O; //당일첫봉의시가 fc=C; //당일첫봉의종가 Tcond = true; T = 0; } } Else //11월~3월까지 { if sdate == 20190101 or sdate == 20200101 then //노써머 휴일청산 { if (sdate != sdate[1] and stime >= 064500) or (sdate == sdate[1] and stime >= 064500 and stime[1] < 064500) then { Tcond = false; if MarketPosition == 1 Then ExitLong("노써머휴일매수청"); if MarketPosition == -1 Then ExitShort("노써머휴일매도청"); } } else if sdate == 20190122 or sdate == 20190219 or sdate == 20191129 or sdate == 20191130 or sdate == 20191225 or sdate == 20200121 or sdate == 20200218 then //노써머 조기장 { if (sdate != sdate[1] and stime >= 024500) or (sdate == sdate[1] and stime >= 024500 and stime[1] < 024500) then { Tcond = false; if MarketPosition == 1 Then ExitLong("노써머조기장매수청"); if MarketPosition == -1 Then ExitShort("노써머조기장매도청"); } } else { if (sdate != sdate[1] and stime >= 064500 ) or (sdate == sdate[1] and stime >= 064500 and stime[1] < 064500 ) then { Tcond = false; if MarketPosition == 1 Then ExitLong("노써머매수청"); if MarketPosition == -1 Then ExitShort("노써머매도청"); } } if (sdate != sdate[1] and stime >= 080000) or (sdate == sdate[1] and stime >= 080000 and stime[1] < 080000) then { fo=O; //당일첫봉의시가 fc=C; //당일첫봉의종가 Tcond = true; T = 0; } } // 써머타임 //--------- 진입 로직 ---------// If Tcond == true Then { if T <= 0 and c > fo Then buy(); if T >= 0 and c < fo Then sell(); } 즐거운 하루되세요 > 추우세추우종 님이 쓴 글입니다. > 제목 : 수식 부탁드립니다 > 첫봉 시가기준으로 첫봉부터 진입하여 첫봉 c>o면 매수, 첫봉 c<o면 매도 이후는 첫봉시가기준 cross업 다운 수식입니다 1번 2번 사진에서 보시는거와 같이 잘되다가 중간중간 3번 그림처럼 첫봉에 진입을 안하네요 나스닥 1분봉입니다 수정 부탁드려요~ //써머타임 변수 var : Summer(False),Year(0); var : V1(0),V2(0),V3(0),V4(0); var: Tcond(False); //써머타임 변수 var: fo(0),fc(0); // 써머타임 if sdate != sdate[1] Then { Year = Floor(sdate/10000); V1 = (10000 * Year) + (100 * 3) + 1; V2 = 15 - dayofweek(v1); // 3월 두번째 일요일 날짜 v3 = (10000 * Year) + (100 * 11) + 1; v4 = 8 - dayofweek(v3); // 11월 첫번째 일요일 날짜 Summer = (sdate > (10000 * Year) + (100 * 3) + v2) And (sdate < (10000 * Year) + (100 * 11) + v4); } // 써머타임 // 써머타임 3월~11월 if Summer == true then { if sdate == 20190419 then //써머 휴일청산 { if (sdate != sdate[1] and stime >= 054500) or (sdate == sdate[1] and stime >= 054500 and stime[1] < 054500) then { Tcond = false; if MarketPosition == 1 Then ExitLong("써머휴일매수청"); if MarketPosition == -1 Then ExitShort("써머휴일매도청"); } } else if sdate == 20190528 or sdate == 20190704 or sdate == 20190705 or sdate == 20190903 then //써머 조기장 { if (sdate != sdate[1] and stime >= 014500) or (sdate == sdate[1] and stime >= 014500 and stime[1] < 014500) then { Tcond = false; if MarketPosition == 1 Then ExitLong("써머조기장매수청"); if MarketPosition == -1 Then ExitShort("써머조기장매도청"); } } else { if (sdate != sdate[1] and stime >= 054500 ) or (sdate == sdate[1] and stime >= 054500 and stime[1] < 054500 ) then { Tcond = false; if MarketPosition == 1 Then ExitLong("써머매수청"); if MarketPosition == -1 Then ExitShort("써머매도청"); } } if (sdate != sdate[1] and stime >= 070000) or (sdate == sdate[1] and stime >= 070000 and stime[1] < 070000) then { fo=O; //당일첫봉의시가 fc=C; //당일첫봉의종가 Tcond = true; } } Else //11월~3월까지 { if sdate == 20190101 or sdate == 20200101 then //노써머 휴일청산 { if (sdate != sdate[1] and stime >= 064500) or (sdate == sdate[1] and stime >= 064500 and stime[1] < 064500) then { Tcond = false; if MarketPosition == 1 Then ExitLong("노써머휴일매수청"); if MarketPosition == -1 Then ExitShort("노써머휴일매도청"); } } else if sdate == 20190122 or sdate == 20190219 or sdate == 20191129 or sdate == 20191130 or sdate == 20191225 or sdate == 20200121 or sdate == 20200218 then //노써머 조기장 { if (sdate != sdate[1] and stime >= 024500) or (sdate == sdate[1] and stime >= 024500 and stime[1] < 024500) then { Tcond = false; if MarketPosition == 1 Then ExitLong("노써머조기장매수청"); if MarketPosition == -1 Then ExitShort("노써머조기장매도청"); } } else { if (sdate != sdate[1] and stime >= 064500 ) or (sdate == sdate[1] and stime >= 064500 and stime[1] < 064500 ) then { Tcond = false; if MarketPosition == 1 Then ExitLong("노써머매수청"); if MarketPosition == -1 Then ExitShort("노써머매도청"); } } if (sdate != sdate[1] and stime >= 080000) or (sdate == sdate[1] and stime >= 080000 and stime[1] < 080000) then { fo=O; //당일첫봉의시가 fc=C; //당일첫봉의종가 Tcond = true; } } // 써머타임 //--------- 진입 로직 ---------// If Tcond == true Then { if CrossUp(c,fo) Then buy(); if Crossdown(c,fo) Then sell(); }