예스스탁
예스스탁 답변
2022-12-09 13:34:51
안녕하세요
예스스탁입니다.
예수금은 직접 지정해 주셔야 합니다.
랭귀지에 예수금을 리턴하는 함수가 있지만
예수금과 같은 값은 과거데이타가 없고
실시간봉에서만 리턴되고 과거봉에는 값이 없습니다.
다음날로 넘어가면 값이 없어 이전에 발생한 신호를 그대로 발생하지 못합니다.
추가진입을 하는 식이므로
적용시 트레이딩 설정창의 피라미딩탭에서 피라미딩을 모든진입신호로 지정하고
적용하시면 됩니다.
input : 예수금(10000000),x(10);
var : mm(0);
if MarketPosition == 0 and c > highest(H,x)[1] Then
{
Buy("b1",OnClose,Def,Floor(예수금/40/C));
}
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
mm = CurrentContracts*LatestEntryPrice(0);
Buy("b",AtStop,LatestEntryPrice(0)*(1.1+(MaxEntries/100)),Floor((mm*0.95)/C));
}
즐거운 하루되세요
> 루라라라 님이 쓴 글입니다.
> 제목 : 시스템 부탁 드립니다 ㅠ
> 일봉 차트 상에서, 주식 현물 로직을 한번 만들어보고 있는데,
청산식은 완성했는데 진입식에서 모르는게 많아서 도움을 구합니다 ㅠ
​
--------------------------------
​
현재까지 총 진입횟수 = n
ex) 첫 진입하면 n=1, 피라미딩 1회 하면 n=2, 피라미딩 2회하면 n=3
​
​
1.첫 진입: 종가 기준, x일 신고가 달성 시, 종가에 진입.
(첫 진입수량 : 현재 계좌 예수금 / 40 / 종가)
​
2.피라미딩: 현재가 기준, 직전 진입가격*( 1.1 + (n/100) ) 돌파 시
현재가에 바로실행
첫 진입 가격이 100만원 이라고 가정하면,
첫번째 피라미딩은 100*(1.1 + 0.01) = 100 * 1.11 = 111 돌파 시 시행
두번째 피라미딩은 111*(1.1 + 0.02) = 111 * 1.12 = 124 돌파 시 시행​
세번째 피라미딩은 124*(1.1 + 0.03) = 124 * 1.13 = 140 돌파 시 시행
이렇게 쭉 계속 진행
​
3. 피라미딩 수량 : ​
직전 진입 가격 * 직전 진입 수량 = 직전 진입 금액
이번 거래 시 진입 금액 = 직전 거래 진입 금액 * 0.95
이번 거래 시 진입 수량 = ( 직전 거래 진입 금액 * 0.95 ) / 현재가
​
------------------------------
부탁 좀 드리겠습니다 ㅠ
답변 감사드립니다
그런데 혹시
Buy("b",AtStop,LatestEntryPrice(0)*(1.1+(MaxEntries/100)),Floor((mm*0.95)/C));
여기서, Floor((mm*0.95)/C) 로 하면 이전봉의 종가로 수량을 계산하게 되는 것 같은데
진입 시점의 현재가격으로 수량을 계산하게 하려면,
atstop이 실행되는 가격인 1+(MaxEntries/100) 를 C 대신 넣으면 될까요??ㅠ
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 시스템 부탁 드립니다 ㅠ
> 안녕하세요
예스스탁입니다.
예수금은 직접 지정해 주셔야 합니다.
랭귀지에 예수금을 리턴하는 함수가 있지만
예수금과 같은 값은 과거데이타가 없고
실시간봉에서만 리턴되고 과거봉에는 값이 없습니다.
다음날로 넘어가면 값이 없어 이전에 발생한 신호를 그대로 발생하지 못합니다.
추가진입을 하는 식이므로
적용시 트레이딩 설정창의 피라미딩탭에서 피라미딩을 모든진입신호로 지정하고
적용하시면 됩니다.
input : 예수금(10000000),x(10);
var : mm(0);
if MarketPosition == 0 and c > highest(H,x)[1] Then
{
Buy("b1",OnClose,Def,Floor(예수금/40/C));
}
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
mm = CurrentContracts*LatestEntryPrice(0);
Buy("b",AtStop,LatestEntryPrice(0)*(1.1+(MaxEntries/100)),Floor((mm*0.95)/C));
}
즐거운 하루되세요
> 루라라라 님이 쓴 글입니다.
> 제목 : 시스템 부탁 드립니다 ㅠ
> 일봉 차트 상에서, 주식 현물 로직을 한번 만들어보고 있는데,
청산식은 완성했는데 진입식에서 모르는게 많아서 도움을 구합니다 ㅠ
​
--------------------------------
​
현재까지 총 진입횟수 = n
ex) 첫 진입하면 n=1, 피라미딩 1회 하면 n=2, 피라미딩 2회하면 n=3
​
​
1.첫 진입: 종가 기준, x일 신고가 달성 시, 종가에 진입.
(첫 진입수량 : 현재 계좌 예수금 / 40 / 종가)
​
2.피라미딩: 현재가 기준, 직전 진입가격*( 1.1 + (n/100) ) 돌파 시
현재가에 바로실행
첫 진입 가격이 100만원 이라고 가정하면,
첫번째 피라미딩은 100*(1.1 + 0.01) = 100 * 1.11 = 111 돌파 시 시행
두번째 피라미딩은 111*(1.1 + 0.02) = 111 * 1.12 = 124 돌파 시 시행​
세번째 피라미딩은 124*(1.1 + 0.03) = 124 * 1.13 = 140 돌파 시 시행
이렇게 쭉 계속 진행
​
3. 피라미딩 수량 : ​
직전 진입 가격 * 직전 진입 수량 = 직전 진입 금액
이번 거래 시 진입 금액 = 직전 거래 진입 금액 * 0.95
이번 거래 시 진입 수량 = ( 직전 거래 진입 금액 * 0.95 ) / 현재가
​
------------------------------
부탁 좀 드리겠습니다 ㅠ
예스스탁
예스스탁 답변
2022-12-09 14:30:00
안녕하세요
예스스탁입니다.
해당 부분 수정해 드립니다.
시가가 지정한 값보다 크게 발생하면 시가에 진입을 하므로
시가와 직전 진입가격*(1.1+(MaxEntries/100)) 중 큰값으로 지정하시면 됩니다.
input : 예수금(10000000),x(10);
var : mm(0);
if MarketPosition == 0 and c > highest(H,x)[1] Then
{
Buy("b1",OnClose,Def,Floor(예수금/40/C));
}
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
mm = CurrentContracts*LatestEntryPrice(0);
Buy("b",AtStop,LatestEntryPrice(0)*(1.1+(MaxEntries/100)),Floor((mm*0.95)/max(NextBarOpen,LatestEntryPrice(0)*(1.1+(MaxEntries/100)))));
}
즐거운 하루되세요
> 루라라라 님이 쓴 글입니다.
> 제목 : Re : Re : 시스템 부탁 드립니다 ㅠ
> 답변 감사드립니다
그런데 혹시
Buy("b",AtStop,LatestEntryPrice(0)*(1.1+(MaxEntries/100)),Floor((mm*0.95)/C));
여기서, Floor((mm*0.95)/C) 로 하면 이전봉의 종가로 수량을 계산하게 되는 것 같은데
진입 시점의 현재가격으로 수량을 계산하게 하려면,
atstop이 실행되는 가격인 1+(MaxEntries/100) 를 C 대신 넣으면 될까요??ㅠ
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 시스템 부탁 드립니다 ㅠ
> 안녕하세요
예스스탁입니다.
예수금은 직접 지정해 주셔야 합니다.
랭귀지에 예수금을 리턴하는 함수가 있지만
예수금과 같은 값은 과거데이타가 없고
실시간봉에서만 리턴되고 과거봉에는 값이 없습니다.
다음날로 넘어가면 값이 없어 이전에 발생한 신호를 그대로 발생하지 못합니다.
추가진입을 하는 식이므로
적용시 트레이딩 설정창의 피라미딩탭에서 피라미딩을 모든진입신호로 지정하고
적용하시면 됩니다.
input : 예수금(10000000),x(10);
var : mm(0);
if MarketPosition == 0 and c > highest(H,x)[1] Then
{
Buy("b1",OnClose,Def,Floor(예수금/40/C));
}
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
mm = CurrentContracts*LatestEntryPrice(0);
Buy("b",AtStop,LatestEntryPrice(0)*(1.1+(MaxEntries/100)),Floor((mm*0.95)/C));
}
즐거운 하루되세요
> 루라라라 님이 쓴 글입니다.
> 제목 : 시스템 부탁 드립니다 ㅠ
> 일봉 차트 상에서, 주식 현물 로직을 한번 만들어보고 있는데,
청산식은 완성했는데 진입식에서 모르는게 많아서 도움을 구합니다 ㅠ
​
--------------------------------
​
현재까지 총 진입횟수 = n
ex) 첫 진입하면 n=1, 피라미딩 1회 하면 n=2, 피라미딩 2회하면 n=3
​
​
1.첫 진입: 종가 기준, x일 신고가 달성 시, 종가에 진입.
(첫 진입수량 : 현재 계좌 예수금 / 40 / 종가)
​
2.피라미딩: 현재가 기준, 직전 진입가격*( 1.1 + (n/100) ) 돌파 시
현재가에 바로실행
첫 진입 가격이 100만원 이라고 가정하면,
첫번째 피라미딩은 100*(1.1 + 0.01) = 100 * 1.11 = 111 돌파 시 시행
두번째 피라미딩은 111*(1.1 + 0.02) = 111 * 1.12 = 124 돌파 시 시행​
세번째 피라미딩은 124*(1.1 + 0.03) = 124 * 1.13 = 140 돌파 시 시행
이렇게 쭉 계속 진행
​
3. 피라미딩 수량 : ​
직전 진입 가격 * 직전 진입 수량 = 직전 진입 금액
이번 거래 시 진입 금액 = 직전 거래 진입 금액 * 0.95
이번 거래 시 진입 수량 = ( 직전 거래 진입 금액 * 0.95 ) / 현재가
​
------------------------------
부탁 좀 드리겠습니다 ㅠ