항상 감사드립니다
data1에서 진입한 후, 청산은 data2 atr 조건충족시 신호발생 시키는식 좀 부탁드립니다
if MarketPosition==1 Then{
ExitLong("ex",atstop,highest(High,barsSinceEntry)-atr(20)*mul);
}
에서 highest(High,barsSinceEntry)-atr*mul 부분을 data2에서 조건만족시 data1에 신호발생
시키는 식 작성입니다. 무식하게 data2(highest(High,barsSinceEntry)-atr(20)*mul) 는 아닌거 같습니다. barsSinceEntry를 못 읽겠지요
답변 1
예스스탁
예스스탁 답변
2023-08-16 17:36:51
안녕하세요
예스스탁입니다.
1
atstop은 지정한 값과 기본종목인 data1의 현재가와만 비교해서 신호가 발생합니다.
data2가 기본종목과 다른 종목이면 atstop사용은 의미가 없습니다.
2번과 if문으로 봉완성시로 작성하셔야 합니다.
var : h2(0,Data2),a2(0,Data2);
a2 = data2(ATR(20));
if MarketPosition==1 Then
{
if h2 == 0 or (h2 > 0 and Data2(h) > h2) Then
h2 = Data2(h);
ExitLong("ex",atstop,H2-A2*mul);
}
Else
h2 = 0;
2
var : h2(0,Data2),a2(0,Data2);
a2 = data2(ATR(20));
if MarketPosition==1 Then
{
if h2 == 0 or (h2 > 0 and Data2(h) > h2) Then
h2 = Data2(h);
if Data2(c) < h2-a2*mul Then
ExitLong("ex");
}
Else
h2 = 0;
즐거운 하루되세요
> 피카2 님이 쓴 글입니다.
> 제목 : atr청산문의
> 항상 감사드립니다
data1에서 진입한 후, 청산은 data2 atr 조건충족시 신호발생 시키는식 좀 부탁드립니다
if MarketPosition==1 Then{
ExitLong("ex",atstop,highest(High,barsSinceEntry)-atr(20)*mul);
}
에서 highest(High,barsSinceEntry)-atr*mul 부분을 data2에서 조건만족시 data1에 신호발생
시키는 식 작성입니다. 무식하게 data2(highest(High,barsSinceEntry)-atr(20)*mul) 는 아닌거 같습니다. barsSinceEntry를 못 읽겠지요