커뮤니티
질문드립니다.
2017-12-27 15:03:30
156
글번호 115299
수고하십니다. (__)
도움이 필요한 부분은 // <--- 으로 시작하는 부분입니다.
다른부분도 오류가 없는지 검토해 주시길 부탁드립니다.
전체적으로 한 종목 최대 매수(보유) 금액을 종목 최대금액을 넘지 않고,
스토캐스틱 매수, 매도 기간을 달리해서 매매를 하려고합니다.
Input : 종목최대금액(1000000), 박스상(10000), 박스하(5000),
stoBuy1(10), stoBuy2(5), stoBuy3(5),
stoSell1(8), stoSell2(4), stoSell3(4);
Var : 현보유율(0), 매수가능잔액율(0), 현재가율(0), 추세율(0), 매수수량(0), 매도수량(0),
stoBuyVarK(0), stoBuyVarD(0), stoSellVarK(0), stoSellVarD(0);
// 보유수량에 해당되는 예약어가 뭔지 궁금합니다. 해당종목의 보유액을 구하기 위함입니다.
현보유율 = (AvgEntryPrice * ???현재종목의보유수량) / 종목최대금액;
매수가능잔액율 = 1 - 현보유율;
매수가능잔액율 = IFF(매수가능잔액율 > 0, IFF(매수가능잔액율 > 1, 1, 매수가능잔액율), 0);
현재가율 = (C - 박스하) / (박스상 - 박스하);
현재가율 = IFF(현재가율 > 0, IFF(현재가율 > 1, 1, 현재가율), 0);
### 매수 비중
// 가장최근 매매가 매도1회면 추세율에 0.1
// 가장최근 매매가 매도2회면 추세율에 0.2
// 가장최근 매매가 매도3회면 추세율에 0.2
// 가장최근 매매가 매수1회면 추세율에 0.1
// 가장최근 매매가 매수2회면 추세율 0.2
// 가장최근 매매가 매수3회면 추세율 0.3 를 넣고자 합니다.
#추세율 = ?????
매수수량 = Floor(종목최대금액 * 잔여율 * 현재가율 * 추세율 / C);
### 매도 비중
매도수량 = Floor(종목최대금액 * 잔여율 * 현재가율 * 추세율 / C);
### 스토캐스틱
stoBuyVarK = StochasticsK(stoBuy1,stoBuy2);
stoBuyVarD = StochasticsD(stoBuy1,stoBuy2,stoBuy3);
stoSellVarK = StochasticsK(stoSell1,stoSell2);
stoSellVarD = StochasticsD(stoSell1,stoSell2,stoSell3);
### 매수
if crossup(stoBuyVarK,stoBuyVarD)
Then
// 한틱 아래 매수방법이 궁금합니다.
buy("b", ????한틱아래매수, def, 매수수량);
### 매도
// 평균가는 세금계산 적용이 안된것 맞죠? 세금0.3%를 적용해서 평균매수가 보다 높을때 매도 발생하려고합니다.
if CrossDown(stoSellVarK,stoSellVarD)
And C > (AvgEntryPrice*1.003)
Then
sell("s", onClose, def, 매도수량);
답변 1
예스스탁 예스스탁 답변
2017-12-28 09:30:59
안녕하세요
예스스탁입니다.
1
예스랭귀지는 차트에 적용되고 차트의 봉데이터로 조건을 지정합니다.
보유수량등도 모두 신호상 수량으로만 인지 됩니다.
현재 신호상 보유수량은 CurrentContracts입니다.
3
포지션 함수에 수수료등이 자동으로 포함되지는 않습니다.
시스템 트레이딩 설정창의 비용/수량탭에서
사용자분이 수수료로 슬리피지등을 일정분 지정해서
손익해 포함하실수 있습니다.
다만 올리신 식은 평단가와 비교하는 부분이므로 작성하신 것과 같이
일정분 지정하셔야 합니다.
2
sell은 매도포지션 진입함수입니다
주식종목에 적용되고 분할로 청산되는 내용이면
exitlong함수를 이용하셔야 합니다.
3
수식내 잔여율은 선언된 내용이 없어 그대로 두었습니다.
4
Input : 종목최대금액(1000000), 박스상(10000), 박스하(5000),
stoBuy1(10), stoBuy2(5), stoBuy3(5),
stoSell1(8), stoSell2(4), stoSell3(4);
Var : 현보유율(0), 매수가능잔액율(0), 현재가율(0), 추세율(0), 매수수량(0), 매도수량(0),
stoBuyVarK(0), stoBuyVarD(0), stoSellVarK(0), stoSellVarD(0);
var : T(0);
// 보유수량에 해당되는 예약어가 뭔지 궁금합니다. 해당종목의 보유액을 구하기 위함입니다.
현보유율 = (AvgEntryPrice * CurrentContracts) / 종목최대금액;
매수가능잔액율 = 1 - 현보유율;
매수가능잔액율 = IFF(매수가능잔액율 > 0, IFF(매수가능잔액율 > 1, 1, 매수가능잔액율), 0);
현재가율 = (C - 박스하) / (박스상 - 박스하);
현재가율 = IFF(현재가율 > 0, IFF(현재가율 > 1, 1, 현재가율), 0);
### 매수 비중
// 가장최근 매매가 매도1회면 추세율에 0.1
// 가장최근 매매가 매도2회면 추세율에 0.2
// 가장최근 매매가 매도3회면 추세율에 0.2
// 가장최근 매매가 매수1회면 추세율에 0.1
// 가장최근 매매가 매수2회면 추세율 0.2
// 가장최근 매매가 매수3회면 추세율 0.3 를 넣고자 합니다.
#추세율 = ?????
if CurrentContracts > CurrentContracts[1] Then{
T = 1;
var1 = var1+1;
var2 = 0;
if var1 == 1 Then
추세율 = 0.1;
if var1 == 2 Then
추세율 = 0.2;
if var1 >= 3 Then
추세율 = 0.3;
}
if CurrentContracts < CurrentContracts[1] Then{
T = -1;
var2 = var2+1;
var1 = 0;
if var2 == 1 Then
추세율 = 0.1;
if var2 >= 2 Then
추세율 = 0.2;
}
매수수량 = Floor(종목최대금액 * 잔여율 * 현재가율 * 추세율 / C);
### 매도 비중
매도수량 = Floor(종목최대금액 * 잔여율 * 현재가율 * 추세율 / C);
### 스토캐스틱
stoBuyVarK = StochasticsK(stoBuy1,stoBuy2);
stoBuyVarD = StochasticsD(stoBuy1,stoBuy2,stoBuy3);
stoSellVarK = StochasticsK(stoSell1,stoSell2);
stoSellVarD = StochasticsD(stoSell1,stoSell2,stoSell3);
### 매수
if crossup(stoBuyVarK,stoBuyVarD)
Then
// 한틱 아래 매수방법이 궁금합니다.
buy("b",atlimit,C-PriceScale*1, 매수수량);
### 매도
// 평균가는 세금계산 적용이 안된것 맞죠? 세금0.3%를 적용해서 평균매수가 보다 높을때 매도 발생하려고합니다.
if CrossDown(stoSellVarK,stoSellVarD)
And C > (AvgEntryPrice*1.003)
Then
ExitLong("s", onClose, def,"",매도수량,2);
즐거운 하루되세요
> 모루 님이 쓴 글입니다.
> 제목 : 질문드립니다.
> 수고하십니다. (__)
도움이 필요한 부분은 // <--- 으로 시작하는 부분입니다.
다른부분도 오류가 없는지 검토해 주시길 부탁드립니다.
전체적으로 한 종목 최대 매수(보유) 금액을 종목 최대금액을 넘지 않고,
스토캐스틱 매수, 매도 기간을 달리해서 매매를 하려고합니다.
Input : 종목최대금액(1000000), 박스상(10000), 박스하(5000),
stoBuy1(10), stoBuy2(5), stoBuy3(5),
stoSell1(8), stoSell2(4), stoSell3(4);
Var : 현보유율(0), 매수가능잔액율(0), 현재가율(0), 추세율(0), 매수수량(0), 매도수량(0),
stoBuyVarK(0), stoBuyVarD(0), stoSellVarK(0), stoSellVarD(0);
// 보유수량에 해당되는 예약어가 뭔지 궁금합니다. 해당종목의 보유액을 구하기 위함입니다.
현보유율 = (AvgEntryPrice * ???현재종목의보유수량) / 종목최대금액;
매수가능잔액율 = 1 - 현보유율;
매수가능잔액율 = IFF(매수가능잔액율 > 0, IFF(매수가능잔액율 > 1, 1, 매수가능잔액율), 0);
현재가율 = (C - 박스하) / (박스상 - 박스하);
현재가율 = IFF(현재가율 > 0, IFF(현재가율 > 1, 1, 현재가율), 0);
### 매수 비중
// 가장최근 매매가 매도1회면 추세율에 0.1
// 가장최근 매매가 매도2회면 추세율에 0.2
// 가장최근 매매가 매도3회면 추세율에 0.2
// 가장최근 매매가 매수1회면 추세율에 0.1
// 가장최근 매매가 매수2회면 추세율 0.2
// 가장최근 매매가 매수3회면 추세율 0.3 를 넣고자 합니다.
#추세율 = ?????
매수수량 = Floor(종목최대금액 * 잔여율 * 현재가율 * 추세율 / C);
### 매도 비중
매도수량 = Floor(종목최대금액 * 잔여율 * 현재가율 * 추세율 / C);
### 스토캐스틱
stoBuyVarK = StochasticsK(stoBuy1,stoBuy2);
stoBuyVarD = StochasticsD(stoBuy1,stoBuy2,stoBuy3);
stoSellVarK = StochasticsK(stoSell1,stoSell2);
stoSellVarD = StochasticsD(stoSell1,stoSell2,stoSell3);
### 매수
if crossup(stoBuyVarK,stoBuyVarD)
Then
// 한틱 아래 매수방법이 궁금합니다.
buy("b", ????한틱아래매수, def, 매수수량);
### 매도
// 평균가는 세금계산 적용이 안된것 맞죠? 세금0.3%를 적용해서 평균매수가 보다 높을때 매도 발생하려고합니다.
if CrossDown(stoSellVarK,stoSellVarD)
And C > (AvgEntryPrice*1.003)
Then
sell("s", onClose, def, 매도수량);