첨부 이미지
그림1
"D"라는 매수 수식에 청산하는 조건으로 "D청산"수식을 만들었는데
이게 샐행되지 않고 아래 "0" 조건에 청산이 됩니다
"D"라는 이름으로 매수가 되었다면 "D"청산 수식으로
청산될 수 있게 수정 부탁드립니다.
VAR1=5MA, VAR2=20MA, VAR3=60MA, VAR4=120MA, VAR5=240MA
IF MarketPosition == 1 and
IsEntryName("D") AND C<O and
EntryPrice > MA(Close, 20)[BarsSinceEntry]
AND Var2>Var3 AND Var3>Var4 AND Var4>Var5
And Open <= Var3
Then
exitlong("D청산");
IF MarketPosition() == 1 THEN {
If EntryPrice > MA(Close, 20)[BarsSinceEntry]
And Close < Open
And ((Crossdown(C,Var2)) OR (Open <= Var2))
THEN ExitLong("0"); }
답변 1
예스스탁
예스스탁 답변
2021-10-27 12:33:43
안녕하세요
예스스탁입니다.
올리신 내용은 별도로 저희가 수정해 드릴부분이 없습니다.
D청산에 논리적인 오류가 있거나 해서 발생하지 않는 부분이 아닙니다.
단지 0청산이 D청산보다 먼저 만족해 청산이 되는 것뿐입니다.
아래와 같이 수식에서 0청산을 없애고 적용해 보시면 D청산이 발생하는 것을 보실수 있습니다.
var1 = ma(C,5);
Var2 = ma(C,20);
Var3 = ma(C,60);
Var4 = ma(C,120);
Var5 = ma(C,240);
if sDate != sDate[1] Then
Buy("D");
IF MarketPosition == 1 and
IsEntryName("D") AND C<O and
EntryPrice > ma(C,20)[BarsSinceEntry]
AND Var2>Var3 AND Var3>Var4 AND Var4>Var5
And Open <= Var3
Then
exitlong("D청산");
SetStopEndofday(152000);
즐거운 하루되세요
> knp116 님이 쓴 글입니다.
> 제목 : 수정 부탁드립니다
> "D"라는 매수 수식에 청산하는 조건으로 "D청산"수식을 만들었는데
이게 샐행되지 않고 아래 "0" 조건에 청산이 됩니다
"D"라는 이름으로 매수가 되었다면 "D"청산 수식으로
청산될 수 있게 수정 부탁드립니다.
VAR1=5MA, VAR2=20MA, VAR3=60MA, VAR4=120MA, VAR5=240MA
IF MarketPosition == 1 and
IsEntryName("D") AND C<O and
EntryPrice > MA(Close, 20)[BarsSinceEntry]
AND Var2>Var3 AND Var3>Var4 AND Var4>Var5
And Open <= Var3
Then
exitlong("D청산");
IF MarketPosition() == 1 THEN {
If EntryPrice > MA(Close, 20)[BarsSinceEntry]
And Close < Open
And ((Crossdown(C,Var2)) OR (Open <= Var2))
THEN ExitLong("0"); }