답변완료
kelly 베팅 and 포지션 함수 문의
Q1. 포지션 함수의 주된용도는 무엇인가요. 이걸 시스템 수식에 끌어와서 사용가능한가요?
포지션 함수 사용하여 시스템전략 만들려는데 가능할지요?
Q2. "종목검색 + 매수/매도" 를 합친 자동매매 시스템 수식은 예스랭귀지로 구현이 가능한가요?
ex) CCI 0선 상향 돌파종목 자동 검색후, 2종목을 10주씩 자동 매수 후 2일후 자동매도 하는 시스템
Q3. kelly 베팅의 간략버젼의 시스템 수식으로의 적용 문의 (포지션함수사용됨)
아래와 같은 논리로 시스템 수식을 작성했는데, 예상대로 작동은 안되네요.
어떤게 문제 인지 검토 부탁드립니다.
제가 수작업으로 사용하는 켈리베팅 수식은 아래와 같습니다.
(이전에 다른분이 문의 한 켈리베팅식에 비해 간략합니다)
--주문수량--
kellyBet = (승률 - (1-승률)/평균 손익비) * (예수금)
주문가능수량 = floor(kellyBet/DayLow);
-------------
전략 수식작성 컨셉 : 적용된 과거기록에 따라. 시스템의 성능(승률,손익비)에 따라 베팅금액 크기 조절
-----인용-----
Input : Period(14), LPercent(30), SPercent(70),max투자금액(1000000);
Var : value(0),accoundNum("계좌번호"),예수금(0),평균손익비(0)
,kellyBet(0),주문가능수량(0);
//할당//
value = RSI(Period);
AccoundNum = getAccount(0); ##계좌번호를 AccoundNum에 저장
예수금 = GetUnclearedDeposits(AccoundNum); ##AccoundNum으로 지정한 계좌의 예수금
평균손익비=(GrossProfit/NumWinTrades ) /(GrossLoss/NumLosTrades);
kellyBet = (PercentProfit-((1-PercentProfit)/평균손익비))*예수금; ##예수금 or max투자금액
주문가능수량 = floor(kellyBet/DayLow); //
# 매수/매도청산
If CrossUP(value, LPercent) Then
{
Buy("kelly-B",onclose,DEF,주문가능수량);
}
# 매도/매수청산
If CrossDown(value, SPercent) Then
{
ExitLong("s",onclose,DEF,"kelly-B");
}
------------------------------인용 끝-------------------
2020-04-24
934
글번호 138343
시스템
답변완료
문의드립니다.
Input : AccelFactor(0.02), pLimit(0.2);
Var : value(0);
value = sar(AccelFactor,pLimit);
Var : Sp(0),TickSize( 0 );
TickSize = PriceScale;
SP = MarketPosition;
if crossUp(c, value) Then (에러영역)
{
Buy("매수", DEF, DEF, 2);
}
if crossDown(c, value) Then
{
Sell("매도", DEF, DEF, 2);
}
위 전략에서 컴파일 시도시 위에 표기한 (에러영역)에서 에러가 검출됩니다.
확인 부탁드립니다.
2020-04-24
876
글번호 138339
시스템
답변완료
수식전환 요청
다음 수식을 예스 지표수식과 시스템수식으로 전환부탁드립니다.
<1>지표수식
수식1
a=(O+C+H+L)/4;
ma(a, 기간, 종류);
수식2
b=(O(k)+C(k))/2;
ma(b, 기간, 종류);
수식3
a=(O+C+H+L)/4;
b=(O(k)+C(k))/2;
aa=ma(a, 기간, 종류);
bb=ma(b, 기간, 종류);
if(H<H(1) && aa>bb, aa, min(aa,bb))
수식4
a=(O+C+H+L)/4;
b=(O(k)+C(k))/2;
aa=ma(a, 기간, 종류);
bb=ma(b, 기간, 종류);
if(L>L(1) && aa<bb, bb, min(aa,bb))
수식5
a=(O+C+H+L)/4;
b=(O(k)+C(k))/2;
aa=ma(a, 기간, 종류);
bb=ma(b, 기간, 종류);
Min(aa, bb)
지표조건설정
기간 20
종류 지수
k 5
<2>시스템(수식1 막대 빨강, 수식2 막대 파랑, 수식3 막대 분홍, 수식4 막대 하늘색이라고 가정)
매수진입
빨강막대 또는 분홍막대 발생
매도진입
파랑막대 또는 하늘색 막대 발생
<3>시스템수식에서 캔들의 양봉, 응봉을 이용하여
매수진입
(빨강막대 또는 분홍막대 발생) && 양봉
매도진입
(파랑막대 또는 하늘색 막대) 발생
<4>20일선이 우상향일때 매수진입
20일선이 우하향일때 매도진입 시스템 수식 부탁
<5>다음 수식을 예스지표로 전환부탁드립니다.
수식1
Highestsince(1,crossup(trix,period,0),c);
수식2
Lowestsince(1,crossdown(trix,period,0),c);
수식3
Highestsince(1,crossup(trix,period,0),c)+Lowestsince(1,crossdown(trix,period,0),c)/2
지표조건설정
period 20
<6>예스지표 전환부탁
수식1
B=avg((C+H+L)/3,period);
sum(B-Lowest(B,period1),period2)/
sum((Highest(B,period1)-Lowest(B,period1)),period2)*100
수식2
ma(sum(B-Lowest(B,period1),period2)/
sum((Highest(B,period1)-Lowest(B,period1)),period2)*100,9)
지표조건설정
period 10
period1 20
period2 30
2020-04-27
1284
글번호 138334
지표
답변완료
문의 드립니다.
안녕하세요
아래와 같은 답변을 받았으나
적용을 해보니 상이하게 검색이 되어 문의 드립니다.
시가가 엔벨중심선 위,아래가 다 검색이 됩니다.
엘비세미콘(061970),경남바이오파마(044480)은
시가가 엔벨중심 아래에 위치 하고 있는데 검색이 됩니다.
12:43검색 비에이치(090460) 중심선 아래 시가 검색되며
위 두개종목은 또 미검색 되는데...
시가 비교이니 09:00 기준 엔벨중심선과 비교하여 검색이 되어야 될듯 싶은데
검색시마다 값이 틀려지는것은 왜 그럴까요??
어쩔땐 검색값이 없다고 나오고....
수렴값을 5%까지 늘려
한네트(052600) 중심선 시가 아래
경방(000050) 중심선 시가 아래
비에이치는 미검색 ????
그럼 명확한 지도편달 요청드립니다^^
1 5분봉, 기간 500봉, 보통주, 거래량100,000, 모두제외 체크,
input : EVP(20),per(2),P1(10),dayP(5),수렴(1);
var : evmd(0),evup(0),mav(0),cnt(0),sum(0),dmav(0);
evmd = ma(C,EVP);
evup = EnvelopeUp(EVP,per);
mav = ma(C,P1);
sum = 0;
for cnt = 0 to dayP-1
{
sum = sum + DayClose(cnt);
}
Dmav = sum/dayp;
if max(evmd,mav,dmav) <= min(evmd,mav,dmav)*(1+수렴/100) and
mav > mav[1] and dmav > dmav[1] and
o >= DayClose(1) and dayclose(1) >= evmd and
evup > o and
c >= 900 Then
find(1);
1-1 위 식을 장마감이후 복기를 위해 N일값으로 검색 가능식 추가 부탁드립니다.
- 기존 질문이 많아 빠진듯하니 재 문의 드립니다.
2, 아래식에 거래량(음봉양봉)식을 조합하고 싶은데 어렵네요 도움 부탁드립니다.
if date != date[1] Then
{
var1 = 0;
var2 = 0;
}
if C > O Then
var1 = var1 + v;
if C < O Then
var2 = var2 + v;
plot1(var1-var2);
즐거운 하루되세요
2020-04-24
969
글번호 138333
종목검색
답변완료
문의드립니다.
문의드립니다.
시그널메이커에서 사용하던 Psar 방식을 예스랭귀지로 변환이 필요합니다.
Param :
AccelFactor(0.02),
pLimit(0.2);
V0 = ParabolicSar(AccelFactor, pLimit, V1, V2, V3, V4);
If CrossUp(C, V1) Then Buy();
If CrossDown(C, V1) Then Sell();
감사합니다.
2020-04-24
908
글번호 138332
시스템