첨부 이미지
그림1
안녕하세요.
일봉기준입니다.
전봉대비 거래량이 5배 이상 증가할경우 OnClose로 매수하고, 매수한 신호를 "매수"라고 했을 때 그 봉의 몸통 중심가격을 MID로 받고 만약 오늘 C가가 MID보다 밑에 있을 경우 OnClose로 매도하는 수식을 만들고 싶어요.
var: MID(0);
#매수
if V >= 5 * V[1] Then Buy("매수", Onclose);
#매수했을 때 그 봉의 중심가격을 MID로 할당
if LatestEntryName(0) == "매수" Then MID = (C+O)/2;
#매도
if C < MID Then ExitLong("매도",Onclose);
이렇게 해봤는데 매수와 매도가 같이 출력되는데 뭐가 문제일까요?
그리고 빨간 박스에서 중심선을 이탈했으니 매도하고싶습니다.
잘 부탁드립니다.
답변 1
예스스탁
예스스탁 답변
2023-06-22 09:39:21
안녕하세요
예스스탁입니다.
1
if LatestEntryName(0) == "매수" Then MID = (C+O)/2;
if C < MID Then ExitLong("매도",Onclose);
MID에 직전의 매수할때 값이 유지된 상태에서
다음매수시 종가가 기존 저장된 값보다 작으면 동시충족되서 매도가 같이 나오게 됩니다.
2
또한 작성하신 식에서 MID는 매수봉의 중심값이 아닙니다.
매수진입이후 매도되기 전까지 마지막봉의 중심값입니다.
3
var : MID(0);
if MarketPosition == 0 and V >= V[1]*5 Then
Buy("매수");
if MarketPosition == 1 and LatestEntryName(0) == "매수" Then
{
MID = (C[BarsSinceEntry]+O[BarsSinceEntry])/2;
if C < MID Then
ExitLong("매도");
}
즐거운 하루되세요
> 현우르곳 님이 쓴 글입니다.
> 제목 : 부탁드립니다.
> 안녕하세요.
일봉기준입니다.
전봉대비 거래량이 5배 이상 증가할경우 OnClose로 매수하고, 매수한 신호를 "매수"라고 했을 때 그 봉의 몸통 중심가격을 MID로 받고 만약 오늘 C가가 MID보다 밑에 있을 경우 OnClose로 매도하는 수식을 만들고 싶어요.
var: MID(0);
#매수
if V >= 5 * V[1] Then Buy("매수", Onclose);
#매수했을 때 그 봉의 중심가격을 MID로 할당
if LatestEntryName(0) == "매수" Then MID = (C+O)/2;
#매도
if C < MID Then ExitLong("매도",Onclose);
이렇게 해봤는데 매수와 매도가 같이 출력되는데 뭐가 문제일까요?
그리고 빨간 박스에서 중심선을 이탈했으니 매도하고싶습니다.
잘 부탁드립니다.