답변완료
청산신호가 2번
안녕하세요.
SNP해외선물, 일봉전략을 운용중인데, 청산주문이 2번이 나가서 문의드립니다.
한투 HTS상으로 청산주문이 2개 나간 것을 확인했는데,
예스트레이더상에는 해당전략의 청산주문이 시스템모니터창 하단에 2번 표기가 되는거 같습니다. 왜그런지 모르겠네요.
(일봉차트라 그런지 첫신호는 신호시간이 06:10 으로 표기가 되었고(실제청산은 2시50분경), 06시되면서 장이 마감되고 예스트레이더를 종료하고 7시직전에 다시 실행시켰는데, 07:50분경에 청산주문이 2번째로 발생했는데, 이것의 신호시간은 06:10으로 첫신호와 동일하게 표기가 되네요...)
아래와 같이 수식을 사용하고 있는데,
첫번째 신호는 트레일링스탑이 작동해서 청산신호나온것으로 보이는데, 이는 의도한 바입니다만, 두번째 신호는 왜 또 나온것인지 모르겠습니다.
일봉차트이지만, 실시간으로 가격이 급락하면 트레일링이 작동해서 청산신호나왔는데,
예트 종료후 재시작후에는 마치 매수분을 보유하고 있는것처럼 하고 신호가 또 나온것 같습니다. 이해가 안되어서요
MarketPosition > 0 이후의 괄호밖에 SetStopTrailing(b,a,PercentStop,0)이 있는것이 오류를 일으키는 것인지 모르겠습니다. 조언바랍니다~
-------------------------------------------------------------------------
If MarketPosition == 0 and entry<dc
and C >= Highest(H,22*n1)[1]*(1+BD/100) Then//n1달동안의 최고값을 BD%돌파시 진입
{
Buy("돌파매수",Atmarket);
}
var5 = Highest(H,22*n2); //n2달동안의 최고값 대비 tr%하락이면 청산
IF MarketPosition > 0 Then {
}
SetStopLoss(cut);
SetStopProfitTarget(gain,PercentStop);
SetStopTrailing(b,a,PercentStop,0);
2025-07-24
168
글번호 192720
시스템
답변완료
지표식 질문
키움식 ;
A=BBandsUp( 20 , 2 );
A1=EAVG(C, 20 );
SS1=(highest(high,9)+lowest(low,9)+
highest(high,26)+lowest(low,26))/4;
SS2=(highest(high,52)+lowest(low,52))/2;
M=SS1(25)<=C && SS2(25)<=C &&
(CROSSUP(A,A1) OR (A1*1.03>=A &&
A>=A1 && CROSSUP(C,A)));
N=VALUEWHEN(1,M,L)
지표식좀 부탁합니다 .
2025-07-23
204
글번호 192708
지표
답변완료
예스랭귀지로 사용자함수 작성
안녕하세요.
아래 2개의 파인스크립트 함수 로직 그대로
예스랭귀지에서 myRSI, RMA 사용자 함수를 각각 만들어 사용하고 싶습니다.
예스랭귀지로 사용자함수 부탁드립니다.
//ta.rsi(src,length) same on pine, but less efficient
pine_rsi(x, y) =>
u = math.max(x - x[1], 0) // upward ta.change
d = math.max(x[1] - x, 0) // downward ta.change
rs = ta.rma(u, y) / ta.rma(d, y)
res = 100 - 100 / (1 + rs)
res
//ta.rma(src,length) the same on pine
pine_rma(src, length) =>
alpha = 1/length
sum = 0.0
sum := na(sum[1]) ? ta.sma(src, length) : alpha * src + (1 - alpha) * nz(sum[1])
2025-07-23
184
글번호 192706
지표
답변완료
부탁드립니다...
안녕하세요
예스스탁입니다.
1
for i = B - 10 to B - 1
현재 봉수가 30이면 20 to 29가 됩니다.
첫봉부터 10번째 봉까지이면 해당내용이 맞지만
최근봉 10봉이면 for i = 0 to 9로 지정하시면 됩니다.
종목검색시에 당일봉이 모두 포함되게 봉수를 넉넉히 지정해 주시고
검색하시기 바랍니다.
2
var : AA(False), BB(False), CC(False);
var : T(0), B(0), upperLimit(0), u(0), i(0);
var : VV(0);
var : DD(False), EE(False);
var1 = ma(C, 5);
if sDate != sDate[1] and sTime >= 90000 Then
{
T = 0;
B = 0;
VV = 0;
}
B = B + 1;
AA = DayOpen >= 5000 and DayOpen <= 15000;
BB = DayOpen >= DayClose[1] and DayOpen <= DayClose[1] * 1.1;
CC = sTime >= 90100 and sTime <= 91900;
upperLimit = DayClose[1] * 1.3;
if AA and BB Then
T = 1;
if T == 1 and CC and CrossUp(C, var1) Then
{
T = 2;
}
if T == 2 and C >= DayHigh*0.998 Then
{
VV = 0;
EE = False;
u = 0;
for i = 1 to B - 1
{
VV = VV + V[i];
if (Close[i] / Open[i]) < 0.99 Then //금일분봉상 -1%이하 종목 제외
EE = True;
if close[i] >= upperLimit * 0.95 Then // 상한에 5%이내 근접 제외
u = 1;
}
DD = False;
if B >= 10 Then
{
for i = 0 to 9
{
if (Close[i] / Open[i]) < 0.994 Then //10봉이내 -0.6%이하 종목 제외
DD = True;
}
}
if VV >= 100000 Then
{
T = 3;
}
}
if T == 3 and !EE and !DD and u==0 Then
find(1);
즐거운 하루되세요
문의드립니다...
1.
B = B + 1;
이렇게 하면, 분봉카운트가 1,2,3,4...이렇게 되는거죠?
그럼, B = B + 1; 이걸 제거하면, 분봉카운트가 0,1,2,3...이렇게 되는 건가요?
2.
for i = 1 to B - 1
그러면 만약에,"B = B + 1;"를 제거하면, 저 조건문은 분봉 첫번째0봉은 제외되는 건가요?
3.
if B >= 10 Then
{
for i = 0 to 9
이건 다른내용입니다.
만약에 위 수식에서 검색된 분봉을 제외하고 검색하고 싶으면,
for i = 1 to 10. 이렇게 하면 될까요? 아니면 for i = 10 to B-1. 이건가요?
부탁드립니다...
감사합니다...ㅎ
2025-07-23
184
글번호 192704
종목검색