커뮤니티

아래 재질문드려요

프로필 이미지
스테디어드밴서
2010-02-23 14:29:11
519
글번호 28322
답변완료
아래 답변에 재질문드려요 ----------- 안녕하세요 예스스탁입니다. var1 = ma(c,5); var2 = ma(C,10); if MarketPosition == 1 then{ if var1[BarsSinceEntry] > var2[BarsSinceEntry] Then exitlong("bx1",atlimit,EntryPrice*1.05); if var1[BarsSinceEntry] < var2[BarsSinceEntry] Then exitlong("bx2",atlimit,EntryPrice*1.02); } ----------------- 위와 같이 하니까, 진입봉 "바로 다음봉"이 5%이상의 이익을 냈음에도 청산하지 않고, "바로 다음봉"의 다음봉에서 청산을 하네요...??? 전부 그래요...왜 그럴까요?
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2010-02-23 14:51:54

안녕하세요 예스스탁입니다. marketposition과 entryprice는은 매수 진입한 봉의 다음봉 부터 그값이 할당이 됩니다. 또한 atlimit타입은 현재봉에 limit가격을 설정하여 다음봉의 시세를 감지하는 타입니다.그러므로 진입다음봉에서 marketposition과 기타 조건이 맞게 되고 그때 limit 가격조건이 걸리고 그 다음봉에 신호가 나오므로 진입한 바로 다음봉에서는 신호가 나올수 없습니다. 매수진입 -> 1봉경과 if조건만족 atlimit 가격설정 --> 2봉경과 감시후 신호발생 매수진입봉에서는 onclose타입으로 청산하는 식을 추가했습니다. 봉완성시 기준으로 고가가 해당 %위에 있으면 종가로 청산합니다. if MarketPosition == 1 then{ if var1[BarsSinceEntry] > var2[BarsSinceEntry] Then exitlong("bx1",atlimit,EntryPrice*1.05); if var1[BarsSinceEntry] < var2[BarsSinceEntry] Then exitlong("bx2",atlimit,EntryPrice*1.02); if BarsSinceEntry == 1 Then{ if var1[BarsSinceEntry] > var2[BarsSinceEntry] and H >= EntryPrice*1.05 Then exitlong("bx3"); if var1[BarsSinceEntry] < var2[BarsSinceEntry] and H >= EntryPrice*1.02 Then exitlong("bx4"); } } 즐거운 하루되세요 > 스테디어드밴서 님이 쓴 글입니다. > 제목 : 아래 재질문드려요 > 아래 답변에 재질문드려요 ----------- 안녕하세요 예스스탁입니다. var1 = ma(c,5); var2 = ma(C,10); if MarketPosition == 1 then{ if var1[BarsSinceEntry] > var2[BarsSinceEntry] Then exitlong("bx1",atlimit,EntryPrice*1.05); if var1[BarsSinceEntry] < var2[BarsSinceEntry] Then exitlong("bx2",atlimit,EntryPrice*1.02); } ----------------- 위와 같이 하니까, 진입봉 "바로 다음봉"이 5%이상의 이익을 냈음에도 청산하지 않고, "바로 다음봉"의 다음봉에서 청산을 하네요...??? 전부 그래요...왜 그럴까요?