안녕하세요.
파인스크립트의 매수 전략을 아래의 예스랭귀지로 변환하여 적용해보니
예스랭귀지가 파인스크립트보다 좀 더 빠르게 청산되고 있습니다.(손절 익절 모두)
파인스크립트
if 매수조건 == true
EntryPrice := close
ProfitPrice := close + ta.atr(10) * 3.0
LossPrice := close - ta.atr(10) * 3.0
strategy.entry("Long", strategy.long)
strategy.exit("ExitLong", "Long", stop = LossPrice, limit = ProfitPrice)
예스랭귀지
if 매수조건 == true Then
{
EntryPrice = close;
ProfitPrice = close + ATR(10) * 3.0;
LossPrice = close - ATR(10) * 3.0;
Buy("Long", AtMarket, 10);
}
ExitLong("LossExit", AtStop, LossPrice, "Long", 1);
ExitLong("ProfitExit", AtLimit, ProfitPrice, "Long", 1);
또한 아래의 지표식을 이용하여 확인해보니 위 예스트레이더 전략식에서 발생한 청산신호와도 일치하지 않네요.
if 매수조건 == true Then
{
EntryPrice = close;
ProfitPrice = close + ATR(10) * 3.0;
LossPrice = close - ATR(10) * 3.0;
plot1(close + AvgTrueRange*1.0, "Profit Price");
plot2(close - AvgTrueRange*2.0, "Loss Price");
}
파인스크립트의 청산 신호와 일치하도록 예스랭귀지의 전략식과 ATR지표식 수정 가능할까요.
그리고 예스트레이더의 전략식과 지표식에서 신호가 다르게 나오는 이유에 대해서도
자세한 설명 부탁드립니다.
자동매매를 예스에서 하려고 하니 다소 난해한 요청이라도 양해부탁드립니다.
답변 1
예스스탁
예스스탁 답변
2024-07-18 14:21:40
안녕하세요
예스스탁입니다.
1
atr이 truerange를 일정기간 평균해서 계산하는데
예스랭귀지는 단순이평을 사용하지만 파인스크립트는 RMA를 사용하고 있습니다.
rma를 사용하는 아래 계산식으로 변경해 보시기 바랍니다.
input : Length(10);
var : alpha(0),rmaTR(0);
alpha = 1/length;
rmaTR = iff(IsNaN(rmaTR[1]) == true,ma(TrueRange, length), alpha * TrueRange + (1 - alpha) * rmaTR[1]);
Plot1(rmaTR);
plot2(ATr(length));
2
시스템식에는 atr의 3배로 되어 있는데 지표는 1배,2배입니다.
ProfitPrice, LossPrice 값을 출력해 보시기 바랍니다.
plot1(ProfitPrice, "Profit Price");
plot2(LossPrice, "Loss Price");
즐거운 하루되세요
> 착한이 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 안녕하세요.
파인스크립트의 매수 전략을 아래의 예스랭귀지로 변환하여 적용해보니
예스랭귀지가 파인스크립트보다 좀 더 빠르게 청산되고 있습니다.(손절 익절 모두)
파인스크립트
if 매수조건 == true
EntryPrice := close
ProfitPrice := close + ta.atr(10) * 3.0
LossPrice := close - ta.atr(10) * 3.0
strategy.entry("Long", strategy.long)
strategy.exit("ExitLong", "Long", stop = LossPrice, limit = ProfitPrice)
예스랭귀지
if 매수조건 == true Then
{
EntryPrice = close;
ProfitPrice = close + ATR(10) * 3.0;
LossPrice = close - ATR(10) * 3.0;
Buy("Long", AtMarket, 10);
}
ExitLong("LossExit", AtStop, LossPrice, "Long", 1);
ExitLong("ProfitExit", AtLimit, ProfitPrice, "Long", 1);
또한 아래의 지표식을 이용하여 확인해보니 위 예스트레이더 전략식에서 발생한 청산신호와도 일치하지 않네요.
if 매수조건 == true Then
{
EntryPrice = close;
ProfitPrice = close + ATR(10) * 3.0;
LossPrice = close - ATR(10) * 3.0;
plot1(close + AvgTrueRange*1.0, "Profit Price");
plot2(close - AvgTrueRange*2.0, "Loss Price");
}
파인스크립트의 청산 신호와 일치하도록 예스랭귀지의 전략식과 ATR지표식 수정 가능할까요.
그리고 예스트레이더의 전략식과 지표식에서 신호가 다르게 나오는 이유에 대해서도
자세한 설명 부탁드립니다.
자동매매를 예스에서 하려고 하니 다소 난해한 요청이라도 양해부탁드립니다.