예스스탁
예스스탁 답변
2021-11-11 14:33:09
안녕하세요
예스스탁입니다.
1
Floor(투자금액)
작성하신 수식에서 매수함수에 지정한 수량이 문제가 됩니다.
투자금액이 10,000,000으로 해당식에 의하면 수량이 10,000,000주 입니다.
Floor(투자금액/가격)과 같이 작성해서 수량을 계산하셔야 합니다.
2
가격이 지정한 가격위에 있다가 내려오면서 진입을 해야 하는데
지정하신 매수조건은 단지 지정한 가격이하이기만 하면 매수하는 식입니다.
매수618의 가격은 5,090원인데
가격이 1000원이나 2000원일때도 매수가 되게 됩니다.
3
손절382 = 저점+(고점-저점)*382;
손절382의 가격이 너무 큰 숫자입니다.
아래와 같이 변경해 드립니다.
손절382 = 저점+(고점-저점)*0.382;
4
수정한 식입니다.
추가진입을 하는 수식이므로 설정창의 피라미딩탭에서
피라미딩을 다른진입신호만 허용으로 설정하고 적용하시면 됩니다.
input : 고점(7000),저점(2000);
input : 투자금액(10000000);
var : entry(False),매수786(0),매수618(0),매수5(0),손절382(0),타점익절1(0),타점익절2(0);
매수786 = 저점+(고점-저점)*0.786;
매수618 = 저점+(고점-저점)*0.618;
매수5 = 저점+(고점-저점)*0.5;
손절382 = 저점+(고점-저점)*0.382;
타점익절1 = 매수618+(매수786-매수618)*0.66;
타점익절2 = 매수5+(매수618-매수5)*0.66;
if Bdate != Bdate[1] Then
entry = true;
if TotalTrades > TotalTrades[1] Then
entry = False;
if MarketPosition == 0 and entry == true and L > 매수618 Then
{
Buy("618매수",AtLimit,매수618,Floor(투자금액/C));
}
if MarketPosition == 1 and MaxEntries == 1 and IsEntryName("618매수") == true Then
{
Buy("5매수",AtLimit,매수5,Floor(투자금액/C));
}
if MarketPosition == 1 Then
{
if MaxEntries == 1 Then
{
ExitLong("1타점익절",AtLimit,타점익절1);
}
if MaxEntries == 2 Then
{
ExitLong("2타점익절",AtLimit,타점익절2);
}
ExitLong("382손절",AtStop,손절382);
}
즐거운 하루되세요
> 맴맴잉 님이 쓴 글입니다.
> 제목 : 시스템식 문의 드립니다.
> 해당 식을 작성이후에 시뮬레이션을 돌려봤는데. 적용이 안되는 이유가
무엇인지 확인하고 싶습니다.
위 그림대로 고점 과 저점 라인을 정확히 변수로 넣었지만. 매수가 안됩니다.
그리고, 보시면 고점을 기준을 주가가 아래로 하락하다가 해당타점에서 매수를
해야 하는데, 매수는 커녕 아무런 반응이 없네요..ㅜ.ㅜ
마지막으로 하나 궁금한점은. 아래의 식을 사용하면,
제가 고점이라고 변수로 금액을 입력하게 되면, 해당 봉 이후에, 타점이 와서 매수가
되는지 궁금하네요..
제가 생각하는 매수 시점이 입력된 고점(그 봉 이후에) 주가가 하락하다가
작성 타점에서 매수하는것을 생각하면서 만든 식인데 제대로 작성하는지도 궁금합니다.
확인을 부탁드립니다.
해당 시스템식은 아래와 같습니다.
------------------------------------------------------------------
input : 고점(7000),저점(2000);
input : 투자금액(10000000);
var : entry(False),매수786(0),매수618(0),매수5(0),손절382(0),타점익절1(0),타점익절2(0);
매수786 = 저점+(고점-저점)*0.786;
매수618 = 저점+(고점-저점)*0.618;
매수5 = 저점+(고점-저점)*0.5;
손절382 = 저점+(고점-저점)*382;
타점익절1 = 매수618+(매수786-매수618)*0.66;
타점익절2 = 매수5+(매수618-매수5)*0.66;
if Bdate != Bdate[1] Then
entry = true;
if TotalTrades > TotalTrades[1] Then
entry = False;
if MarketPosition == 0 and entry == true Then
{
Buy("618매수",AtLimit,매수618,Floor(투자금액));
}
if MarketPosition == 1 and MaxEntries == 1 and IsEntryName("618매수") == true Then
{
Buy("5매수",AtLimit,매수5,Floor(투자금액));
}
if MarketPosition == 1 Then
{
if MaxEntries == 1 Then
{
ExitLong("1타점익절",AtLimit,타점익절1);
}
if MaxEntries == 2 Then
{
ExitLong("2타점익절",AtLimit,타점익절2);
}
ExitLong("382손절",AtStop,손절382);
}
-----------------------------------------------------------------------
답변 감사합니다.
그런데.. 한가지 수정이 안된부분이 있어 재요청 드립니다....
제가 생각하는 수식에서는 maxentries ==2 면 추매했다고 생각한건데..
위 그림에서 보시다 시피.. 2차 추매까지 나갔으면 타점익절2에서
매도가 되어야 하는데,. 신기하게 타점익절1에서 매도가 되었습니다..
확인좀 부탁드립니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 시스템식 문의 드립니다.
>
안녕하세요
예스스탁입니다.
1
Floor(투자금액)
작성하신 수식에서 매수함수에 지정한 수량이 문제가 됩니다.
투자금액이 10,000,000으로 해당식에 의하면 수량이 10,000,000주 입니다.
Floor(투자금액/가격)과 같이 작성해서 수량을 계산하셔야 합니다.
2
가격이 지정한 가격위에 있다가 내려오면서 진입을 해야 하는데
지정하신 매수조건은 단지 지정한 가격이하이기만 하면 매수하는 식입니다.
매수618의 가격은 5,090원인데
가격이 1000원이나 2000원일때도 매수가 되게 됩니다.
3
손절382 = 저점+(고점-저점)*382;
손절382의 가격이 너무 큰 숫자입니다.
아래와 같이 변경해 드립니다.
손절382 = 저점+(고점-저점)*0.382;
4
수정한 식입니다.
추가진입을 하는 수식이므로 설정창의 피라미딩탭에서
피라미딩을 다른진입신호만 허용으로 설정하고 적용하시면 됩니다.
input : 고점(7000),저점(2000);
input : 투자금액(10000000);
var : entry(False),매수786(0),매수618(0),매수5(0),손절382(0),타점익절1(0),타점익절2(0);
매수786 = 저점+(고점-저점)*0.786;
매수618 = 저점+(고점-저점)*0.618;
매수5 = 저점+(고점-저점)*0.5;
손절382 = 저점+(고점-저점)*0.382;
타점익절1 = 매수618+(매수786-매수618)*0.66;
타점익절2 = 매수5+(매수618-매수5)*0.66;
if Bdate != Bdate[1] Then
entry = true;
if TotalTrades > TotalTrades[1] Then
entry = False;
if MarketPosition == 0 and entry == true and L > 매수618 Then
{
Buy("618매수",AtLimit,매수618,Floor(투자금액/C));
}
if MarketPosition == 1 and MaxEntries == 1 and IsEntryName("618매수") == true Then
{
Buy("5매수",AtLimit,매수5,Floor(투자금액/C));
}
if MarketPosition == 1 Then
{
if MaxEntries == 1 Then
{
ExitLong("1타점익절",AtLimit,타점익절1);
}
if MaxEntries == 2 Then
{
ExitLong("2타점익절",AtLimit,타점익절2);
}
ExitLong("382손절",AtStop,손절382);
}
즐거운 하루되세요
> 맴맴잉 님이 쓴 글입니다.
> 제목 : 시스템식 문의 드립니다.
> 해당 식을 작성이후에 시뮬레이션을 돌려봤는데. 적용이 안되는 이유가
무엇인지 확인하고 싶습니다.
위 그림대로 고점 과 저점 라인을 정확히 변수로 넣었지만. 매수가 안됩니다.
그리고, 보시면 고점을 기준을 주가가 아래로 하락하다가 해당타점에서 매수를
해야 하는데, 매수는 커녕 아무런 반응이 없네요..ㅜ.ㅜ
마지막으로 하나 궁금한점은. 아래의 식을 사용하면,
제가 고점이라고 변수로 금액을 입력하게 되면, 해당 봉 이후에, 타점이 와서 매수가
되는지 궁금하네요..
제가 생각하는 매수 시점이 입력된 고점(그 봉 이후에) 주가가 하락하다가
작성 타점에서 매수하는것을 생각하면서 만든 식인데 제대로 작성하는지도 궁금합니다.
확인을 부탁드립니다.
해당 시스템식은 아래와 같습니다.
------------------------------------------------------------------
input : 고점(7000),저점(2000);
input : 투자금액(10000000);
var : entry(False),매수786(0),매수618(0),매수5(0),손절382(0),타점익절1(0),타점익절2(0);
매수786 = 저점+(고점-저점)*0.786;
매수618 = 저점+(고점-저점)*0.618;
매수5 = 저점+(고점-저점)*0.5;
손절382 = 저점+(고점-저점)*382;
타점익절1 = 매수618+(매수786-매수618)*0.66;
타점익절2 = 매수5+(매수618-매수5)*0.66;
if Bdate != Bdate[1] Then
entry = true;
if TotalTrades > TotalTrades[1] Then
entry = False;
if MarketPosition == 0 and entry == true Then
{
Buy("618매수",AtLimit,매수618,Floor(투자금액));
}
if MarketPosition == 1 and MaxEntries == 1 and IsEntryName("618매수") == true Then
{
Buy("5매수",AtLimit,매수5,Floor(투자금액));
}
if MarketPosition == 1 Then
{
if MaxEntries == 1 Then
{
ExitLong("1타점익절",AtLimit,타점익절1);
}
if MaxEntries == 2 Then
{
ExitLong("2타점익절",AtLimit,타점익절2);
}
ExitLong("382손절",AtStop,손절382);
}
-----------------------------------------------------------------------
예스스탁
예스스탁 답변
2021-11-11 15:53:36
안녕하세요
예스스탁입니다.
랭귀지는 봉완성시 기준으로 값을 사용할수 있습니다.
하나의 봉의 미완성시에 진입이 여러번된것을 해당봉 미완성시에 알수가 없습니다.
해당부분은 수식으로 해결이 가능하지 않고
구사하시는 전략내용이 지정한가격을 터치하면 진입하는 내용이므로
일봉이 아닌 분봉에 적용해서 구동되게 하셔야 합니다.
즐거운 하루되세요
> 맴맴잉 님이 쓴 글입니다.
> 제목 : Re : Re : 시스템식 문의 드립니다.
> 답변 감사합니다.
그런데.. 한가지 수정이 안된부분이 있어 재요청 드립니다....
제가 생각하는 수식에서는 maxentries ==2 면 추매했다고 생각한건데..
위 그림에서 보시다 시피.. 2차 추매까지 나갔으면 타점익절2에서
매도가 되어야 하는데,. 신기하게 타점익절1에서 매도가 되었습니다..
확인좀 부탁드립니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 시스템식 문의 드립니다.
>
안녕하세요
예스스탁입니다.
1
Floor(투자금액)
작성하신 수식에서 매수함수에 지정한 수량이 문제가 됩니다.
투자금액이 10,000,000으로 해당식에 의하면 수량이 10,000,000주 입니다.
Floor(투자금액/가격)과 같이 작성해서 수량을 계산하셔야 합니다.
2
가격이 지정한 가격위에 있다가 내려오면서 진입을 해야 하는데
지정하신 매수조건은 단지 지정한 가격이하이기만 하면 매수하는 식입니다.
매수618의 가격은 5,090원인데
가격이 1000원이나 2000원일때도 매수가 되게 됩니다.
3
손절382 = 저점+(고점-저점)*382;
손절382의 가격이 너무 큰 숫자입니다.
아래와 같이 변경해 드립니다.
손절382 = 저점+(고점-저점)*0.382;
4
수정한 식입니다.
추가진입을 하는 수식이므로 설정창의 피라미딩탭에서
피라미딩을 다른진입신호만 허용으로 설정하고 적용하시면 됩니다.
input : 고점(7000),저점(2000);
input : 투자금액(10000000);
var : entry(False),매수786(0),매수618(0),매수5(0),손절382(0),타점익절1(0),타점익절2(0);
매수786 = 저점+(고점-저점)*0.786;
매수618 = 저점+(고점-저점)*0.618;
매수5 = 저점+(고점-저점)*0.5;
손절382 = 저점+(고점-저점)*0.382;
타점익절1 = 매수618+(매수786-매수618)*0.66;
타점익절2 = 매수5+(매수618-매수5)*0.66;
if Bdate != Bdate[1] Then
entry = true;
if TotalTrades > TotalTrades[1] Then
entry = False;
if MarketPosition == 0 and entry == true and L > 매수618 Then
{
Buy("618매수",AtLimit,매수618,Floor(투자금액/C));
}
if MarketPosition == 1 and MaxEntries == 1 and IsEntryName("618매수") == true Then
{
Buy("5매수",AtLimit,매수5,Floor(투자금액/C));
}
if MarketPosition == 1 Then
{
if MaxEntries == 1 Then
{
ExitLong("1타점익절",AtLimit,타점익절1);
}
if MaxEntries == 2 Then
{
ExitLong("2타점익절",AtLimit,타점익절2);
}
ExitLong("382손절",AtStop,손절382);
}
즐거운 하루되세요
> 맴맴잉 님이 쓴 글입니다.
> 제목 : 시스템식 문의 드립니다.
> 해당 식을 작성이후에 시뮬레이션을 돌려봤는데. 적용이 안되는 이유가
무엇인지 확인하고 싶습니다.
위 그림대로 고점 과 저점 라인을 정확히 변수로 넣었지만. 매수가 안됩니다.
그리고, 보시면 고점을 기준을 주가가 아래로 하락하다가 해당타점에서 매수를
해야 하는데, 매수는 커녕 아무런 반응이 없네요..ㅜ.ㅜ
마지막으로 하나 궁금한점은. 아래의 식을 사용하면,
제가 고점이라고 변수로 금액을 입력하게 되면, 해당 봉 이후에, 타점이 와서 매수가
되는지 궁금하네요..
제가 생각하는 매수 시점이 입력된 고점(그 봉 이후에) 주가가 하락하다가
작성 타점에서 매수하는것을 생각하면서 만든 식인데 제대로 작성하는지도 궁금합니다.
확인을 부탁드립니다.
해당 시스템식은 아래와 같습니다.
------------------------------------------------------------------
input : 고점(7000),저점(2000);
input : 투자금액(10000000);
var : entry(False),매수786(0),매수618(0),매수5(0),손절382(0),타점익절1(0),타점익절2(0);
매수786 = 저점+(고점-저점)*0.786;
매수618 = 저점+(고점-저점)*0.618;
매수5 = 저점+(고점-저점)*0.5;
손절382 = 저점+(고점-저점)*382;
타점익절1 = 매수618+(매수786-매수618)*0.66;
타점익절2 = 매수5+(매수618-매수5)*0.66;
if Bdate != Bdate[1] Then
entry = true;
if TotalTrades > TotalTrades[1] Then
entry = False;
if MarketPosition == 0 and entry == true Then
{
Buy("618매수",AtLimit,매수618,Floor(투자금액));
}
if MarketPosition == 1 and MaxEntries == 1 and IsEntryName("618매수") == true Then
{
Buy("5매수",AtLimit,매수5,Floor(투자금액));
}
if MarketPosition == 1 Then
{
if MaxEntries == 1 Then
{
ExitLong("1타점익절",AtLimit,타점익절1);
}
if MaxEntries == 2 Then
{
ExitLong("2타점익절",AtLimit,타점익절2);
}
ExitLong("382손절",AtStop,손절382);
}
-----------------------------------------------------------------------