커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
8144
글번호 230811
답변완료
Re : 수식 부탁합니다.
아래의 두 사이트에서 표기한 수식입니다.
참고하셔서 작성해 주시면 감사하겠습니다.
지표 이름은 Price Momentum Oscillator (PMO) 입니다.
그리고 먼저 작성해준 수식으로 지표를 만들면
그래프가 뒤집어져 있어, 마이너스를 적용해야 하더군요..
부탁드립니다.
a사이트
//PRC_Price Momentum Oscillator
//28.09.2016
//Nicolas @ www.prorealcode.com
//Sharing ProRealTime knowledge
// --- settings
//length1=35 // "First Smoothing"
//length2=20 //"Second Smoothing"
//siglength=10 //"Signal Smoothing"
// --- end of settings
if barindex>1 then
i = (close/close[1])*100
sm1 = 2.0/length1
csf1=((i-100)-csf1[1])*sm1+csf1[1]
pmol2=csf1
sm2 = 2.0/length2
csf2=((10*pmol2)-csf2[1])*sm2+csf2[1]
pmol=csf2
pmols=average[siglength,1](pmol)
-----------------------------------------------------
b사이트
Price Momentum Oscillator Formula and Calculations
Price Momentum Oscillator's calculations could be split into several steps for better understanding.
1. To smooth the ROC (price change), PMO uses non traditional EMAs. The first step would be to calculate Smoothing Constant Used to calculate non traditional EMA smoothing coefficients.
Smoothing1 = 2/p1
Smoothing2 = 2/p2
where
p1 is first smoothing period
p2 is second smoothing period
In traditional Exponential MA Smoothing is calculated as (2/(p+1))
2. Calculate 1-bar ROC - 1-bar price change in percent
ROC = (P(i) - P(i-1)) / P(i-1) * 100
where P ;is a price array
3. Apply non traditional EMA to calculated 1-bar price change
ROCma = ROCmaPrev + (ROC - ROCmaPrev ) * Smoothing1
where ROCmaPrev is the previsions bar's ROCma
4. To work with higher numbers multiply ROCma by 10 times
ROCma10 = ROCma * 10
5. Apply second non traditional EMA to calculate PMO:
PMO = PMOprev + (ROCma10 - PMOprev) * Smoothing2
5. Plot second signal line - signal line which is use traditional EMA applied to PMO
PMOsignal = Smoothing3 * (PMO - PMOsignalPrev) + PMOsignalPrev
where Smoothing3 = 2 / (p3 + 1)
where p3 is signal line bar period
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 수식 부탁합니다.
> 안녕하세요
예스스탁입니다.
몇몇값에 대한 정의가 없어 수식 내용이 정확히 판단되지 않습니다.
아래 내용이 아니시면 설명과 같이 다시 올려주시기 바랍니다.
input : i(1),P1(5),P2(20),P3(10);
var : Smoothing1(0),Smoothing2(0),Smoothing3(0);
var : ROC(0),ROCma(0),ROCma10(0),PMO(0),PMOsignal(0);
Smoothing1 = 2/p1;
Smoothing2 = 2/p2;
Smoothing3 = 2/p3;
if CurrentBar >= 1 then
{
ROC = (c[i] - c[i-1]) / c[i-1] * 100;
ROCma = ROCma + (ROC - ROCma ) * Smoothing1;
ROCma10 = ROCma * 10;
PMO = PMO + (ROCma10 - PMO) * Smoothing2;
PMOsignal = Smoothing3 * (PMO - PMOsignal) + PMOsignal;
plot1(PMO);
plot2(PMOsignal);
}
즐거운 하루되세요
> dojuk 님이 쓴 글입니다.
> 제목 : 수식 부탁합니다.
> 수식부탁합니다.
Price Momentum Oscillator---PMO지표
Smoothing1 = 2/p1
Smoothing2 = 2/p2
ROC = (P(i) - P(i-1)) / P(i-1) * 100
ROCma = ROCmaPrev + (ROC - ROCmaPrev ) * Smoothing1
ROCma10 = ROCma * 10
PMO = PMOprev + (ROCma10 - PMOprev) * Smoothing2
PMOsignal = Smoothing3 * (PMO - PMOsignalPrev) + PMOsignalPrev
예스 수식으로 변경해봐도 잘 않되네요.. 서툴러서..
부탁드립니다.
2019-05-01
553
글번호 128300
답변완료
예스트레이더 분봉 및 일봉 데이터 전체 기간 여쭤봅니다.
예전에 리딩투자 증권에 계좌 만들었을 때는
10 년 정도 코스피 200 선물 1분봉 데이터가 제공되었거든요.
지금은 하이투자, 농협만 있는 것 같은데요.
하이투자, 농협에 계좌를 만들 경우 예전 처럼
10년 이상 [2000~2018] 선물 분봉 데이터 제공되는지 궁금합니다.
2019-05-01
327
글번호 128299
답변완료
breakeven, 피라미딩 문의
안녕하세요, 유진에서 해외선물을 거래하고 있습니다.
피라미딩 전략으로 누적 포지션이 총 3개인 전략이 있다고 할때, entryprice 함수를 사용하여 breakeven 전략을 구현하였는데 entryprice 값은 최초에 포지션 진입이 이루어진 진입 가격을 가지고 오는것 같습니다. (marketposition이 0에서 1로 전환될시)
만약 첨부된 사진과 같이 피라미딩으로 진입된 포지션도 각각 진입한 가격에 따라 breakeven 청산을 하고자 한다면 어떻게 시스템식을 작성 해야할까요? (사진은 Tradestation에서 내제되어 있는 breakeven 함수를 사용 하였습니다)
감사합니다.
breakeven 함수는 아래와 같이 구현하였습니다.
If condition3 then begin
if MarketPosition == 1 then begin
if close > EntryPrice then begin
ExitLong("BreakevenBS",AtStop,EntryPrice);
end
else begin
ExitLong("BreakevenBL",Atlimit,EntryPrice+0.03);
end ;
end;
if MarketPosition == -1 then begin
if close < EntryPrice then begin
ExitShort("BreakevenSS",AtStop,EntryPrice);
end
else begin
ExitShort("BreakevenSL",Atlimit,EntryPrice);
end ;
end;
end ;
2019-05-01
312
글번호 128298
답변완료
지표문의 드립니다.
수고하십니다.
예스글로벌 사용중인데요.
해외선물차트에서
저번주 주봉의 고가 저가 시가 중심가
이번주 주봉의 고가 저가 시가 중심가
이렇게 지표를 작성하고 싶습니다.
항셍종목이나 나스닥종목등 시간대가 맞지않을경우
시간은 함수로 지정하여 입력할수 있도록 부탁드립니다.
감사합니다.
2019-05-01
294
글번호 128296
답변완료
문의 드립니다.
볼린져밴드 20. 2 중심선 위로 돌파 하고 그 다음 봉이 양봉이든 음봉이든
볼린져밴드 20이평 중심선 아래로 깨지 않으면 매수
상단선 돌파 후 음봉 발생시 청산완료
상단선 닿기 전에 중신선인 20이평 아래로 깨면 매도 손절
볼린져밴드 20. 2 중심선 아래로 돌파 하고 그 다음 봉이 양봉이든 음봉이든
볼린져밴드 20이평 중심선 위로 깨지 않으면 매도
하단선 돌파 후 양봉 발생시 청산완료
하단선 닿기 전에 중신선인 20이평 위로 돌파면 매도 손절
부탁드립니다.
2019-05-01
284
글번호 128295
답변완료
등락률 지표문의
안녕하세요
목적은 날짜별 지수 등락률을 파악하고 싶습니다.(일봉,월봉등 타임프레임 변경시 변동없게)
1. 올해기준의 전체등락률%(2019년)
> 단, 매년 1월은 작년데이터가 포함되게 부탁드립니다.
ex) 지금 시점이 2019년 1월 이라면, 2018 1월~ 2019 1월의 데이터를.
2019년 2월이 된다면 2019년 01~02월의 데이터를
*기준은 전년도(2018년)종가기준입니다.
2. 당월의 전체등락률%
*기준은 전월 종가대비 등락률
3. 전월의 전체등락률%
*기준은 전전월 종가대비 등락률
2019-05-01
348
글번호 128294
답변완료
안녕하세요
안녕하세요.
수고 많으십니다.
다름이 아니라 아래 수식은 1 이평. 20 이평. 30이평. 40 이평선이 있습니다.
20. 30. 40 이평선 우측아래에 20. 30. 40 숫자를 표현하고 싶습니다.
가능 하시면 도움 부탁드립니다.
감사 합니다.
수고 하세요.
input : P1(1),P2(20),P3(30),P4(40);
var : count(0);
var : sumV1(0), maV1(0);
var : sumV2(0), maV2(0);
var : sumV3(0), maV3(0);
var : sumV4(0), maV4(0);
sumV1 = 0;
sumV2 = 0;
sumV3 = 0;
sumV4 = 0;
for count = 0 to P4-1{
if count < P1 then
sumV1 = sumV1+DayClose(count);
if count < P2 then
sumV2 = sumV2+DayClose(count);
if count < P3 Then
sumV3 = sumV3+DayClose(count);
if count < P4 Then
sumV4 = sumV4+DayClose(count);
}
maV1 = sumV1 / P1;
maV2 = sumV2 / P2;
maV3 = sumV3 / P3;
maV4 = sumV4 / P4;
plot1(mav1,"이평1");
plot2(mav2,"이평2",WHITE);
plot3(mav3,"이평3",YELLOW);
plot4(mav4,"이평4",BLUE);
2019-05-01
254
글번호 128293
답변완료
문의드립니다.
도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다.
1. 기타
전에 만들어주신 수식을 토대로 피라미딩 전략을 만들어 봤는데요. 전 최근 진입한 가격에서 ATRV*ATR곱셈만큼 되면 계속 추가 진입할 줄 알았거든요. 그런데 다른진입신호만 허용 누르면 bb딱 한번만 추가진입해요. 전 bb진입하고 또 그 진입가격에서 ATRV*ATR곱셈만큼 오른 가격되면 도 진입할 줄 알았거든요.
이거 모든 신호로 안되서 그런가 싶어서 모든 신호 눌러봤더니 30틱 위면 봉마다 계속 진입해버리더라구요.
제가 원하는 건
진입
-시가 + 30틱 넘으면 돌파 매수하고
추가진입
-LatestEntryPrice + ATRV*ATR곱셈인 가격을 추가돌파하면 또 매수하려고 합니다.
청산
-1계약 진입했을 때 :
LatestEntryPrice(0) - ATRV*ATR곱셈/2 가격에 도달하면 청산(손절)
-진입 + 추가진입했을 때:
그 추가진입가격에서 LatestEntryPrice(0) - ATRV*ATR곱셈/2 도달하면 청산 이렇게 하고 싶어요.
제어
-하루 깨지는 건 n회로 제한하려고 합니다.
-그러니까 포지션 1로 진입을 해서 깨졌든 포지션을 쌓아서 5포지션으로 깨졌든 깨지는 건 n회로 제한하려고 합니다.
input: ATR기간(14),ATR곱셈(2),n(20);
var : 매수단위(0),투입금액(0),ATRV(0);
ATRV = atr(ATR기간);
매수단위 = 1;
buy("b",,dayopen + 30 * PriceScale, 매수단위);
if MarketPosition == 1 Then
{
buy("bb",AtStop,LatestEntryPrice(0)+ATRV*ATR곱셈,매수단위);
ExitLong("bx2",AtStop,LatestEntryPrice(0)-ATRV*ATR곱셈/2);
}
2.
옵션도 총투자금액 정해놓으면 금액만큼만 딱 사나요?
3. 지표
//
var1 은
( (data2 종가 - data1 종가) + (data1의 종가 - data3의 종가) )/2
를
data1의 종가로 나눈 값
//
진입
data4의 시초가 + 10틱 오르면 data1 매수
청산
data4가 n포인트 손실을 입으면 n포인트 * var1 에서 손절.
선물신호(data4)로 옵션(data1) 사는 건데요. var1은 약식 델타값이고 선물 손절포인트 걸어 놓은 것만큼 옵션 손절을 걸려고 하는 거거든요. 일단 이렇게 방법을 생각해봤는데 마땅한 방법이 있을까요?
2019-05-02
283
글번호 128292
답변완료
부탁드립니다
수고하십니다
62331번 재질문입니다 070000 에 시가,고가,저가선를이 나타나지 않는것같습니다
2019-05-01
259
글번호 128291