커뮤니티

진입신호 초기화

프로필 이미지
좌오비우오비
2017-07-07 14:11:06
153
글번호 111126
답변완료
아래 내용을 수식에 반영하여 주세요. 알려주신 예제를 적용하기가 힘들군요. 기존 buy 수식을 간소화했으니 꼭 부탁드립니다. 진입신호인 b1의 시작점보다 진입눌림이 더 내려왔을 때 - if b1 시작점 > 진입눌림 진입신호인 b1의 시작점을 초기화 후 계산하게 해주세요. - b1의 시작점을 초기화 ************************************ input : b1(9),X1(9),진입눌림(3),진입돌파(1),청산눌림(3),청산돌파(1),거래횟수(20),시작시간(090000) ; var : T1(0),entry(0),LL(0),EH(0),E1(0),H1(0),i1(0),S1(0),L1(0); if Bdate != Bdate[1] Then{ T1 = TotalTrades; E1 = 0; } if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 and stime >= 시작시간 Then{ if E1 == 0 and C >= daylow+PriceScale*B1 and C[1] < daylow+PriceScale*B1 Then{ E1 = 1; H1 = H; i1 = index; } if E1 == 1 and index > i1 then{ if H > H1 Then H1 = H; if L <= H1-PriceScale*진입눌림 Then{ E1 = 2; i1 = index; S1 = H1; } } if E1 == 2 and index > i1 and C >= S1+PriceScale*진입돌파 Then{ buy("b1"); } } if TotalTrades > TotalTrades[1] Then{ E1 = 0; LL = L; } if MarketPosition == 1 Then{ if entry >= 1 then{ if CurrentContracts > CurrentContracts[1] Then{ EH = H; E1 = 0; } if H > EH Then{ EH = H; E1 = 0; } if E1 == 0 and C <= EH-PriceScale*X1 Then{ E1 = 1; L1 = L; i1 = index; } if E1 == 1 and index > i1 Then{ if L < L1 Then L1 = L; if H >= L1+PriceScale*청산눌림 Then{ E1 = 2; I1 = index; S1 = L1; } } if E1 == 2 and index > i1 and C <= S1-PriceScale*청산돌파 Then{ exitlong("bx1"); E1 = 0; } } }
시스템
답변 5
프로필 이미지

예스스탁 예스스탁 답변

2017-07-07 16:04:34

안녕하세요 예스스탁입니다. 주석 참고하시기 바랍니다. input : b1(9),X1(9),진입눌림(3),진입돌파(1),청산눌림(3),청산돌파(1),거래횟수(20),시작시간(090000) ; var : T1(0),entry(0),LL(0),EH(0),E1(0),H1(0),i1(0),S1(0),L1(0),V1(0); if Bdate != Bdate[1] Then{ T1 = TotalTrades; E1 = 0; } if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 and stime >= 시작시간 Then{ if E1 == 0 and C >= daylow+PriceScale*B1 and C[1] < daylow+PriceScale*B1 Then{ E1 = 1; H1 = H; i1 = index; V1 = C; //시작점 종가 } if E1 == 1 and index > i1 then{ if H > H1 Then H1 = H; #저가가 시작봉종가보다 클때만 눌림체크 if L >= V1 and L <= H1-PriceScale*진입눌림 Then{ E1 = 2; i1 = index; S1 = H1; } //시작점 종가보다 낮은 가격이 발생하면 초기화 if L < V1 Then E1 = 0; } if E1 == 2 and index > i1 and C >= S1+PriceScale*진입돌파 Then{ buy("b1"); } } if TotalTrades > TotalTrades[1] Then{ E1 = 0; LL = L; } if MarketPosition == 1 Then{ if entry >= 1 then{ if CurrentContracts > CurrentContracts[1] Then{ EH = H; E1 = 0; } if H > EH Then{ EH = H; E1 = 0; } if E1 == 0 and C <= EH-PriceScale*X1 Then{ E1 = 1; L1 = L; i1 = index; } if E1 == 1 and index > i1 Then{ if L < L1 Then L1 = L; if H >= L1+PriceScale*청산눌림 Then{ E1 = 2; I1 = index; S1 = L1; } } if E1 == 2 and index > i1 and C <= S1-PriceScale*청산돌파 Then{ exitlong("bx1"); E1 = 0; } } } 즐거운 하루되세요 > 좌오비우오비 님이 쓴 글입니다. > 제목 : 진입신호 초기화 > 아래 내용을 수식에 반영하여 주세요. 알려주신 예제를 적용하기가 힘들군요. 기존 buy 수식을 간소화했으니 꼭 부탁드립니다. 진입신호인 b1의 시작점보다 진입눌림이 더 내려왔을 때 - if b1 시작점 > 진입눌림 진입신호인 b1의 시작점을 초기화 후 계산하게 해주세요. - b1의 시작점을 초기화 ************************************ input : b1(9),X1(9),진입눌림(3),진입돌파(1),청산눌림(3),청산돌파(1),거래횟수(20),시작시간(090000) ; var : T1(0),entry(0),LL(0),EH(0),E1(0),H1(0),i1(0),S1(0),L1(0); if Bdate != Bdate[1] Then{ T1 = TotalTrades; E1 = 0; } if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 and stime >= 시작시간 Then{ if E1 == 0 and C >= daylow+PriceScale*B1 and C[1] < daylow+PriceScale*B1 Then{ E1 = 1; H1 = H; i1 = index; } if E1 == 1 and index > i1 then{ if H > H1 Then H1 = H; if L <= H1-PriceScale*진입눌림 Then{ E1 = 2; i1 = index; S1 = H1; } } if E1 == 2 and index > i1 and C >= S1+PriceScale*진입돌파 Then{ buy("b1"); } } if TotalTrades > TotalTrades[1] Then{ E1 = 0; LL = L; } if MarketPosition == 1 Then{ if entry >= 1 then{ if CurrentContracts > CurrentContracts[1] Then{ EH = H; E1 = 0; } if H > EH Then{ EH = H; E1 = 0; } if E1 == 0 and C <= EH-PriceScale*X1 Then{ E1 = 1; L1 = L; i1 = index; } if E1 == 1 and index > i1 Then{ if L < L1 Then L1 = L; if H >= L1+PriceScale*청산눌림 Then{ E1 = 2; I1 = index; S1 = L1; } } if E1 == 2 and index > i1 and C <= S1-PriceScale*청산돌파 Then{ exitlong("bx1"); E1 = 0; } } }
프로필 이미지

좌오비우오비

2017-07-10 07:33:11

기존 수식 결과는 그림 1입니다. -첫 b1보다 눌림이 큰 경우로 첫b1을 이용하여 진입. 수정 수식 결과는 그림 2입니다. -수식변화에 따른 변동을 예상했는데 변화가 없습니다. 기존 수식의 진입시간을 09시09분13초로 조정한 결과는 그림 3입니다. -시작시간 조정으로 새로운 b1으로 진입. 수정해주신 수식의 시작봉 종가보다 낮은 가격이 발생하면 초기화가 반영되지 않는 것 같습니다. 차트는 틱봉을 사용했습니다. 항상 고맙습니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 진입신호 초기화 > 안녕하세요 예스스탁입니다. 주석 참고하시기 바랍니다. input : b1(9),X1(9),진입눌림(3),진입돌파(1),청산눌림(3),청산돌파(1),거래횟수(20),시작시간(090000) ; var : T1(0),entry(0),LL(0),EH(0),E1(0),H1(0),i1(0),S1(0),L1(0),V1(0); if Bdate != Bdate[1] Then{ T1 = TotalTrades; E1 = 0; } if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 and stime >= 시작시간 Then{ if E1 == 0 and C >= daylow+PriceScale*B1 and C[1] < daylow+PriceScale*B1 Then{ E1 = 1; H1 = H; i1 = index; V1 = C; //시작점 종가 } if E1 == 1 and index > i1 then{ if H > H1 Then H1 = H; #저가가 시작봉종가보다 클때만 눌림체크 if L >= V1 and L <= H1-PriceScale*진입눌림 Then{ E1 = 2; i1 = index; S1 = H1; } //시작점 종가보다 낮은 가격이 발생하면 초기화 if L < V1 Then E1 = 0; } if E1 == 2 and index > i1 and C >= S1+PriceScale*진입돌파 Then{ buy("b1"); } } if TotalTrades > TotalTrades[1] Then{ E1 = 0; LL = L; } if MarketPosition == 1 Then{ if entry >= 1 then{ if CurrentContracts > CurrentContracts[1] Then{ EH = H; E1 = 0; } if H > EH Then{ EH = H; E1 = 0; } if E1 == 0 and C <= EH-PriceScale*X1 Then{ E1 = 1; L1 = L; i1 = index; } if E1 == 1 and index > i1 Then{ if L < L1 Then L1 = L; if H >= L1+PriceScale*청산눌림 Then{ E1 = 2; I1 = index; S1 = L1; } } if E1 == 2 and index > i1 and C <= S1-PriceScale*청산돌파 Then{ exitlong("bx1"); E1 = 0; } } } 즐거운 하루되세요 > 좌오비우오비 님이 쓴 글입니다. > 제목 : 진입신호 초기화 > 아래 내용을 수식에 반영하여 주세요. 알려주신 예제를 적용하기가 힘들군요. 기존 buy 수식을 간소화했으니 꼭 부탁드립니다. 진입신호인 b1의 시작점보다 진입눌림이 더 내려왔을 때 - if b1 시작점 > 진입눌림 진입신호인 b1의 시작점을 초기화 후 계산하게 해주세요. - b1의 시작점을 초기화 ************************************ input : b1(9),X1(9),진입눌림(3),진입돌파(1),청산눌림(3),청산돌파(1),거래횟수(20),시작시간(090000) ; var : T1(0),entry(0),LL(0),EH(0),E1(0),H1(0),i1(0),S1(0),L1(0); if Bdate != Bdate[1] Then{ T1 = TotalTrades; E1 = 0; } if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 and stime >= 시작시간 Then{ if E1 == 0 and C >= daylow+PriceScale*B1 and C[1] < daylow+PriceScale*B1 Then{ E1 = 1; H1 = H; i1 = index; } if E1 == 1 and index > i1 then{ if H > H1 Then H1 = H; if L <= H1-PriceScale*진입눌림 Then{ E1 = 2; i1 = index; S1 = H1; } } if E1 == 2 and index > i1 and C >= S1+PriceScale*진입돌파 Then{ buy("b1"); } } if TotalTrades > TotalTrades[1] Then{ E1 = 0; LL = L; } if MarketPosition == 1 Then{ if entry >= 1 then{ if CurrentContracts > CurrentContracts[1] Then{ EH = H; E1 = 0; } if H > EH Then{ EH = H; E1 = 0; } if E1 == 0 and C <= EH-PriceScale*X1 Then{ E1 = 1; L1 = L; i1 = index; } if E1 == 1 and index > i1 Then{ if L < L1 Then L1 = L; if H >= L1+PriceScale*청산눌림 Then{ E1 = 2; I1 = index; S1 = L1; } } if E1 == 2 and index > i1 and C <= S1-PriceScale*청산돌파 Then{ exitlong("bx1"); E1 = 0; } } }
프로필 이미지

예스스탁 예스스탁 답변

2017-07-10 13:55:05

안녕하세요 예스스탁입니다. 1 E1이 1이 되는 지점의 종가를 저장해 이후 해당값보다 내려가면 0으로 초기화 되게 되어 있었습니다. 그림상 E1이 1이 되는 지점의 종가가 아닌 그때의 최저가가 저장되고 비교되어야 할것 같아 최저가로 변경했습니다. 2 초기화 되면 최저가는 다시 계산되게 변경했습니다. 3 지정한 시간 이후에 부터 최저가 계산하게 변경했습니다. 4 input : b1(9),X1(9),진입눌림(3),진입돌파(1),청산눌림(3),청산돌파(1),거래횟수(20),시작시간(090000) ; var : T1(0),entry(0),LL(0),EH(0),E1(0),H1(0),i1(0),S1(0),L1(0),V1(0); if Bdate != Bdate[1] Then{ T1 = TotalTrades; E1 = 0; } if (Bdate != Bdate[1] and stime >= 시작시간) or (Bdate == Bdate[1] and stime > 시작시간 and stime[1] < 시작시간) Then LL = L; if L < LL Then LL = L; if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 and stime >= 시작시간 Then{ if E1 == 0 and C >= LL+PriceScale*B1 and C[1] < LL+PriceScale*B1 Then{ E1 = 1; H1 = H; i1 = index; V1 = LL; //시작점 종가 } if E1 == 1 and index > i1 then{ if H > H1 Then H1 = H; #저가가 시작봉종가보다 클때만 눌림체크 if L >= V1 and L <= H1-PriceScale*진입눌림 Then{ E1 = 2; i1 = index; S1 = H1; } } //시작점 종가보다 낮은 가격이 발생하면 초기화 if E1 >= 1 and L < V1 Then{ E1 = 0; LL = L; } if E1 == 2 and index > i1 and C >= S1+PriceScale*진입돌파 Then{ buy("b1"); } } if TotalTrades > TotalTrades[1] Then{ E1 = 0; LL = L; } if MarketPosition == 1 Then{ if entry >= 1 then{ if CurrentContracts > CurrentContracts[1] Then{ EH = H; E1 = 0; } if H > EH Then{ EH = H; E1 = 0; } if E1 == 0 and C <= EH-PriceScale*X1 Then{ E1 = 1; L1 = L; i1 = index; } if E1 == 1 and index > i1 Then{ if L < L1 Then L1 = L; if H >= L1+PriceScale*청산눌림 Then{ E1 = 2; I1 = index; S1 = L1; } } if E1 == 2 and index > i1 and C <= S1-PriceScale*청산돌파 Then{ exitlong("bx1"); E1 = 0; } } } 즐거운 하루되세요 > 좌오비우오비 님이 쓴 글입니다. > 제목 : Re : Re : 진입신호 초기화 > 기존 수식 결과는 그림 1입니다. -첫 b1보다 눌림이 큰 경우로 첫b1을 이용하여 진입. 수정 수식 결과는 그림 2입니다. -수식변화에 따른 변동을 예상했는데 변화가 없습니다. 기존 수식의 진입시간을 09시09분13초로 조정한 결과는 그림 3입니다. -시작시간 조정으로 새로운 b1으로 진입. 수정해주신 수식의 시작봉 종가보다 낮은 가격이 발생하면 초기화가 반영되지 않는 것 같습니다. 차트는 틱봉을 사용했습니다. 항상 고맙습니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 진입신호 초기화 > 안녕하세요 예스스탁입니다. 주석 참고하시기 바랍니다. input : b1(9),X1(9),진입눌림(3),진입돌파(1),청산눌림(3),청산돌파(1),거래횟수(20),시작시간(090000) ; var : T1(0),entry(0),LL(0),EH(0),E1(0),H1(0),i1(0),S1(0),L1(0),V1(0); if Bdate != Bdate[1] Then{ T1 = TotalTrades; E1 = 0; } if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 and stime >= 시작시간 Then{ if E1 == 0 and C >= daylow+PriceScale*B1 and C[1] < daylow+PriceScale*B1 Then{ E1 = 1; H1 = H; i1 = index; V1 = C; //시작점 종가 } if E1 == 1 and index > i1 then{ if H > H1 Then H1 = H; #저가가 시작봉종가보다 클때만 눌림체크 if L >= V1 and L <= H1-PriceScale*진입눌림 Then{ E1 = 2; i1 = index; S1 = H1; } //시작점 종가보다 낮은 가격이 발생하면 초기화 if L < V1 Then E1 = 0; } if E1 == 2 and index > i1 and C >= S1+PriceScale*진입돌파 Then{ buy("b1"); } } if TotalTrades > TotalTrades[1] Then{ E1 = 0; LL = L; } if MarketPosition == 1 Then{ if entry >= 1 then{ if CurrentContracts > CurrentContracts[1] Then{ EH = H; E1 = 0; } if H > EH Then{ EH = H; E1 = 0; } if E1 == 0 and C <= EH-PriceScale*X1 Then{ E1 = 1; L1 = L; i1 = index; } if E1 == 1 and index > i1 Then{ if L < L1 Then L1 = L; if H >= L1+PriceScale*청산눌림 Then{ E1 = 2; I1 = index; S1 = L1; } } if E1 == 2 and index > i1 and C <= S1-PriceScale*청산돌파 Then{ exitlong("bx1"); E1 = 0; } } } 즐거운 하루되세요 > 좌오비우오비 님이 쓴 글입니다. > 제목 : 진입신호 초기화 > 아래 내용을 수식에 반영하여 주세요. 알려주신 예제를 적용하기가 힘들군요. 기존 buy 수식을 간소화했으니 꼭 부탁드립니다. 진입신호인 b1의 시작점보다 진입눌림이 더 내려왔을 때 - if b1 시작점 > 진입눌림 진입신호인 b1의 시작점을 초기화 후 계산하게 해주세요. - b1의 시작점을 초기화 ************************************ input : b1(9),X1(9),진입눌림(3),진입돌파(1),청산눌림(3),청산돌파(1),거래횟수(20),시작시간(090000) ; var : T1(0),entry(0),LL(0),EH(0),E1(0),H1(0),i1(0),S1(0),L1(0); if Bdate != Bdate[1] Then{ T1 = TotalTrades; E1 = 0; } if MarketPosition == 0 Then entry = TotalTrades-T1; Else entry = (TotalTrades-T1)+1; if MarketPosition == 0 and entry == 0 and stime >= 시작시간 Then{ if E1 == 0 and C >= daylow+PriceScale*B1 and C[1] < daylow+PriceScale*B1 Then{ E1 = 1; H1 = H; i1 = index; } if E1 == 1 and index > i1 then{ if H > H1 Then H1 = H; if L <= H1-PriceScale*진입눌림 Then{ E1 = 2; i1 = index; S1 = H1; } } if E1 == 2 and index > i1 and C >= S1+PriceScale*진입돌파 Then{ buy("b1"); } } if TotalTrades > TotalTrades[1] Then{ E1 = 0; LL = L; } if MarketPosition == 1 Then{ if entry >= 1 then{ if CurrentContracts > CurrentContracts[1] Then{ EH = H; E1 = 0; } if H > EH Then{ EH = H; E1 = 0; } if E1 == 0 and C <= EH-PriceScale*X1 Then{ E1 = 1; L1 = L; i1 = index; } if E1 == 1 and index > i1 Then{ if L < L1 Then L1 = L; if H >= L1+PriceScale*청산눌림 Then{ E1 = 2; I1 = index; S1 = L1; } } if E1 == 2 and index > i1 and C <= S1-PriceScale*청산돌파 Then{ exitlong("bx1"); E1 = 0; } } }
프로필 이미지

좌오비우오비

2017-07-11 11:39:28

좌오비우오비 님에 의해 삭제된 답변입니다.
프로필 이미지

좌오비우오비

2017-07-13 11:47:10

좌오비우오비 님에 의해 삭제된 답변입니다.