첨부 이미지
그림1
미국 S&P500 주봉 적용
var1 = ma(c,1);
var2 = ma(c,4);
var3 = ma(c,13);
var4 = ma(c,52);
var7 = max(C,O)-abs(C-O)*(2/3);
var8 = min(C,O)+abs(C-O)*(2/3);
var9 = max(C,O)-abs(C-O)*(1/2);
var10 = min(C,O)+abs(C-O)*(1/4);
## 청산 수식
IF IsEntryName("C") == TRUE OR IsEntryName("D") == True Then
IF EntryPrice > MA(Close, 13)[BarsSinceEntry]
And (Crossdown(var8,Var3)) OR (Open <= Var3)
AND C<O AND Var2>Var3
AND ((Var2>Var3) OR (Var2<Var3 AND Var2<Var2[10]))
Then
exitlong("CD청산");
매수 진입신호 "c", "d" 이후 청산조건은 음봉으로 설정했는데
양봉에 청산 신호가 나오는데 수정 부탁드립니다
답변 1
예스스탁
예스스탁 답변
2022-04-04 11:53:43
안녕하세요
예스스탁입니다.
(Crossdown(var8,Var3)) OR (Open <= Var3)
수식안에 and와 or가 같이 사용되면
반드시 ()로 우선순위를 지정하셔야 합니다.
현재 작성하신 식에서 위 내용으로 인해 그전 조건과 이후조건이 어떻게 결합되는지 모르겠습니다.
위 2개중 하나가 만족하는 것으로 처리해 드립니다.
var1 = ma(c,1);
var2 = ma(c,4);
var3 = ma(c,13);
var4 = ma(c,52);
var7 = max(C,O)-abs(C-O)*(2/3);
var8 = min(C,O)+abs(C-O)*(2/3);
var9 = max(C,O)-abs(C-O)*(1/2);
var10 = min(C,O)+abs(C-O)*(1/4);
## 청산 수식
IF IsEntryName("C") == TRUE OR IsEntryName("D") == True Then
{
IF EntryPrice > MA(Close, 13)[BarsSinceEntry]
And ((Crossdown(var8,Var3)) OR (Open <= Var3)) #() 추가
AND C<O AND Var2>Var3
AND ((Var2>Var3) OR (Var2<Var3 AND Var2<Var2[10])) Then
exitlong("CD청산");
}
즐거운 하루되세요
> knp116 님이 쓴 글입니다.
> 제목 : 수식 수정 부탁드립니다
> 미국 S&P500 주봉 적용
var1 = ma(c,1);
var2 = ma(c,4);
var3 = ma(c,13);
var4 = ma(c,52);
var7 = max(C,O)-abs(C-O)*(2/3);
var8 = min(C,O)+abs(C-O)*(2/3);
var9 = max(C,O)-abs(C-O)*(1/2);
var10 = min(C,O)+abs(C-O)*(1/4);
## 청산 수식
IF IsEntryName("C") == TRUE OR IsEntryName("D") == True Then
IF EntryPrice > MA(Close, 13)[BarsSinceEntry]
And (Crossdown(var8,Var3)) OR (Open <= Var3)
AND C<O AND Var2>Var3
AND ((Var2>Var3) OR (Var2<Var3 AND Var2<Var2[10]))
Then
exitlong("CD청산");
매수 진입신호 "c", "d" 이후 청산조건은 음봉으로 설정했는데
양봉에 청산 신호가 나오는데 수정 부탁드립니다