커뮤니티
이것저것 문의드립니다.
2017-11-24 14:06:18
174
글번호 114461
덕분에 도전하고 있습니다. 매번 감사합니다.
1. 시스템
이전에 투입금액을 봉 갯수로 나누어서 봉마다 진입, 이전 봉에 따라 다음 투입금액을 달리하는 코딩을 부탁드렸는데요. 한번 수정해서 이 비율에 외부변수를 곱해보니 모두 같은 결과가 나왔습니다. 제가 이해하기에는 봉마다 누적으로 비율이 바뀌니 시뮬결과도 다르게 나와야 할 것 같은데요. 모두 같은 결과가 나옵니다. 제가 착각하는 건지요. 설명 부탁드립니다.
input : 투입금액(1000000),p(0.5);
var : Rate(0);
var1 = (C-C[1])/C[1]*100;
if MarketPosition == 0 Then
value1 = 100;
if Rate > 0 Then
value1 = value1-(value1*Rate*p);
Else
value1 = value1+(value1*Rate*p);
if MarketPosition >= 0 and sdate == 20171116 Then
buy("b",OnClose,def,floor((투입금액*value1)/C));
if NextBarSdate > sdate Then
ExitLong("bx",AtMarket);
[원질문 원답변]
input : 투입금액(1000000);
var : Rate(0);
var1 = (C-C[1])/C[1]*100;
if MarketPosition == 0 Then
value1 = 100;
if Rate > 0 Then
value1 = value1-(value1*Rate);
Else
value1 = value1+(value1*Rate);
if MarketPosition >= 0 and sdate == 20171114 Then
buy("b",OnClose,def,floor((투입금액*value1)/C));
if NextBarSdate > sdate Then
ExitLong("bx",AtMarket);
원질문
-설정금액
-투입금액: 봉갯수만큼 나눠서 매수
-봉 종가마다 매수
-봉 종가가 이전 종가보다 높으면 오른 퍼센테이지만큼 뺀 금액 매수
(예 종가가 1개봉전 종가보다 0.2% 올랐다. => 기존 투입금액의 98.8% 매수)
-다음봉도 이전봉보다 0.2% 올랐다면 98.8%-(98.8%*0.2%) 금액만큼 매수(누적 개념으로)
반대로 봉 종가가 이전 종가보다 낮으면 내린 퍼센테이지만큼 더한 금액 매수
(예 종가가 1개봉전 종가보다 0.2%내렸다. => 현 투입금액*0.2% 더한 금액만큼 매수, 무조건 조건은 이전봉 기준으로, 예를 들어 계속 상승해서 95%투입하다가 다시 오르기 시작하면 95%투입 기준으로 더하기 시작)
청산: 다음날 시가에 청산.
2. 종목검색
해당날짜(외부변수)에 14:00까지
-거래대금 100억원 이상
-장대양봉(기준이 애매하면 그냥 길이가 n이상으로 작성부탁드립니다.)
-당일 거래대금 순위 30위권 이내
-하루변동폭 a% 이상
을 기록한 종목
3.
설정금액
각 봉마다 투입금액은 설정금액/봉 타임프레임 봉 갯수
진입
-각 봉마다 봉 시가매수 봉 종가매도
-1번처럼 앞 포지션이 2% 수익이면 투입금액은 98% 이런식으로 투입금액 변화, 손실도 마찬가지로
4. 시스템
1번 수정한 시스템에 당일 전체 손실금액이 투입금액의 n%가 되면 진입제한 수식 부탁드립니다.
5. 기타
설정자금을 설정해놓고 봉갯수로 나누거나 n으로 나누어서 투입하는 식을 적용해보면
많은 금액을 적용했을 때 진입신호가 안나오는 경우가 생깁니다. 종목보다 적은 금액을 설정해놔서 진입신호가 안나오는 건 이해가 되는데요. 왜 많은 금액을 설정해놓으면 신호가 나오지 않을까요?
답변 1
예스스탁 예스스탁 답변
2017-11-24 16:53:30
안녕하세요
예스스탁입니다.
1
해당식 이전에 수식을 한번 수정해 드린적이 있습니다.
var1 = (C-C[1])/C[1]*100;
을
Rate = (C-C[1])/C[1]*100;
로 변경하시면 됩니다.
2
당일 거래대금 순위 30위권 이내
위 내용은 종목검색식으로 가능하지 않습니다.
종목검색수식에서 다른종목과 비교해 순위를 지정하거나 하는부분은 가능하지 않습니다.
해당 내용 제외하고 작성한 식입니다.
input : 날자(20171124),n(10),aa(20);
if sdate == 날자 and stime < 140000 and
money >= 10000000000 and
C >= O*(1+n/100) and
H >= L*(1+aa/100) Then
Condition1 = true;
if Condition1 == true then
find(1);
3
input : 투입금액(1000000),p(0.5);
var : Rate(0),bars(0),mm(0);
Rate = (C-C[1])/C[1]*100;
bars = Floor(360/BarInterval);
mm = 투입금액/bars;
if MarketPosition == 0 Then
value1 = 100;
if Rate > 0 Then
value1 = value1-(value1*Rate*p);
Else
value1 = value1+(value1*Rate*p);
if MarketPosition >= 0 and sdate == 20171116 Then
buy("b",AtMarket,def,floor((mm*value1)/NextBarOpen));
ExitLong("bx",OnClose);
4
input : 투입금액(1000000),p(0.5),n(20);
var : Rate(0),entry(false);
Rate = (C-C[1])/C[1]*100;
if MarketPosition == 0 Then
value1 = 100;
if Rate > 0 Then
value1 = value1-(value1*Rate*p);
Else
value1 = value1+(value1*Rate*p);
if sdate != sdate[1] Then
entry = true;
if PositionProfit(0) <= -(투입금액*(n/100)) Then
entry = false;
if MarketPosition >= 0 and sdate == 20171116 and entry == true Then
buy("b",OnClose,def,floor((투입금액*value1)/C));
if NextBarSdate > sdate Then
ExitLong("bx",AtMarket);
5
시스템 트레이딩 설정창의 피라미딩탭 하단에
진입설정(동일포지션의 누적허용)에
수량 및 진입횟수를 큰값을 지정해 주시면 됩니다.
착오주문 방지를 위해
1회주문이나 혹은 포지션 누적주문이 지정한
수량이상 횟수이상으로는 발생하지 않게 되어 있습니다.
즐거운 하루되세요
> 잡다백수 님이 쓴 글입니다.
> 제목 : 이것저것 문의드립니다.
> 덕분에 도전하고 있습니다. 매번 감사합니다.
1. 시스템
이전에 투입금액을 봉 갯수로 나누어서 봉마다 진입, 이전 봉에 따라 다음 투입금액을 달리하는 코딩을 부탁드렸는데요. 한번 수정해서 이 비율에 외부변수를 곱해보니 모두 같은 결과가 나왔습니다. 제가 이해하기에는 봉마다 누적으로 비율이 바뀌니 시뮬결과도 다르게 나와야 할 것 같은데요. 모두 같은 결과가 나옵니다. 제가 착각하는 건지요. 설명 부탁드립니다.
input : 투입금액(1000000),p(0.5);
var : Rate(0);
var1 = (C-C[1])/C[1]*100;
if MarketPosition == 0 Then
value1 = 100;
if Rate > 0 Then
value1 = value1-(value1*Rate*p);
Else
value1 = value1+(value1*Rate*p);
if MarketPosition >= 0 and sdate == 20171116 Then
buy("b",OnClose,def,floor((투입금액*value1)/C));
if NextBarSdate > sdate Then
ExitLong("bx",AtMarket);
[원질문 원답변]
input : 투입금액(1000000);
var : Rate(0);
var1 = (C-C[1])/C[1]*100;
if MarketPosition == 0 Then
value1 = 100;
if Rate > 0 Then
value1 = value1-(value1*Rate);
Else
value1 = value1+(value1*Rate);
if MarketPosition >= 0 and sdate == 20171114 Then
buy("b",OnClose,def,floor((투입금액*value1)/C));
if NextBarSdate > sdate Then
ExitLong("bx",AtMarket);
원질문
-설정금액
-투입금액: 봉갯수만큼 나눠서 매수
-봉 종가마다 매수
-봉 종가가 이전 종가보다 높으면 오른 퍼센테이지만큼 뺀 금액 매수
(예 종가가 1개봉전 종가보다 0.2% 올랐다. => 기존 투입금액의 98.8% 매수)
-다음봉도 이전봉보다 0.2% 올랐다면 98.8%-(98.8%*0.2%) 금액만큼 매수(누적 개념으로)
반대로 봉 종가가 이전 종가보다 낮으면 내린 퍼센테이지만큼 더한 금액 매수
(예 종가가 1개봉전 종가보다 0.2%내렸다. => 현 투입금액*0.2% 더한 금액만큼 매수, 무조건 조건은 이전봉 기준으로, 예를 들어 계속 상승해서 95%투입하다가 다시 오르기 시작하면 95%투입 기준으로 더하기 시작)
청산: 다음날 시가에 청산.
2. 종목검색
해당날짜(외부변수)에 14:00까지
-거래대금 100억원 이상
-장대양봉(기준이 애매하면 그냥 길이가 n이상으로 작성부탁드립니다.)
-당일 거래대금 순위 30위권 이내
-하루변동폭 a% 이상
을 기록한 종목
3.
설정금액
각 봉마다 투입금액은 설정금액/봉 타임프레임 봉 갯수
진입
-각 봉마다 봉 시가매수 봉 종가매도
-1번처럼 앞 포지션이 2% 수익이면 투입금액은 98% 이런식으로 투입금액 변화, 손실도 마찬가지로
4. 시스템
1번 수정한 시스템에 당일 전체 손실금액이 투입금액의 n%가 되면 진입제한 수식 부탁드립니다.
5. 기타
설정자금을 설정해놓고 봉갯수로 나누거나 n으로 나누어서 투입하는 식을 적용해보면
많은 금액을 적용했을 때 진입신호가 안나오는 경우가 생깁니다. 종목보다 적은 금액을 설정해놔서 진입신호가 안나오는 건 이해가 되는데요. 왜 많은 금액을 설정해놓으면 신호가 나오지 않을까요?
다음글
이전글