커뮤니티
재질문드립니다.
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)로 수정하시면 됩니다.
즐거운 하루되세요