커뮤니티

ask

프로필 이미지
좌오비우오비
2024-09-02 11:49:03
227
글번호 108382
답변완료

첨부 이미지

2017년 3월 30일 기준 틱이 아닌 1초봉(주차트 1초, 보조차트 1초)으로 수식을 적용한 결과 buy 전용 수식(주차트 kodex200, 보조차트 kospi200선물)은 1초봉(주차트 1초, 보조차트 1초)에 정상 진입함 _ 그림 1참조. sell 전용 수식(주차트 kodex인버스, 보조차트 kospi200선물)은 1초봉(주차트 1초, 보조차트 1초)에 반응하지 않음_ 그림 2참조. 2초봉(주차트 1초, 보조차트 2초)에 정상 진입함_ 그림 3참조. 문의사항 sell전용 수식에서 1초봉에서 신호가 나오지 않는 점과 2초봉에서야 신호가 나오는 이유가 궁금합니다. ********************************** 안녕하세요 예스스탁입니다. 수식에 atstop이나 atlimit등의 타입은 기본차트에만 적용되는 내용입니다. 지정된 값과 기본차트의 실시간 현재가와만 비교를 합니다. 해당 내용을 참조데이터로 변경하면 봉안성시로만 가능합니다. 이용에 참고하시기 바랍니다. 1 input : b1(11),b2(13),X1(13),X2(13); var : T1(0,data1),entry(0,data1),HH(0,data1),EL(0,data1),C2(0,data1); C2 = data2(C); if Bdate != Bdate[1] Then T1 = TotalTrades; if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 and data2(C <= HighD(0)-PriceScale*B1 and C[1] > HighD(0)-PriceScale*B1) Then buy("b1"); if MarketPosition == 1 Then{ if CurrentContracts > CurrentContracts[1] Then EL = data2(L); if data2(L) < EL Then EL = data2(L); if entry == 1 and MarketPosition == -1 and data2(C >= EL+PriceScale*X1) Then ExitLong("sx1"); } if TotalTrades > TotalTrades[1] Then HH = data2(H); if data2(H) > HH Then HH = data2(H); if MarketPosition == 0 and entry == 1 and data2(C <= HH-PriceScale*B2 and C[1] > HH-PriceScale*B2) Then buy("b2"); if MarketPosition== -1 and entry == 2 and data2(H >= C2[BarsSinceEntry]+PriceScale*13) Then ExitLong("bx2"); 2 input : b1(11),b2(13),X1(13),X2(13); var : T1(0,data1),entry(0,data1),LL(0,data1),EH(0,data1),C2(0,data1); C2 = data2(c); if Bdate != Bdate[1] Then T1 = TotalTrades; if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 and data2(C >= lowD(0)+PriceScale*B1 and C[1] < lowD(0)+PriceScale*B1) Then buy("b1"); if MarketPosition == 1 Then{ if CurrentContracts > CurrentContracts[1] Then EH = data2(H); if data2(H) > EH Then EH = data2(H); if entry == 1 and data2(C <= EH-PriceScale*X1) Then exitlong("bx1"); } if TotalTrades > TotalTrades[1] Then LL = data2(L); if data2(L) < LL Then LL = data2(L); if MarketPosition == 0 and entry == 1 and data2(C >= LL+PriceScale*B2 and C[1] < LL+PriceScale*B2) Then buy("b2"); if MarketPosition== 1 and entry == 2 and data2(L <= C2[BarsSinceEntry]-PriceScale*13) Then exitlong("bx2"); 즐거운 하루되세요 > 좌오비우오비 님이 쓴 글입니다. > 제목 : 주차트 /보조차트 수식 > 아래 수식을 주차트 / 보조차트 수식으로 변경바랍니다. 1. sell 전용 수식 2. buy 전용 수식 항상 고맙습니다. 1) sell 전용 수식(주차트 kodex인버스, 보조차트 kospi200선물) input : b1(11),b2(13),X1(13),X2(13); var : T1(0),entry(0),HH(0),EL(0); if Bdate != Bdate[1] Then T1 = TotalTrades; if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 and C <= DayHigh-PriceScale*B1 and C[1] > DayHigh-PriceScale*B1 Then sell("s1"); if MarketPosition == -1 Then{ if CurrentContracts > CurrentContracts[1] Then EL = L; if L < EL Then EL = L; if entry == 1 and MarketPosition == -1 and C >= EL+PriceScale*X1 Then ExitShort("sx1"); } if TotalTrades > TotalTrades[1] Then HH = H; if H > HH Then HH = H; if MarketPosition == 0 and entry == 1 and C <= HH-PriceScale*B2 and C[1] > HH-PriceScale*B2 Then sell("s2"); if MarketPosition== -1 and entry == 2 Then ExitShort("sx3",AtStop,EntryPrice+PriceScale*13); 2) buy 전용 수식(주차트 kodex200, 보조차트 kospi200선물) input : b1(11),b2(13),X1(13),X2(13); var : T1(0),entry(0),LL(0),EH(0); if Bdate != Bdate[1] Then T1 = TotalTrades; if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 and C >= daylow+PriceScale*B1 and C[1] < daylow+PriceScale*B1 Then buy("b1"); if MarketPosition == 1 Then{ if CurrentContracts > CurrentContracts[1] Then EH = H; if H > EH Then EH = H; if entry == 1 and C <= EH-PriceScale*X1 Then exitlong("bx1"); } if TotalTrades > TotalTrades[1] Then LL = L; if L < LL Then LL = L; if MarketPosition == 0 and entry == 1 and C >= LL+PriceScale*B2 and C[1] < LL+PriceScale*B2 Then buy("b2"); if MarketPosition== 1 and entry == 2 Then exitlong("bx3",AtStop,EntryPrice-PriceScale*13);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-04-03 15:07:29

안녕하세요 예스스탁입니다. 차트의 주기가 낮아 거래가 없는 봉이 생기기 때문입니다. data2의 하향이탈이나 상향돌파시점에 data1의 봉이 없으면 신호가 발생하지 못합니다. 나중에 data1의 봉이 발생하는 시점에는 이미 지나간후이기 때문입니다. data2의 종가와 최고가도 data1기준으로 값을 저장해서 사용하게 수정했습니다. 1 input : b1(11),b2(13),X1(13),X2(13); var : T1(0,data1),entry(0,data1),HH(0,data1),EL(0,data1),C2(0,data1),H2(0,data1),DH2(0,data1); C2 = data2(C); H2 = data2(H); DH2 = data2(HighD(0)); if Bdate != Bdate[1] Then T1 = TotalTrades; if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 and C2 <= DH2-data2(PriceScale*B1) and C2[1] > DH2-data2(PriceScale*B1) Then{ buy("b1"); } if MarketPosition == 1 Then{ if CurrentContracts > CurrentContracts[1] Then EL = data2(L); if data2(L) < EL Then EL = data2(L); if entry == 1 and MarketPosition == -1 and C2 >= EL+data2(PriceScale*X1) Then ExitLong("sx1"); } if TotalTrades > TotalTrades[1] Then HH = data2(H); if data2(H) > HH Then HH = data2(H); if MarketPosition == 0 and entry == 1 and C2 <= HH-PriceScale*B2 and C[1] > HH-data2(PriceScale*B2) Then buy("b2"); if MarketPosition== -1 and entry == 2 and H2 >= C2[BarsSinceEntry]+data2(PriceScale*X2) Then ExitLong("bx2"); 2 input : b1(11),b2(13),X1(13),X2(13); var : T1(0,data1),entry(0,data1),LL(0,data1),EH(0,data1),C2(0,data1),L2(0,data1),DL2(0,data1); C2 = data2(c); L2 = data2(L); DL2 = data2(LowD(0)); if Bdate != Bdate[1] Then T1 = TotalTrades; if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 and C2 >= DL2+data2(PriceScale*B1) and C2[1] < DL2+data2(PriceScale*B1) Then buy("b1"); if MarketPosition == 1 Then{ if CurrentContracts > CurrentContracts[1] Then EH = data2(H); if data2(H) > EH Then EH = data2(H); if entry == 1 and C2 <= EH-data2(PriceScale*X1) Then exitlong("bx1"); } if TotalTrades > TotalTrades[1] Then LL = data2(L); if data2(L) < LL Then LL = data2(L); if MarketPosition == 0 and entry == 1 and C2 >= LL+data2(PriceScale*B2) and C2[1] < LL+data2(PriceScale*B2) Then buy("b2"); if MarketPosition== 1 and entry == 2 and L2 <= C2[BarsSinceEntry]-data2(PriceScale*13) Then exitlong("bx2"); 즐거운 하루되세요 > 좌오비우오비 님이 쓴 글입니다. > 제목 : 주차트, 보조차트 관련 문의사항 > 2017년 3월 30일 기준 틱이 아닌 1초봉(주차트 1초, 보조차트 1초)으로 수식을 적용한 결과 buy 전용 수식(주차트 kodex200, 보조차트 kospi200선물)은 1초봉(주차트 1초, 보조차트 1초)에 정상 진입함 _ 그림 1참조. sell 전용 수식(주차트 kodex인버스, 보조차트 kospi200선물)은 1초봉(주차트 1초, 보조차트 1초)에 반응하지 않음_ 그림 2참조. 2초봉(주차트 1초, 보조차트 2초)에 정상 진입함_ 그림 3참조. 문의사항 sell전용 수식에서 1초봉에서 신호가 나오지 않는 점과 2초봉에서야 신호가 나오는 이유가 궁금합니다. ********************************** 안녕하세요 예스스탁입니다. 수식에 atstop이나 atlimit등의 타입은 기본차트에만 적용되는 내용입니다. 지정된 값과 기본차트의 실시간 현재가와만 비교를 합니다. 해당 내용을 참조데이터로 변경하면 봉안성시로만 가능합니다. 이용에 참고하시기 바랍니다. 1 input : b1(11),b2(13),X1(13),X2(13); var : T1(0,data1),entry(0,data1),HH(0,data1),EL(0,data1),C2(0,data1); C2 = data2(C); if Bdate != Bdate[1] Then T1 = TotalTrades; if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 and data2(C <= HighD(0)-PriceScale*B1 and C[1] > HighD(0)-PriceScale*B1) Then buy("b1"); if MarketPosition == 1 Then{ if CurrentContracts > CurrentContracts[1] Then EL = data2(L); if data2(L) < EL Then EL = data2(L); if entry == 1 and MarketPosition == -1 and data2(C >= EL+PriceScale*X1) Then ExitLong("sx1"); } if TotalTrades > TotalTrades[1] Then HH = data2(H); if data2(H) > HH Then HH = data2(H); if MarketPosition == 0 and entry == 1 and data2(C <= HH-PriceScale*B2 and C[1] > HH-PriceScale*B2) Then buy("b2"); if MarketPosition== -1 and entry == 2 and data2(H >= C2[BarsSinceEntry]+PriceScale*13) Then ExitLong("bx2"); 2 input : b1(11),b2(13),X1(13),X2(13); var : T1(0,data1),entry(0,data1),LL(0,data1),EH(0,data1),C2(0,data1); C2 = data2(c); if Bdate != Bdate[1] Then T1 = TotalTrades; if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 and data2(C >= lowD(0)+PriceScale*B1 and C[1] < lowD(0)+PriceScale*B1) Then buy("b1"); if MarketPosition == 1 Then{ if CurrentContracts > CurrentContracts[1] Then EH = data2(H); if data2(H) > EH Then EH = data2(H); if entry == 1 and data2(C <= EH-PriceScale*X1) Then exitlong("bx1"); } if TotalTrades > TotalTrades[1] Then LL = data2(L); if data2(L) < LL Then LL = data2(L); if MarketPosition == 0 and entry == 1 and data2(C >= LL+PriceScale*B2 and C[1] < LL+PriceScale*B2) Then buy("b2"); if MarketPosition== 1 and entry == 2 and data2(L <= C2[BarsSinceEntry]-PriceScale*13) Then exitlong("bx2"); 즐거운 하루되세요 > 좌오비우오비 님이 쓴 글입니다. > 제목 : 주차트 /보조차트 수식 > 아래 수식을 주차트 / 보조차트 수식으로 변경바랍니다. 1. sell 전용 수식 2. buy 전용 수식 항상 고맙습니다. 1) sell 전용 수식(주차트 kodex인버스, 보조차트 kospi200선물) input : b1(11),b2(13),X1(13),X2(13); var : T1(0),entry(0),HH(0),EL(0); if Bdate != Bdate[1] Then T1 = TotalTrades; if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 and C <= DayHigh-PriceScale*B1 and C[1] > DayHigh-PriceScale*B1 Then sell("s1"); if MarketPosition == -1 Then{ if CurrentContracts > CurrentContracts[1] Then EL = L; if L < EL Then EL = L; if entry == 1 and MarketPosition == -1 and C >= EL+PriceScale*X1 Then ExitShort("sx1"); } if TotalTrades > TotalTrades[1] Then HH = H; if H > HH Then HH = H; if MarketPosition == 0 and entry == 1 and C <= HH-PriceScale*B2 and C[1] > HH-PriceScale*B2 Then sell("s2"); if MarketPosition== -1 and entry == 2 Then ExitShort("sx3",AtStop,EntryPrice+PriceScale*13); 2) buy 전용 수식(주차트 kodex200, 보조차트 kospi200선물) input : b1(11),b2(13),X1(13),X2(13); var : T1(0),entry(0),LL(0),EH(0); if Bdate != Bdate[1] Then T1 = TotalTrades; if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 and C >= daylow+PriceScale*B1 and C[1] < daylow+PriceScale*B1 Then buy("b1"); if MarketPosition == 1 Then{ if CurrentContracts > CurrentContracts[1] Then EH = H; if H > EH Then EH = H; if entry == 1 and C <= EH-PriceScale*X1 Then exitlong("bx1"); } if TotalTrades > TotalTrades[1] Then LL = L; if L < LL Then LL = L; if MarketPosition == 0 and entry == 1 and C >= LL+PriceScale*B2 and C[1] < LL+PriceScale*B2 Then buy("b2"); if MarketPosition== 1 and entry == 2 Then exitlong("bx3",AtStop,EntryPrice-PriceScale*13);