예스스탁
예스스탁 답변
2023-06-12 10:48:31
안녕하세요
예스스탁입니다.
예수금은 직접 지정하셔야 합니다.
1
input : len1(20),len2(40),예수금(20000000);
input : len(15);
input : adxPeriod(14),n(20);
Inputs: Period(5);
var : mt(0),sum1(0),sum2(0),TDI(0),DI(0);
Var : adxv(0),Fval(0),Fi(0),ChOsc(0);
var : HH(0),LL(0),BuyPower(0),SellPower(0),TTF(0),vol(0);
mt = Abs(C-C[len1-1]);
sum1 = AccumN(mt,len1);
sum2 = AccumN(mt,len2);
TDI = sum1-(sum2-sum1);
DI = AccumN(mt,len1);
HH = highest(H,len);
LL = lowest(L,len);
BuyPower = HH-LL[len];
SellPower = HH[len]-LL;
TTF = ((BuyPower-SellPower)/(0.5*(BuyPower+SellPower)))*100;
adxv = adx(adxPeriod);
Fval = ((Close - Close[1]) * Volume) ;
FI = Ema(Fval, Period);
ChOsc = CO();
vol = 예수금/(100*(highest(H,20)-lowest(L,20)));
if C > highest(H,n)[1] and
adxv > adxv[n] and
FI > FI[n] and
ChOsc > ChOsc[n] and
TTF > 100 and CrossUp(DI,TDI) Then
buy("b",OnClose,Def,vol);
if TTF < -100 and CrossDown(DI,TDI) Then
ExitLong("bx");
SetStopEndofday(152000);
2
input : adxPeriod(14),sig(20);
var : adxv(0),adxs(0);
adxv = adx(adxPeriod);
adxs = ma(adxv,sig);
if adxv > 25 and
adxs < 10 and CountIf(adxv>10,3) == 3 and adxv-adxv[5] > 0 Then
3
if MarketPosition == 1 Then
{
ExitLong("bx1",AtStop,highest(H,BarsSinceEntry)-(highest(H,20)-lowest(L,20)));
ExitLong("bx2",AtStop,highest(H,BarsSinceEntry)-std(C,20));
}
즐거운 하루되세요
> 고민중 님이 쓴 글입니다.
> 제목 : 수식 부탁드립니다.
> 1. 진입조건
기술적적조건1 (TDI, DI)
TDI = 최근 20일추세크기 - 이전 20일 동안 횡보변동성크기
추세크기 = 절대값(최근20일 동안의 20일 모멘텀들의 합)
횡보변동성크기 = (최근 40일동안의 20일 모멘텀 절대값의 합) -(최근20일동안의 20 일 모멘텀 절대값의 합)
DI = 최근 20일 동안의 20일 모멘텀 값의 합
buy power = 현재봉 포함 과거 n일 간의 최고점 - 15일 전봉 포함 과거 n일간의 최저점
(n기간 선택가능하게)
sell power = n일전 봉 포함 과거 15일간의 최고점 - 현재봉 포함 과거 15일 간의 최저점
TTF(n기간) = (buy power-sell power)/(0.5 * (buy power + sell power)) * 100
TTF > 100 이면서 DI가 TDI를 상향 돌파시 매수
TTF <-100 이면서 DI가 TDI를 하향 돌파시 매도
거래수량(총 예수금의 1%) = 예수금/ (100 * (20봉간 최고값-최저값))
=> 예스랭귀지에서 예수금을 읽어와서 거래가 가능한지 아니면 예수금을 직접 입력해줘야하는지 궁금합니다.
기술적조건2 (adx,force index, chaikin oscillator)
종가가 N일간의 최고점 돌파(N값 선택가능하게) and
돌파시점의 ADX값이 N일전의 ADX값보다 클 것 and
돌파시점의 force index값이 N일전의 force index값보다 클 것 and
돌파시점의 chaikin oscillator 값이 N일전의 chaikin oscillator값보다 클 것
시간조건
09:00이후 진입, 15:20에 보유한 모든 수량 청산
예수금조건
거래수량(총 예수금의 1%) = 예수금/ (100 * (20봉간 최고값-최저값))
2. 필터조건
ADX 조건1) ADX > 25 일 것
ADX 조건2) (ADX 20봉평균 < 10) and (최근 3일 ADX >10 일 것) and
(ADX - 5일전 ADX >0 일 것)
ADX 조건 1 혹은 ADX조건2를 만족할 것
3. 청산조건
청산조건1 (최고-최저 range)
진입이후 봉이 갱신될 때마다
청산지점(진입후 최고가- 3* abs[20봉간 최고값-최저값])의 값을 비교하여,
기존 청산지점 > 새로계산된 청산지점 -> 기존 청산지점 유지
기존 청산지점 < 새로계산된 청산지점 -> 새로 계산된 청산지점을 청산지점으로 갱신
청산조건2 (표준편차)
진입이후 봉이 갱신될 때마다
청산지점(진입후 최고가 - 3*abs[20봉간 표준편차])의 값을 비교하여,
기존 청산지점 > 새로계산된 청산지점 -> 기존 청산지점 유지
기존 청산지점 < 새로계산된 청산지점 -> 새로 계산된 청산지점을 청산지점으로 갱신