커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
5561
글번호 230811
답변완료
시스템식 수정부탁드려요
작동을 해보니 한번밖에 매매가 안되어서요
반복적으로 라인 값에 닿으면 매수매도가 계속 될수는 없는건가요?
1)예를 들어 시가가 피봇 기준선보다 위에 있으면 피봇기준선에 닿을때마다 매수하고(1계약이 들어가 있으면 추가진입이 안되고) 1차지지값에서 추가 매수(추가진입이 된뒤에는 다시 진입이 안되고) 2지지값에서 추가매수가 되었으면 합니다 시가가 피봇기준선보다 보다 아래에 있으면 피봇기준선에 닿을때마다 매도가 계속 되고(1계약이 들어가 있으면 추가진입이 안되고) 하는식으로...
시가가 위에 있던 아래에 있던 1저항 2저항 1지지 2지지에 오면 매수매도가 자동적으로 되게는 안되는건가요?
2)그리고 피봇저항지지값을 3차저항 3차지지값까지 넣고 싶습니다
3)피봇기준선에서나 1차저항지지 2차저항지지 값에서 매수나 매도포지션이 청산이 안됐을 경우
각 저항마다 보유하고 있는 수량의 배수보다 1계약이 더 많게 진입하고 싶습니다 3차저항 지지값까지
예를 들어 피봇기준선에서 1계약이 들어가서 청산이 안되면 1차 저항에서 3계약 1차저항에서 청산이 안되면 2차에서 9계약 3차에서 23계약 이렇게 진입이 됐으면 합니다
처음 피봇기준선에서 매수나 매도를 진입할시 2계약으로 하고 청산은 0.236(매수1계약청산)이나 0.764(매도1계약청산)에서 1계약 0.382(매수나머지청산)나 0.618(매도나머지청산)에서 나머지 청산하고싶습니다
또 청산은 각 추가로 매수매도진입된 가격에서 0.236(매수청산)이나 0.764(매도청산)에 도달 했을떄 수익이면 가지고있는 물량에 반을 청산하고 0.382(매수청산)이나 0.618(매도청산)에서 나머지반 0.5(매수매도청산)에서 전부청산했으면 합니다
만약 0.236이나 0.764가 수익이 아닐시 그 위에 0.382(매수청산)나 0.618(매도청산)에서 반청산하고 그위에서 0.5(매수매도청산)나머지 반 청산 0.382(매도청산)나 0.618(매수청산)에서 전부청산했으면합니다
또 0.236이나 0.764에서반을 청산한 뒤에 더이상 올라가거나 내려가지 않을때에는 청산한 가격보다 10틱이 밀리면 전부 청산이 되겠끔 부탁드립니다
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 시스템식 부탁드립니다
>
안녕하세요
예스스탁입니다.
Var : Pivot(0),R1(0),R2(0),S1(0),S2(0);
if sdate != sdate[1] Then
SetStopEndofday(050000);
if bdate != bdate[1] Then
SetStopEndofday(0);
Pivot = (DayHigh(1)+DayLow(1)+DayClose(1))/3;
R1 = 2*Pivot-DayLow(1);
R2 = Pivot+DayHigh(1)-DayLow(1);
S1 = 2*Pivot-DayHigh(1);
S2 = Pivot-DayHigh(1)+DayLow(1);
var1 = DayHigh-daylow;
if MarketPosition <= 0 and dayopen > pivot and DayLow > Pivot Then
buy("b1",atlimit,pivot,1);
if MarketPosition == 1 Then
{
if MaxEntries == 1 Then
{
if DayLow > S1 Then
{
buy("b2",atlimit,S1,1);
}
}
if MaxEntries == 2 Then
{
if DayLow > S2 Then
buy("b3",atlimit,S2,1);
}
ExitLong("bx1",AtLimit,daylow+var1*0.236,"b1");
ExitLong("bx2",AtLimit,daylow+var1*0.382,"b2");
ExitLong("bx3",AtLimit,daylow+var1*0.500,"b3");
}
if MarketPosition >= 0 and dayopen < pivot and DayHigh < Pivot Then
Sell("s1",atlimit,pivot,1);
if MarketPosition == -1 Then
{
if MaxEntries == 1 Then
{
if DayHigh < R1 Then
{
sell("s2",atlimit,R1,1);
}
}
if MaxEntries == 2 Then
{
if DayHigh < R2 Then
sell("s3",atlimit,R2,1);
}
ExitShort("sx1",AtLimit,DayHigh-var1*0.236,"s1");
ExitShort("sx2",AtLimit,DayHigh-var1*0.382,"s2");
ExitShort("sx3",AtLimit,DayHigh-var1*0.500,"s3");
}
즐거운 하루되세요
> 초보트레이더11 님이 쓴 글입니다.
> 제목 : 시스템식 부탁드립니다
> 항상 감사합니다
아래의 사항을 시스템식으로 표현이 가능한지요
피봇값 기준으로 매수매도하는식입니다
1)시가가 피봇기준선보다 위에서 시작하면 피봇기준선값에 오면 매수1계약하고 청산은 당일피보나치값 0.236에서 청산
만약 0.236에 오지않아서 청산이 안됐을시 다음 피봇1차 지지값에서 추가로 매수1계약을 하고 당일 피보나치값 0.236에서 1계약 청산 0.382에서 나머지 한계약청산
위 사항에서도 청산이 안됐을시 다음 피봇2차지지값에서 추가로 매수 1계약 더하고 당일 피보나치 0.236에서 1계약청산 0.382에서1계약청산 0.5에서 나머지 청산
매도는 위에 사항 반대로 시가가 피봇 기준선 밑에서 시작했을때 피봇기준선값에 오면 매도1계약이 들어가서 위 사항과 똑같이 될수있으면 합니다
시간은 아침 09시부터 다음날 새벽05시까지 설정하고 5시가 오면 강제청산
2)시가가 피봇기준선과 피봇1차저항이나 피봇1차지지사이에서 시작할때도 마찬가지로 피봇기준선에 오면 매수나 매도 피복1차저항이나 피봇1차지지에 오면 매수나 매도가 되겠끔
시스템식이 가능한지요
2019-03-23
418
글번호 127336
답변완료
지표작성 도와주세요
안녕하세요
첨부파일1 은 종목별 일간변동성 변화를 추이하기위한 지표입니다.
(highd-lowd)/opend 를 5 일평균
첨부파일2 는 거래량/ 미결재약정 을 추가한거구요. (월단위)
지표코딩이나 계산이잘못된건지 . 아니면지표설정문제인지그냥 직선으로출력되네요
첨부파일과같이 일간변동폭 변화를 추이할수잇고 거래량미결재약정 비율 변화도 함께추이할수잇도록 도와주세요
시스템 매매에 꼭 필요한거라 잘 부탁드립니다
2019-03-23
480
글번호 127334
답변완료
쿠르드 오일 매수 수식
> 쿠르드오일 주식 매매
30분봉 기준
MFI 저점(LPercent(5))이하에서는 신호 발생시마다 분할매수로 1계약씩 최대 100계약까지 매수
매수 청산은 MFI 고점(SPercent)에서 신호발생시 마다 10%씩 청산하는 식을 만들어 주시면
감사하겠습니다.
그리고 수식에서 분할 매수로 하면 설정에서도 뭔가를 건드려야하는건지.. 아니면 수식에서
분할 진입 수식을 적용하면 설정에서 파라미딩 관련 셋팅할게 없는건지
어떤게 우선순위인지 알려주세요~
2019-03-23
461
글번호 127333
답변완료
10년치 자료
안녕하세요 관리자님
아래지표는 관리자님이 보내주신건데 실거래시 아주 유용하게 사용하고 있습니다.
감사합니다.
근데 아래 지표가 객관성을 가지려면 종목별 10년치 자료로 계산이 되어야 되는데 현재 길어야 10주~52주 정도의 값밖에 표현이 안되고 있습니다.
어떤 방법을 해야 10년치 자료를 활용하여 아래 수식을 잘 활용할수 있는 방법이 있을까요??
부탁드립니다.
- 아 래 -
input : P(520);#10년 520주
input : ntime(120);#120분
var : S1(0),D1(0),TM(0),TF(0);
var : cnt(0),Tcond(false),HH(0),LL(0),OO(0);
Array : WH1[600](0),WH2[600](0),WH3[600](0),WH4[600](0),WH5[600](0);
Array : WL1[600](0),WL2[600](0),WL3[600](0),WL4[600](0),WL5[600](0);
var : WH1sum(0),WL1sum(0),WH1Sqrt(0),WL1Sqrt(0),Hma1(0),Lma1(0),WH1Stdv(0),WL1Stdv(0);
var : WH2sum(0),WL2sum(0),WH2Sqrt(0),WL2Sqrt(0),Hma2(0),Lma2(0),WH2Stdv(0),WL2Stdv(0);
var : WH3sum(0),WL3sum(0),WH3Sqrt(0),WL3Sqrt(0),Hma3(0),Lma3(0),WH3Stdv(0),WL3Stdv(0);
var : WH4sum(0),WL4sum(0),WH4Sqrt(0),WL4Sqrt(0),Hma4(0),Lma4(0),WH4Stdv(0),WL4Stdv(0);
var : WH5sum(0),WL5sum(0),WH5Sqrt(0),WL5Sqrt(0),Hma5(0),Lma5(0),WH5Stdv(0),WL5Stdv(0);
if Bdate != Bdate[1] Then
{
S1 = TimeToMinutes(stime);
D1 = sdate;
}
if D1 > 0 then
{
if sdate == D1 Then
TM = TimeToMinutes(stime)-S1;
Else
TM = TimeToMinutes(stime)+1440-S1;
TF = TM%ntime;
if (Bdate != Bdate[1] or (Bdate == Bdate[1] and TF < TF[1])) then
{
OO = O;
HH = H;
LL = L;
if DayOfWeek(bdate) == 1 Then
{
for cnt = 1 to 599
{
WH1[cnt] = WH1[cnt-1][1];
WL1[cnt] = WL1[cnt-1][1];
}
}
if DayOfWeek(bdate) == 2 Then
{
for cnt = 1 to 599
{
WH2[cnt] = WH2[cnt-1][1];
WL2[cnt] = WL2[cnt-1][1];
}
}
if DayOfWeek(bdate) == 3 Then
{
for cnt = 1 to 599
{
WH3[cnt] = WH3[cnt-1][1];
WL3[cnt] = WL3[cnt-1][1];
}
}
if DayOfWeek(bdate) == 4 Then
{
for cnt = 1 to 599
{
WH4[cnt] = WH4[cnt-1][1];
WL4[cnt] = WL4[cnt-1][1];
}
}
if DayOfWeek(bdate) == 5 Then
{
for cnt = 1 to 599
{
wh5[cnt] = WH5[cnt-1][1];
WL5[cnt] = WL5[cnt-1][1];
}
}
}
if H > HH Then
HH = H;
if L < LL Then
LL = L;
if DayOfWeek(bdate) == 1 Then
{
WH1[0] = HH-OO;
WL1[0] = OO-LL;
}
if DayOfWeek(bdate) == 2 Then
{
WH2[0] = HH-OO;
WL2[0] = OO-LL;
}
if DayOfWeek(bdate) == 3 Then
{
WH3[0] = HH-OO;
WL3[0] = OO-LL;
}
if DayOfWeek(bdate) == 4 Then
{
WH4[0] = HH-OO;
WL4[0] = OO-LL;
}
if DayOfWeek(bdate) == 5 Then
{
WH5[0] = HH-OO;
WL5[0] = OO-LL;
}
}
if WH1[P-1] > 0 and WL1[P-1] > 0 and DayOfWeek(bdate) == 1 then
{
WH1sum = 0;
WL1sum = 0;
for cnt = 0 to P-1
{
WH1sum = WH1sum + WH1[cnt];
WL1sum = WL1sum + WL1[cnt];
}
Hma1 = WH1sum/P;
Lma1 = WL1sum/P;
WH1Sqrt = 0;
WL1Sqrt = 0;
For cnt = 0 To P - 1
{
WH1Sqrt = WH1Sqrt + (WH1[cnt] - Hma1)^2;
WL1Sqrt = WL1Sqrt + (WL1[cnt] - Lma1)^2;
}
WH1Stdv = SquareRoot(WH1Sqrt / P);
WL1Stdv = SquareRoot(WL1Sqrt / P);
var1 = OO+(Hma1+WH1Stdv*3);
var2 = OO-(Lma1+WL1Stdv*3);
var3 = OO+(Hma1+WH1Stdv*2);
Var4 = OO-(Lma1+WL1Stdv*2);
Var5 = OO+(Hma1+WH1Stdv);
Var6 = OO-(Lma1+WL1Stdv);
plot1(OO+(Hma1+WH1Stdv*3),"3표준편차");
plot2(OO-(Lma1+WL1Stdv*3));
plot3(OO+(Hma1+WH1Stdv*2),"2표준편차");
plot4(OO-(Lma1+WL1Stdv*2));
plot5(OO+(Hma1+WH1Stdv),"표준편차");
plot6(OO-(Lma1+WL1Stdv));
plot7(OO+Hma1,"변동폭");
plot8(OO-Lma1);
}
if WH2[P-1] > 0 and WL2[P-1] > 0 and DayOfWeek(bdate) == 2 then
{
WH2sum = 0;
WL2sum = 0;
for cnt = 0 to P-1
{
WH2sum = WH2sum + WH2[cnt];
WL2sum = WL2sum + WL2[cnt];
}
Hma2 = WH2sum/P;
Lma2 = WL2sum/P;
WH2Sqrt = 0;
WL2Sqrt = 0;
For cnt = 0 To P - 1
{
WH2Sqrt = WH2Sqrt + (WH2[cnt] - Hma2)^2;
WL2Sqrt = WL2Sqrt + (WL2[cnt] - Lma2)^2;
}
WH2Stdv = SquareRoot(WH2Sqrt / P);
WL2Stdv = SquareRoot(WL2Sqrt / P);
var1 = OO+(Hma2+WH2Stdv*3);
var2 = OO-(Lma2+WL2Stdv*3);
var3 = OO+(Hma2+WH2Stdv*2);
var4 = OO-(Lma2+WL2Stdv*2);
var5 = OO+(Hma2+WH2Stdv);
var6 = OO-(Lma2+WL2Stdv);
plot1(OO+(Hma2+WH2Stdv*3),"3표준편차");
plot2(OO-(Lma2+WL2Stdv*3));
plot3(OO+(Hma2+WH2Stdv*2),"2표준편차");
plot4(OO-(Lma2+WL2Stdv*2));
plot5(OO+(Hma2+WH2Stdv),"표준편차");
plot6(OO-(Lma2+WL2Stdv));
plot7(OO+Hma2,"변동폭");
plot8(OO-Lma2);
}
if WH3[P-1] > 0 and WL3[P-1] > 0 and DayOfWeek(bdate) == 3 then
{
WH3sum = 0;
WL3sum = 0;
for cnt = 0 to P-1
{
WH3sum = WH3sum + WH3[cnt];
WL3sum = WL3sum + WL3[cnt];
}
Hma3 = WH3sum/P;
Lma3 = WL3sum/P;
WH3Sqrt = 0;
WL3Sqrt = 0;
For cnt = 0 To P - 1
{
WH3Sqrt = WH3Sqrt + (WH3[cnt] - Hma3)^2;
WL3Sqrt = WL3Sqrt + (WL3[cnt] - Lma3)^2;
}
WH3Stdv = SquareRoot(WH3Sqrt / P);
WL3Stdv = SquareRoot(WL3Sqrt / P);
var1 = OO+(Hma3+WH3Stdv*3);
var2 = OO-(Lma3+WL3Stdv*3);
Var3 = OO+(Hma3+WH3Stdv*2);
Var4 = OO-(Lma3+WL3Stdv*2);
Var5 = OO+(Hma3+WH3Stdv);
Var6 = OO-(Lma3+WL3Stdv);
plot1(OO+(Hma3+WH3Stdv*3),"3표준편차");
plot2(OO-(Lma3+WL3Stdv*3));
plot3(OO+(Hma3+WH3Stdv*2),"2표준편차");
plot4(OO-(Lma3+WL3Stdv*2));
plot5(OO+(Hma3+WH3Stdv),"표준편차");
plot6(OO-(Lma3+WL3Stdv));
plot7(OO+Hma3,"변동폭");
plot8(OO-Lma3);
}
if WH4[P-1] > 0 and WL4[P-1] > 0 and DayOfWeek(bdate) == 4 then
{
WH4sum = 0;
WL4sum = 0;
for cnt = 0 to P-1
{
WH4sum = WH4sum + WH4[cnt];
WL4sum = WL4sum + WL4[cnt];
}
Hma4 = WH4sum/P;
Lma4 = WL4sum/P;
WH4Sqrt = 0;
WL4Sqrt = 0;
For cnt = 0 To P - 1
{
WH4Sqrt = WH4Sqrt + (WH4[cnt] - Hma4)^2;
WL4Sqrt = WL4Sqrt + (WL4[cnt] - Lma4)^2;
}
WH4Stdv = SquareRoot(WH4Sqrt / P);
WL4Stdv = SquareRoot(WL4Sqrt / P);
var1 = OO+(Hma4+WH4Stdv*3);
var2 = OO-(Lma4+WL4Stdv*3);
Var3 = OO+(Hma4+WH4Stdv*2);
Var4 = OO-(Lma4+WL4Stdv*2);
Var5 = OO+(Hma4+WH4Stdv);
Var6 = OO-(Lma4+WL4Stdv);
plot1(OO+(Hma4+WH4Stdv*3),"3표준편차");
plot2(OO-(Lma4+WL4Stdv*3));
plot3(OO+(Hma4+WH4Stdv*2),"2표준편차");
plot4(OO-(Lma4+WL4Stdv*2));
plot5(OO+(Hma4+WH4Stdv),"표준편차");
plot6(OO-(Lma4+WL4Stdv));
plot7(OO+Hma4,"변동폭");
plot8(OO-Lma4);
}
if WH5[P-1] > 0 and WL5[P-1] > 0 and DayOfWeek(bdate) == 5 then
{
WH5sum = 0;
WL5sum = 0;
for cnt = 0 to P-1
{
WH5sum = WH5sum + WH5[cnt];
WL5sum = WL5sum + WL5[cnt];
}
Hma5 = WH5sum/P;
Lma5 = WL5sum/P;
WH5Sqrt = 0;
WL5Sqrt = 0;
For cnt = 0 To P - 1
{
WH5Sqrt = WH5Sqrt + (WH5[cnt] - Hma5)^2;
WL5Sqrt = WL5Sqrt + (WL5[cnt] - Lma5)^2;
}
WH5Stdv = SquareRoot(WH5Sqrt / P);
WL5Stdv = SquareRoot(WL5Sqrt / P);
var1 = OO+(Hma5+WH5Stdv*3);
var2 = OO-(Lma5+WL5Stdv*3);
Var3 = OO+(Hma5+WH5Stdv*2);
Var4 = OO-(Lma5+WL5Stdv*2);
Var5 = OO+(Hma5+WH5Stdv);
Var6 = OO-(Lma5+WL5Stdv);
plot1(OO+(Hma5+WH5Stdv*3),"3표준편차");
plot2(OO-(Lma5+WL5Stdv*3));
plot3(OO+(Hma5+WH5Stdv*2),"2표준편차");
plot4(OO-(Lma5+WL5Stdv*2));
plot5(OO+(Hma5+WH5Stdv),"표준편차");
plot6(OO-(Lma5+WL5Stdv));
plot7(OO+Hma5,"변동폭");
plot8(OO-Lma5);
}
if crossup(C,var1) Then
PlaySound("C:₩예스트레이더₩data₩Sound₩stop.wav");
if CrossDown(C,var2) Then
PlaySound("C:₩예스트레이더₩data₩Sound₩stop.wav");
if crossup(C,var3) Then
PlaySound("C:₩예스트레이더₩data₩Sound₩stop.wav");
if CrossDown(C,var4) Then
PlaySound("C:₩예스트레이더₩data₩Sound₩stop.wav");
if crossup(C,var5) Then
PlaySound("C:₩예스트레이더₩data₩Sound₩stop.wav");
if CrossDown(C,var6) Then
PlaySound("C:₩예스트레이더₩data₩Sound₩stop.wav");
2019-03-23
437
글번호 127332
답변완료
지표우측의 수치값을 정수값으로 변환
안녕하세요 관리자님!!
즐거운 주말보내시길 바랍니다.
아래 지표는 변동폭을 표현한 수식인데요 그림 1,2와 같이종목마다 소수점뒷자리수가 모두 틀려 보기가 불편합니다. 따라서 아래 지표중 plot5의 수치를 나타내주는 오늘쪽의 수치를 종목에 상관없이 모두 백단위의(소수점앞3자리) 숫자로 정수화시키고 싶습니다. 부탁드립니다.
-아 래-
input : P(520);#10년 520주
var : cnt(0);
Array : WH1[600](0),WH2[600](0),WH3[600](0),WH4[600](0),WH5[600](0);
Array : WL1[600](0),WL2[600](0),WL3[600](0),WL4[600](0),WL5[600](0);
var : sum1(0),Sqrt1(0),ma1(0),Stdv1(0);
var : sum2(0),Sqrt2(0),ma2(0),stdv2(0);
var : sum3(0),Sqrt3(0),ma3(0),Stdv3(0);
var : sum4(0),Sqrt4(0),ma4(0),Stdv4(0);
var : sum5(0),Sqrt5(0),ma5(0),Stdv5(0);
if bdate != bdate[1] then
{
if DayOfWeek(bdate) == 1 Then
{
for cnt = 1 to 599
{
WH1[cnt] = WH1[cnt-1][1];
WL1[cnt] = WL1[cnt-1][1];
}
}
if DayOfWeek(bdate) == 2 Then
{
for cnt = 1 to 599
{
WH2[cnt] = WH2[cnt-1][1];
WL2[cnt] = WL2[cnt-1][1];
}
}
if DayOfWeek(bdate) == 3 Then
{
for cnt = 1 to 599
{
WH3[cnt] = WH3[cnt-1][1];
WL3[cnt] = WL3[cnt-1][1];
}
}
if DayOfWeek(bdate) == 4 Then
{
for cnt = 1 to 599
{
WH4[cnt] = WH4[cnt-1][1];
WL4[cnt] = WL4[cnt-1][1];
}
}
if DayOfWeek(bdate) == 5 Then
{
for cnt = 1 to 599
{
WH5[cnt] = WH5[cnt-1][1];
WL5[cnt] = WL5[cnt-1][1];
}
}
}
if DayOfWeek(bdate) == 1 Then
{
WH1[0] = DayHigh;
WL1[0] = DayLow;
}
if DayOfWeek(bdate) == 2 Then
{
WH2[0] = DayHigh;
WL2[0] = DayLow;
}
if DayOfWeek(bdate) == 3 Then
{
WH3[0] = DayHigh;
WL3[0] = DayLow;
}
if DayOfWeek(bdate) == 4 Then
{
WH4[0] = DayHigh;
WL4[0] = DayLow;
}
if DayOfWeek(bdate) == 5 Then
{
WH5[0] = DayHigh;
WL5[0] = DayLow;
}
if WH1[P-1] > 0 and WL1[P-1] > 0 and DayOfWeek(bdate) == 1 then
{
sum1 = 0;
for cnt = 0 to P-1
{
sum1 = sum1 + (WH1[cnt]-WL1[cnt]);
}
ma1 = sum1/P;
Sqrt1 = 0;
For cnt = 0 To P - 1
{
Sqrt1 = Sqrt1 + ((WH1[cnt]-WL1[cnt]) - ma1)^2;
}
Stdv1 = SquareRoot(Sqrt1/ P);
plot1(ma1);
plot2(ma1+Stdv1*2);
plot3(ma1*0.7);
plot4((ma1+Stdv1*2)*0.7);
}
if WH2[P-1] > 0 and WL2[P-1] > 0 and DayOfWeek(bdate) == 2 then
{
sum2 = 0;
for cnt = 0 to P-1
{
sum2 = sum2 + (WH2[cnt]-WL2[cnt]);
}
ma2= sum2/P;
Sqrt2= 0;
For cnt = 0 To P - 1
{
Sqrt2 = Sqrt2 + ((WH2[cnt]-WL2[cnt]) - ma2)^2;
}
Stdv2 = SquareRoot(Sqrt2/ P);
plot1(ma2);
plot2(ma2+Stdv2*2);
plot3(ma2*0.7);
plot4((ma2+Stdv2*2)*0.7);
}
if WH3[P-1] > 0 and WL3[P-1] > 0 and DayOfWeek(bdate) == 3 then
{
sum3 = 0;
for cnt = 0 to P-1
{
sum3 = sum3 + (WH3[cnt]-WL3[cnt]);
}
ma3= sum3/P;
Sqrt3 = 0;
For cnt = 0 To P - 1
{
Sqrt3 = Sqrt3 + ((WH3[cnt]-WL3[cnt]) - ma3)^2;
}
Stdv3 = SquareRoot(Sqrt3/ P);
plot1(ma3);
plot2(ma3+Stdv3*2);
plot3(ma3*0.7);
plot4((ma3+Stdv3*2)*0.7);
}
if WH4[P-1] > 0 and WL4[P-1] > 0 and DayOfWeek(bdate) == 4 then
{
sum4 = 0;
for cnt = 0 to P-1
{
sum4 = sum4 + (WH4[cnt]-WL4[cnt]);
}
ma4= sum4/P;
Sqrt4 = 0;
For cnt = 0 To P - 1
{
Sqrt4 = Sqrt4 + ((WH4[cnt]-WL4[cnt]) - ma4)^2;
}
Stdv4 = SquareRoot(Sqrt4/ P);
plot1(ma4);
plot2(ma4+Stdv4*2);
plot3(ma4*0.7);
plot4((ma4+Stdv4*2)*0.7);
}
if WH5[P-1] > 0 and WL5[P-1] > 0 and DayOfWeek(bdate) == 5 then
{
sum5 = 0;
for cnt = 0 to P-1
{
sum5 = sum5 + (WH5[cnt]-WL5[cnt]);
}
ma5= sum5/P;
Sqrt5 = 0;
For cnt = 0 To P - 1
{
Sqrt5 = Sqrt5 + ((WH5[cnt]-WL5[cnt]) - ma5)^2;
}
Stdv5 = SquareRoot(Sqrt5/ P);
plot1(ma5);
plot2(ma5+Stdv5*2);
plot3(ma5*0.7);
plot4((ma5+Stdv5*2)*0.7);
}
plot5(DayHigh-daylow,"당일변동폭");
2019-03-23
469
글번호 127331
답변완료
지표문의요
수식1
a=tema(c,period1);
b=tema(c,period2);
x=valuewhen(1,crossup(a,b) or crossdown(a,b),b)
수식2
a=tema(c,period1);
b=tema(c,period3);
x=valuewhen(1,crossup(a,b) or crossdown(a,b),b)
지표조건설정
period1 5
period2 3
period3 2
이것도 변경부탁드립니다 항상감사합니다
2019-03-22
421
글번호 127325
답변완료
문의
아래수식과 반대인 exitshort 수식 부탁드립니다.
***********************************************************************************
안녕하세요
예스스탁입니다.
식을 수정해 드립니다.
input : 시간(130000),봉갯수(100),HLRANGE(0.50);
var : hh(0),ll(0),ii(0);
if bdate != bdate[1] Then
{
hh = 0;
ll = 0;
ii = 0;
}
if stime >= 시간 then
{
ii = ii +1;
if hh == 0 or (hh > 0 and h > hh) Then
hh = h;
if ll == 0 or (ll > 0 and l < ll) Then
ll = l;
if ii >= 봉갯수 and hh-ll >= HLRANGE Then
ExitLong();
}
2019-03-22
395
글번호 127323
답변완료
차트 참조에서
차트 참조에서
코스피하락종목수/(코스피상승종목수+코스피하락종목수)*100
지표 부탁드립니다
2019-03-22
369
글번호 127321
답변완료
수식 검토
아래 buy 청산수식을 역으로 참조하여
sell 청산수식을 작성해보았는데 시뮬레이션이 되지 않습니다.
살펴주세요
input: 특정시간(130000);
input : X1(20),CR(8),CF(0);
var : EL(0),E1(0),H1(0),i1(0),S1(0);
if stime >= 특정시간 Then
{
if stime[1] < 특정시간 Then
{
EL = L;
E1 = 0;
}
if L < EL Then{
EL = L;
E1 = 0;
}
if E1 == 0 and C >= EL+PriceScale*X1 Then{
E1 = 1;
H1 = H;
i1 = index;
}
if E1 == 1 and index > i1 Then{
if H > H1 Then
H1 = H;
if L <= H1-PriceScale*CR Then{
E1 = 2;
I1 = index;
S1 = H1;
}
}
if E1 == 2 and index > i1 and C >= S1+PriceScale*CF Then{
ExitShort("sx");
E1 = 0;
}
}
***************************************************************************************
안녕하세요
예스스탁입니다.
input: 특정시간(130000);
input : X1(20),CR(8),CF(0) ;
var : EH(0),E1(0),i1(0),S1(0),L1(0);
if stime >= 특정시간 Then
{
if stime[1] < 특정시간 Then
{
EH = H;
E1 = 0;
}
if H > EH Then
{
EH = H;
E1 = 0;
}
if E1 == 0 and C <= EH-PriceScale*X1 Then
{
E1 = 1;
L1 = L;
i1 = index;
}
if E1 == 1 and index > i1 Then
{
if L < L1 Then
L1 = L;
if H >= L1+PriceScale*CR Then
{
E1 = 2;
I1 = index;
S1 = L1;
}
}
if E1 == 2 and index > i1 and C <= S1-PriceScale*CF Then
{
exitlong("bx");
E1 = 0;
}
}
즐거운 하루되세요
2019-03-22
374
글번호 127315