커뮤니티

청산 수식 수정 부탁 드립니다.

프로필 이미지
다올
2016-08-08 23:06:31
124
글번호 100843
답변완료

첨부 이미지

부탁 드립니다. 진입시 이전 5봉중 최저가를 손절가격으로 잡는 수식입니다. if 조건식 Then { buy("buy1"); cut = lowest(L,5); } if isentryname ("buy1")==true Then { if c < cut Then exitlong("buy1손절"); } 그림에서와 같이 진입시 5개봉 중 저가가 아니고 현재봉 기준으로 손절이 잡힙니다. 현재 식이 어디가 잘못되었는지 부탁드리며 수정 부탁 드립니다.
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-08-09 09:34:35

안녕하세요 예스스탁입니다. cut에 lowest(L,5);가 저장되는 시점은 if조건이 만족했을때입니다. 매수후에 조건이 만족하면 계속 갱신됩니다. 아래와 같이 처리하셔야 합니다. 특정변수, 데이터나 함수뒤에 [BarsSinceEntry]를 붙이면 진입신호봉 기준의 값을 가져올수 있습니다. var : cut(0); cut= Lowest(L,5); if 조건식 Then { buy("buy1"); } if MarketPosition == 1 and isentryname ("buy1")==true and C < cut[BarsSinceEntry] Then { exitlong("buy1손절"); } 위식은 봉완성시 종가기준이고 진입봉기준 5개봉 최저가 이하의 시세가 발생하면 즉시 신호를 발생하고자 하시면 아래와 같이 작성하시면 됩니다. var : LL(0); LL = Lowest(L,5); if 조건식 Then { buy("buy1"); } if MarketPosition == 1 and isentryname ("buy1")==true Then { exitlong("buy1손절",AtStop, LL[BarsSinceEntry]); } 즐거운 하루되세요 > 다올 님이 쓴 글입니다. > 제목 : 청산 수식 수정 부탁 드립니다. > 부탁 드립니다. 진입시 이전 5봉중 최저가를 손절가격으로 잡는 수식입니다. if 조건식 Then { buy("buy1"); cut = lowest(L,5); } if isentryname ("buy1")==true Then { if c < cut Then exitlong("buy1손절"); } 그림에서와 같이 진입시 5개봉 중 저가가 아니고 현재봉 기준으로 손절이 잡힙니다. 현재 식이 어디가 잘못되었는지 부탁드리며 수정 부탁 드립니다.