커뮤니티

재질문드립니다.

프로필 이미지
공감n감사
2011-06-15 16:21:32
663
글번호 39794
답변완료
친절한 답변감사합니다. 근데 수정해서 해보았는데요, 여전히 재진입이 나오지 않고 있습니다. 이상하네요. If MarketPosition == 0 AND MarketPosition(1) == -1 then { If (IsExitName("T_S1",1) == True or IsExitName("T_S2",1) == True) AND ReCnt < Re then { S_re_Price = Lowest(L, BarsSinceEntry)[BarsSinceExit(1)]; ReCnt = ReCnt + 1; Sell ("H2_S", AtStop, S_re_Price); } } 이렇게 했는데 신호가 나오지 않네요. 확인좀 부탁드립니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : Re : Re : 전거래의 최저점 구하는 방법 > 안녕하세요 예스스탁입니다. 죄송합니다. 질문한신 내용을 잘못이해한것 같습니다. 수식을 아래와 같이 수정하시면 If MarketPosition == 0 AND MarketPosition(1) == -1 then { If (IsExitName("S1",1) == True) then { lowest_Price = lowest(L,BarsSinceEntry)[BarsSinceExit(1)]; Sell ("S2", AtStop, lowest_Price ); } } S1이라는 이름의 매도청산이 발생하고 매도진입에서 S1매도청산시점까지의 최저가를 하향하면 매도진입하게 됩니다. 청산다음봉이 해당 저점보다 낮으면 바로 다음봉에서 진입합니다. S1이 진입명칭이면 IsEntryName("S1",1)로 수정하시면 됩니다. 즐거운 하루되세요
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2011-06-15 18:15:11

안녕하세요 예스스탁입니다. 올리신 내용만으로는 판단하기 어렵습니다. 다만 수식상의 ReCnt가 문제가 될것 같습니다. ReCnt가 추가진입의 횟수를 카운트 하기위한 내용이시면 작성하신 식은 맞지가 않습니다. If MarketPosition == 0 AND MarketPosition(1) == -1 then { If (IsExitName("T_S1",1) == True or IsExitName("T_S2",1) == True) AND ReCnt < Re then { ReCnt는 의 조건만 만족하면 계속 1씩 청산이후 몇개봉만 흘러도 re값을 넘어가게 됩니다. 아래식과 같이 재진입식명으로 횟수를 카운트 하여 사용하셔야 합니다. var : ReCnt(0); ReCnt = 0; for var1 = 0 to 20 { if IsEntryName("H2_S",var1) == true and EntryDate(var1) == sdate Then ReCnt = ReCnt+1; } If MarketPosition == 0 AND MarketPosition(1) == -1 then { If (IsExitName("T_S1",1) == True or IsExitName("T_S2",1) == True) AND ReCnt < Re then { S_re_Price = Lowest(L, BarsSinceEntry)[BarsSinceExit(1)]; Sell ("H2_S", AtStop, S_re_Price); } } 재진입식이 여러개 이면 아래와 같이 or로 여러개의 값을 지정하시면 됩니다. ReCnt = 0; for var1 = 0 to 20 { if (IsEntryName("H2_S",var1) == true or IsEntryName("aaa",var1) == true) and EntryDate(var1) == sdate Then ReCnt = ReCnt+1; } 즐거운 하루되세요 > 공감n감사 님이 쓴 글입니다. > 제목 : 재질문드립니다. > 친절한 답변감사합니다. 근데 수정해서 해보았는데요, 여전히 재진입이 나오지 않고 있습니다. 이상하네요. If MarketPosition == 0 AND MarketPosition(1) == -1 then { If (IsExitName("T_S1",1) == True or IsExitName("T_S2",1) == True) AND ReCnt < Re then { S_re_Price = Lowest(L, BarsSinceEntry)[BarsSinceExit(1)]; ReCnt = ReCnt + 1; Sell ("H2_S", AtStop, S_re_Price); } } 이렇게 했는데 신호가 나오지 않네요. 확인좀 부탁드립니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : Re : Re : 전거래의 최저점 구하는 방법 > 안녕하세요 예스스탁입니다. 죄송합니다. 질문한신 내용을 잘못이해한것 같습니다. 수식을 아래와 같이 수정하시면 If MarketPosition == 0 AND MarketPosition(1) == -1 then { If (IsExitName("S1",1) == True) then { lowest_Price = lowest(L,BarsSinceEntry)[BarsSinceExit(1)]; Sell ("S2", AtStop, lowest_Price ); } } S1이라는 이름의 매도청산이 발생하고 매도진입에서 S1매도청산시점까지의 최저가를 하향하면 매도진입하게 됩니다. 청산다음봉이 해당 저점보다 낮으면 바로 다음봉에서 진입합니다. S1이 진입명칭이면 IsEntryName("S1",1)로 수정하시면 됩니다. 즐거운 하루되세요