커뮤니티
문의드립니다.
2013-11-18 18:12:13
172
글번호 69581
1.주식 매수주문 발생시 주식과 현금의 비율이 7 : 3을 넘지 않도록 설정.
매수주문 발생시 현재 계좌의 주식 보유비율이 70% 이상이면 매수금지
단, 특정 변수 값이 1초과이면 매수가능
2.ㄱ.주식매입자금을 특정변수 값의 수치가 1 이면 50만원 , 2일경우 100만원 ,3일경우 150만원 이런식으로 1의 배수로 설정.
주식매입자금을 외부변수로 저장하여 1회투자시 얼마씩 투자할 것인가 설정.
ㄴ.주식매도시 A. 2 - 현재변수값 , 2를 남기고 나머지를 처분
B. 현재변수값 - 4 , 현재변수값에서 4를 처분
모든 매매식에 공통 적용
ㄷ.2를 전봉의 고가에 매도시 수수료포함 이익금이 얼마나 되는지 저장=>계좌평가금이 얼마나 늘어나는지 저장
2 - 현재변수값 2를 남기고 나머지를 전봉의 고가에 매도시 수수료 포함 이익금이 얼마나 되는지 저장=>계좌평가금이 얼마나 늘어나는지를 변수에 저장하는 식
3.매수주문 발생 후 매수 할 당시의 계좌평가금에서 손절할 경우 감소한 계좌평가금 손실액 저장.
예로 ㄱ.매수시 현재 계좌 평가금 100만원 손절시 수수료포함 현재 계좌평가금 90만원
손실액 -10만원
ㄴ.다시 손절 매수시 계좌 평가금 평가금 90만원 손절시 수수료 포함 현재 계좌평가금 80만원경우 손실액-10만원
현재 종목 누적 손실액 -20만원 저장
누적손실액 이상의 이익매도 발생시 누적손실액은 계속 0으로 저장 누적이익금은 존재하지 않음.
주의점으로는 여러종목 분산투자시 계좌평가금으로 인한 오류가능성 현 1종목의 연속 누적손절매손실액에 한함.
4.손절 매 주문 발생시 마다 손절매횟수를 체크 하고 싶습니다.
손절매가 연속 발생시 누적 횟수 카운트 , 이익매도 발생시 누적 횟수 카운트 0
답변 2
예스스탁 예스스탁 답변
2013-11-19 14:29:52
안녕하세요
예스스탁입니다.
2.
input : 기초매입자금(500000);
var : AA(0),투입금액(0),EntryVol(0),rate(0),Exitvol1(0);
AA = 변수값;
투입금액 = 기초매입자금*AA;
#kospi
if CodeCategory == 1 Then{
if BasePrice < 50000 Then #기준가 5만원 미만
EntryVol = int(int(투입금액/C)/10)*10;
Else #5만원 이상
EntryVol = int(투입금액/C);
}
#kosdoq
if CodeCategory == 2 Then
EntryVol = int(투입금액/C);
if MarketPosition == 0 and 매주조건 Then
buy("B",OnClose,def,EntryVol);
if MarketPosition == 1 Then{
if CurrentContracts == MaxContracts and 청산조건 Then{
rate = (AA-1)/AA;#1을 남긴 비율
if CodeCategory == 1 Then{
if BasePrice < 50000 Then
Exitvol1 = int(int(MaxContracts*rate)/10)*10;
Else
Exitvol1 = int(MaxContracts*rate);
}
if CodeCategory == 2 Then
Exitvol1 = int(MaxContracts*rate);
}
ExitLong("bx",OnClose,def,"",Exitvol1,1);
}
3.
#날짜 변경되면 0으로 초기화
if date != date[1] Then
var1 = 0;
#손절청산후 손실누적
if BarsSinceExit(1) == 1 and IsExitName("StopLoss",1) == true Then
var1 = var1+PositionProfit(1);
#청산시 손익이 손실누적보다 크면 0으로 초기화
if BarsSinceExit(1) == 1 and PositionProfit(1) >= abs(var1) Then
var1 = 0;
4.
var : cnt(0),loss(0),Profit(0);
loss = 0;
Profit = 0;
for cnt = 0 to 20{
if ExitDate(cnt) == sdate and IsExitName("StopLoss",cnt) == true Then
loss = loss+1;
if ExitDate(cnt) == sdate and IsExitName("StopProfittarget ",cnt) == true Then
Profit = Profit+1;
}
즐거운 하루되세요
> 아싸가오리 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 1.주식 매수주문 발생시 주식과 현금의 비율이 7 : 3을 넘지 않도록 설정.
매수주문 발생시 현재 계좌의 주식 보유비율이 70% 이상이면 매수금지
단, 특정 변수 값이 1초과이면 매수가능
2.ㄱ.주식매입자금을 특정변수 값의 수치가 1 이면 50만원 , 2일경우 100만원 ,3일경우 150만원 이런식으로 1의 배수로 설정.
주식매입자금을 외부변수로 저장하여 1회투자시 얼마씩 투자할 것인가 설정.
ㄴ.주식매도시 A. 2 - 현재변수값 , 2를 남기고 나머지를 처분
B. 현재변수값 - 4 , 현재변수값에서 4를 처분
모든 매매식에 공통 적용
ㄷ.2를 전봉의 고가에 매도시 수수료포함 이익금이 얼마나 되는지 저장=>계좌평가금이 얼마나 늘어나는지 저장
2 - 현재변수값 2를 남기고 나머지를 전봉의 고가에 매도시 수수료 포함 이익금이 얼마나 되는지 저장=>계좌평가금이 얼마나 늘어나는지를 변수에 저장하는 식
3.매수주문 발생 후 매수 할 당시의 계좌평가금에서 손절할 경우 감소한 계좌평가금 손실액 저장.
예로 ㄱ.매수시 현재 계좌 평가금 100만원 손절시 수수료포함 현재 계좌평가금 90만원
손실액 -10만원
ㄴ.다시 손절 매수시 계좌 평가금 평가금 90만원 손절시 수수료 포함 현재 계좌평가금 80만원경우 손실액-10만원
현재 종목 누적 손실액 -20만원 저장
누적손실액 이상의 이익매도 발생시 누적손실액은 계속 0으로 저장 누적이익금은 존재하지 않음.
주의점으로는 여러종목 분산투자시 계좌평가금으로 인한 오류가능성 현 1종목의 연속 누적손절매손실액에 한함.
4.손절 매 주문 발생시 마다 손절매횟수를 체크 하고 싶습니다.
손절매가 연속 발생시 누적 횟수 카운트 , 이익매도 발생시 누적 횟수 카운트 0
예스스탁 예스스탁 답변
2013-11-20 09:31:54
안녕하세요
예스스탁입니다.
시스템의 내요은 디버깅창으로 값을 확인하셔야 합니다.
1.
#날짜 변경되면 0으로 초기화
if date != date[1] Then
var1 = 0;
#손절청산후 손실누적
if BarsSinceExit(1) == 1 and IsExitName("StopLoss",1) == true Then
var1 = var1+PositionProfit(1);
#청산시 손익이 손실누적보다 크면 0으로 초기화
if BarsSinceExit(1) == 1 and PositionProfit(1) >= abs(var1) Then
var1 = 0;
MessageLog("당일누적손실 %.2f ",var1;
2
var : cnt(0),loss(0),Profit(0);
loss = 0;
Profit = 0;
for cnt = 0 to 20{
if ExitDate(cnt) == sdate and IsExitName("StopLoss",cnt) == true Then
loss = loss+1;
if ExitDate(cnt) == sdate and IsExitName("StopProfittarget ",cnt) == true Then
Profit = Profit+1;
}
MessageLog("손실횟수 %.f 수익횟수 %.f",Profit);
즐거운 하루되세요
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 문의드립니다.
>
안녕하세요
예스스탁입니다.
2.
input : 기초매입자금(500000);
var : AA(0),투입금액(0),EntryVol(0),rate(0),Exitvol1(0);
AA = 변수값;
투입금액 = 기초매입자금*AA;
#kospi
if CodeCategory == 1 Then{
if BasePrice < 50000 Then #기준가 5만원 미만
EntryVol = int(int(투입금액/C)/10)*10;
Else #5만원 이상
EntryVol = int(투입금액/C);
}
#kosdoq
if CodeCategory == 2 Then
EntryVol = int(투입금액/C);
if MarketPosition == 0 and 매주조건 Then
buy("B",OnClose,def,EntryVol);
if MarketPosition == 1 Then{
if CurrentContracts == MaxContracts and 청산조건 Then{
rate = (AA-1)/AA;#1을 남긴 비율
if CodeCategory == 1 Then{
if BasePrice < 50000 Then
Exitvol1 = int(int(MaxContracts*rate)/10)*10;
Else
Exitvol1 = int(MaxContracts*rate);
}
if CodeCategory == 2 Then
Exitvol1 = int(MaxContracts*rate);
}
ExitLong("bx",OnClose,def,"",Exitvol1,1);
}
3.
#날짜 변경되면 0으로 초기화
if date != date[1] Then
var1 = 0;
#손절청산후 손실누적
if BarsSinceExit(1) == 1 and IsExitName("StopLoss",1) == true Then
var1 = var1+PositionProfit(1);
#청산시 손익이 손실누적보다 크면 0으로 초기화
if BarsSinceExit(1) == 1 and PositionProfit(1) >= abs(var1) Then
var1 = 0;
4.
var : cnt(0),loss(0),Profit(0);
loss = 0;
Profit = 0;
for cnt = 0 to 20{
if ExitDate(cnt) == sdate and IsExitName("StopLoss",cnt) == true Then
loss = loss+1;
if ExitDate(cnt) == sdate and IsExitName("StopProfittarget ",cnt) == true Then
Profit = Profit+1;
}
즐거운 하루되세요
> 아싸가오리 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 1.주식 매수주문 발생시 주식과 현금의 비율이 7 : 3을 넘지 않도록 설정.
매수주문 발생시 현재 계좌의 주식 보유비율이 70% 이상이면 매수금지
단, 특정 변수 값이 1초과이면 매수가능
2.ㄱ.주식매입자금을 특정변수 값의 수치가 1 이면 50만원 , 2일경우 100만원 ,3일경우 150만원 이런식으로 1의 배수로 설정.
주식매입자금을 외부변수로 저장하여 1회투자시 얼마씩 투자할 것인가 설정.
ㄴ.주식매도시 A. 2 - 현재변수값 , 2를 남기고 나머지를 처분
B. 현재변수값 - 4 , 현재변수값에서 4를 처분
모든 매매식에 공통 적용
ㄷ.2를 전봉의 고가에 매도시 수수료포함 이익금이 얼마나 되는지 저장=>계좌평가금이 얼마나 늘어나는지 저장
2 - 현재변수값 2를 남기고 나머지를 전봉의 고가에 매도시 수수료 포함 이익금이 얼마나 되는지 저장=>계좌평가금이 얼마나 늘어나는지를 변수에 저장하는 식
3.매수주문 발생 후 매수 할 당시의 계좌평가금에서 손절할 경우 감소한 계좌평가금 손실액 저장.
예로 ㄱ.매수시 현재 계좌 평가금 100만원 손절시 수수료포함 현재 계좌평가금 90만원
손실액 -10만원
ㄴ.다시 손절 매수시 계좌 평가금 평가금 90만원 손절시 수수료 포함 현재 계좌평가금 80만원경우 손실액-10만원
현재 종목 누적 손실액 -20만원 저장
누적손실액 이상의 이익매도 발생시 누적손실액은 계속 0으로 저장 누적이익금은 존재하지 않음.
주의점으로는 여러종목 분산투자시 계좌평가금으로 인한 오류가능성 현 1종목의 연속 누적손절매손실액에 한함.
4.손절 매 주문 발생시 마다 손절매횟수를 체크 하고 싶습니다.
손절매가 연속 발생시 누적 횟수 카운트 , 이익매도 발생시 누적 횟수 카운트 0
다음글
이전글