안녕하세요,
수식 작성 두 가지 문의 드립니다. 아래 수식으로 적용해 봤는데 매수 신호가 원하지 않는 위치에 뜹니다.
1. 직전 진입명이 A이고 매수 포지션 일때 현재가가 진입 가격 대비 종가기준 2%이상 하락 이후 저점 대비 2%이상 상승 시 스프레딩 매수 (B)
if MarketPosition == 1 and latestentryname(0) == "A" Then{
var1 = Lowest(c,BarsSinceEntry);
if var1 <= EntryPrice*(1-2/100) and c > var1+(EntryPrice-var1)*(2/100) then
buy("B");
2. 직전 진입명이 B이고 A가 아니며, 현재 매수 포지션 일때 현재가가 진입 가격 대비 종가기준 2%이상 상승 시 스프레딩 매수 (C)
if MarketPosition == 1 and latestentryname(0) == "B" and latestentryname(0) != "A" Then{
var1 = Lowest(c,BarsSinceEntry);
if var1 >= EntryPrice*(1+2/100) then
buy("C");
3. 그리고 latestentryname과 isentryname의 차이점이 무엇인지 궁금합니다.
늘 친절하게 답해주셔서 감사합니다.
답변 1
예스스탁
예스스탁 답변
2021-04-12 11:40:52
안녕하세요
예스스탁입니다.
1
1번 내용은 별도로 수정해 드릴내용이 없습니다.
올리신내용대로 수식이 작성되어 있습니다.
2
현재 수식이 최저가가 진입가격대비 2% 위로 조건이 지정되어 있습니다.
현재가가 진입가 대비 2% 위 이므로 아래와 같이 변경하시면 됩니다.
if MarketPosition == 1 and latestentryname(0) == "B" and latestentryname(0) != "A" Then
{
if C >= EntryPrice*(1+2/100) then
buy("C");
}
3
둘다 진입명을 확인하는 함수입니다.
latestentryname는 진입명을 자체를 리턴하는 함수이므로
수식에서 latestentryname(0) == "A"와 같이 함수에서 리턴한 이름과 지정한 이름을 비교하게 작성해서 사용하고
isentryname는 이름을 지정하면 진입명이 지정한 이름과 같으면 true, 아니면 false로 리턴하는 함수로
isentrynam("A") == true와 같이 수식에서 작성해 지정한 이름으로 진입이 되어 있는지 확인하게 됩니다.
다만 2개의 차이는
진입을 여러번 할경우 latestentryname는 항상 최근의 진입명을 리턴하지만
isentryname의 경우 포지션의 첫번째 진입의 이름과만 비교를 할수 있습니다.
두번째 이후의 진입은 isentryname으로는 진입명을 확인할 수 없습니다.
즐거운 하루되세요
> 김예스 님이 쓴 글입니다.
> 제목 : 수식문의드립니다.
> 안녕하세요,
수식 작성 두 가지 문의 드립니다. 아래 수식으로 적용해 봤는데 매수 신호가 원하지 않는 위치에 뜹니다.
1. 직전 진입명이 A이고 매수 포지션 일때 현재가가 진입 가격 대비 종가기준 2%이상 하락 이후 저점 대비 2%이상 상승 시 스프레딩 매수 (B)
if MarketPosition == 1 and latestentryname(0) == "A" Then{
var1 = Lowest(c,BarsSinceEntry);
if var1 <= EntryPrice*(1-2/100) and c > var1+(EntryPrice-var1)*(2/100) then
buy("B");
2. 직전 진입명이 B이고 A가 아니며, 현재 매수 포지션 일때 현재가가 진입 가격 대비 종가기준 2%이상 상승 시 스프레딩 매수 (C)
if MarketPosition == 1 and latestentryname(0) == "B" and latestentryname(0) != "A" Then{
var1 = Lowest(c,BarsSinceEntry);
if var1 >= EntryPrice*(1+2/100) then
buy("C");
3. 그리고 latestentryname과 isentryname의 차이점이 무엇인지 궁금합니다.
늘 친절하게 답해주셔서 감사합니다.