예스스탁
예스스탁 답변
2022-02-14 13:54:52
안녕하세요
예스스탁입니다.
고점값과 저점값이 꼭지점이 아닌 최종봉의 값이 저장되게 되어 있어 수정했습니다.
input : left(3),right(3),N1(30),N2(40);
input : 익절틱수(20),손절틱수(20);
#고점발생
if SwingHigh(1,h,Left,Right,Left+Right+1) != 1 Then
{
#고점값
var1 = H[right];
#직전에 저점이 발생되어 있고
#고점이 저점대비 30틱 이상이면
#value1에 저점저장
if Var2 > 0 and var1 >= Var2+PriceScale*N1 Then
value1 = Var2;
}
if SwingLow(1,L,Left,Right,Left+Right+1) != 1 Then
{
#저점값
var2 = L[right];
#직전에 고점이 발생되어 있고
#저점이 고점대비 -30틱 이하이면
#value2에 고점저장
if Var1 > 0 and var2 <= Var1-PriceScale*N1 Then
value2 = Var1;
}
#무포지션이거나 매도포지션이고
#value1에 값이 저장되어 있으면 value1에서 40틱 하락하면 매수
if MarketPosition <= 0 and value1 > 0 and L > value1-PriceScale*n2 Then
Buy("b",AtLimit,value1-PriceScale*n2);
#무포지션이거나 매수포지션이고
#value2에 값이 저장되어 있으면 value2에서 40틱 상승하면 매도
if MarketPosition >= 0 and value2 > 0 and H < value2+PriceScale*n2 Then
Sell("s",AtLimit,value2+PriceScale*n2);
즐거운 하루되세요
> 예스요 님이 쓴 글입니다.
> 제목 : 문의 드립니다.~~~~
> 항상 감사합니다~
이해가 안되는 부분이 있어 아래식의
지세한 주석 부탁드립니다.
input : left(3),right(3),N1(30),N2(40);
input : 익절틱수(20),손절틱수(20);
if SwingHigh(1,h,Left,Right,Left+Right+1) != 1 Then
{
var1 = H;
if Var2 > 0 and var1 >= Var2+PriceScale*N1 Then
value1 = Var2;
}
if SwingLow(1,L,Left,Right,Left+Right+1) != 1 Then
{
var2 = L;
if Var1 > 0 and var2 <= Var1-PriceScale*N1 Then
value2 = Var1;
}
if MarketPosition <= 0 and value1 > 0 and L > value1-PriceScale*n2 Then
Buy("b",AtLimit,value1-PriceScale*n2);
if MarketPosition >= 0 and value2 > 0 and H < value2+PriceScale*n2 Then
Sell("s",AtLimit,value2+PriceScale*n2);