커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
4734
글번호 230811
관리자에 의해 프로그램 사용법 QnA로 이동되었습니다
2015-11-03
7
글번호 92025
답변완료
44830번글 관련 다시 검토 부탁드립니다.
전화통화하고 생각해 보았는데요... 편법으로
1.매수조건의 1)항목의 과거조건을 시스템식이 인식을 하지 못한다면
아래의 1)항에서 조건을 만족하면 아예 1주만 1차매수하여 신호를 유지시켜 준 다음 당초 2)항의 1차매수에서 2차매수를 2차비중만큼, 3)항의 2차매수에서 3차매수를 3차비중만큼 매수하면 되지 않을까요?
갑자기 생각나서 쓴글이고 늦은 시간이니 내일 검토해 주세요...
오늘 수고 많으셨습니다.
이전의 질문내용은 아래와 같습니다.
-----------------------------------------------------------------------------
아래와 같은 시스템식에 이동평균선에 대한 외부변수를 다음과 같이 설정하고,
input : 매수이평기간(15);
1. 매수조건
1) 주가가 "일봉이평기간(120)" 즉, 120일선 위에 있고, 120일 최고가를 갱신하고,
"매수이평기간(15)" 즉, 15일선이 우상향하며,
엔벨로프 {"P(10)" : "매수위치1차(10)"} 즉, 엔벨로프 10:10의 상단선을 종가가
돌파하면 다음과 같이 "매수이평기간(15)" 15일선 부근에서 매수함.
단, 4가지 조건 모두를 만족할때만 1차매수를 함.
2) 1)의 조건을 모두 만족할때 "매수이평기간(15)" 15일선 부근 즉, "매수위치보정(1)"인
+1% 위에서 1차매수를 하고 차트에 "1차매수"를 표시함.
정리하면 15일선 +1%에서 1차매수를 "매수비중1차(30)"인 30%를 함.
3) 1차매수 후 1차매도없이 하락하면 "매수위치2차(7)" 즉, 7% 하락하면 2차매수를
"매수비중2차(35)인 35%를 하고 차트에 "2차매수"를 표시함.
2. 매도조건
1) 기타 매도조건은 기존의 시스템식과 같음.
2) "타점보유일수(5)"일때 "익절"에 대한 내용도 기존의 시스템식과 같음.
3. 기타 사항은 첨부한 차트를 참고해 주세요..
기존 시스템식은 아래와 같습니다.
--------------------------------------------------------------------------------------
input : 전략식시작일자(20151028), 전략식시작시간(090000), 전략총매수금액(5000);
input : 전략식종료일자(20151231);
input : 갭하락(5), 시장보정계수(5),일봉이평기간(120),이평보정계수(5);
input : P(10), 매수위치1차(10), 매수위치2차(7), 매수위치3차(14);
input : 매수위치보정(1);
input : 매도위치1차(7), 매도위치2차(14);
input : 매수비중1차(30), 매수비중2차(35), 매수비중3차(35);
input : 매도비중1차(50), 매도비중2차(50);
input : 전략식진입횟수(100);
input : 타점보유일수(5);
var : sum(0),mav(0),cnt(0),eup(0),edn(0),Didx(0),LatestEntryDidx(0),Ecnt(0);
var : TimeCond(false),Xcond1(false),Xcond2(false),Loss(0),LatestEntrylow(0);
var : Period(0),매수1차(0);
var : cum1(0),cum2(0),ma1(0),ma2(0);
# 일자수 계산
if date != date[1] Then
Didx = Didx+1;
# 일봉 120이평 계산(전일기준,전전일기준)
cum1 = 0;
cum2 = 0;
for cnt = 1 to 일봉이평기간{
cum1 = cum1+DayClose(cnt);
cum2 = cum2+DayClose(cnt+1);
}
# 전일기준 일봉 120일이평
ma1 = cum1/일봉이평기간;
# 전전일기준 일봉 120일이평
ma2 = cum2/일봉이평기간;
#기본값은 기간은 P, %는 매수위치1차
Period = P;
매수1차 = 매수위치1차;
#갭하락이면
#기간은 기존Period값+시장보정계수
#%는 기존 매수1차값에 + 시장보정계수
if dayopen < DayClose(1)*(1-갭하락/100) Then{
Period = Period + 시장보정계수;
매수1차 = 매수1차 + 시장보정계수;
}
#이평하락이면
#기간은 기존Period값+이평보정계수
#%는 기존 매수1차값에 + 이평보정계수
if ma1 < ma2 and DayClose(일봉이평기간+1) > 0 Then{
Period = Period + 이평보정계수;
매수1차 = 매수1차 + 이평보정계수;
}
#당일포함 일봉 Period개의 종가를 누적
sum = 0;
for cnt = 0 to Period-1{
sum = sum+DayClose(cnt);
}
#누적값을 Period로 나누어 평균값 산출
mav = sum/Period;
#상단계산
Eup = mav+mav*(매수1차/100);
#하단계산
Edn = mav-mav*(매수1차/100);
#지정일 지정시간이 되면 TimeCond는 True(그전에는 false)
if sdate == 전략식시작일자 and (stime == 전략식시작시간 or (stime > 전략식시작시간 and stime[1] < 전략식시작시간 )) then
TimeCond = true;
if sdate > 전략식종료일자 Then
TimeCond = false;
#TimeCond가 True가 된 후
if TimeCond == true then{
if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "1차매수" Then
Ecnt = Ecnt+1;
#무포지션 상태에서 매수위치1차에 도달하면 매수
if MarketPosition == 0 and Ecnt < 전략식진입횟수 Then
buy("1차매수",atlimit,Edn*(1+매수위치보정/100),Floor((전략총매수금액*10000/c)*(매수비중1차/100)));
#첫매수이후
if MarketPosition == 1 Then{
#최근 진입시점의 일자수 저장
if CurrentContracts > CurrentContracts[1] Then{
LatestEntryDidx = Didx;
LatestEntrylow = L;
}
#1차매수 발생 후 매수위치2차에 도달하면 매수
if MaxEntries == 1 Then
buy("2차매수",atlimit,Edn[BarsSinceEntry]*(1-매수위치2차/100),Floor((전략총매수금액*10000/c)*(매수비중2차/100)));
#1차매수 발생 후 매수위치3차에 도달하면 매수
if MaxEntries == 2 Then
buy("3차매수",atlimit,Edn[BarsSinceEntry]*(1-매수위치3차/100),Floor((전략총매수금액*10000/c)*(매수비중3차/100)));
#1차매도가 한번 발생하면 더이상 발생못하도록 Xcond1은 true
if LatestExitName(0) == "1차매도" then
Xcond1 = true;
#2차매도가 한번 발생하면 더이상 발생못하도록 Xcond2는 true
if LatestExitName(0) == "2차매도" then
Xcond2 = true;
#Xcond1이 false일때
#진입이후 최저가에서 매도위치1차 만큼 상승하면 일부 청산
if Xcond1 == false Then
exitlong("1차매도",Atlimit,lowest(L,BarsSinceEntry)*(1+매도위치1차/100),"",Floor(MaxContracts*(매도비중1차/100)),1);
#Xcond2가 false일
#진입이후 최저가에서 매도위치2차 만큼 상승하면 전량청산
if Xcond2 == false Then
exitlong("2차매도",Atlimit,lowest(L,BarsSinceEntry)*(1+매도위치2차/100));
#최근 진입후 3일이상 경과(현재 일자수가 최근진입시점의 일자수보다 3이상증가)
if Didx >= LatestEntryDidx+타점보유일수 and Xcond1 == false and CurrentContracts == CurrentContracts[1] Then{
#최근 진입이후 3일되었을때의 최근진입일 포함3일 최저가 계산
if date != date[1] and Didx == LatestEntryDidx[BarsSinceEntry]+3 Then{
Loss = daylow(1);
for cnt = 1 to 타점보유일수 {
if daylow(cnt) < Loss Then
Loss = daylow(cnt);
}
}
#Loss값 이하로 가격하락하면 전량 청산
exitlong("손절",AtStop,Loss);
}
#최종 매수일 포함 3일경과되면 다음날 시가에 매도
if Didx == LatestEntryDidx+(타점보유일수-1) and stime == 150000 Then{
exitlong("익절2",AtMarket);
}
# 1차매도가 발생한 상황
# 가장 최근 진입일의 당일최저가보다 낮은 시세 발생하면 전량청산
# if L < LatestEntrylow and Xcond1 == false Then
# LatestEntrylow = L;
# if Xcond1 == true and CurrentContracts == CurrentContracts[1] Then{
# exitlong("익절1",AtStop,LatestEntrylow);
# }
}
else{ #매수포지션이 아니면 false로 초기화
Xcond1 = false;
Xcond2 = false;
}
}
2015-11-03
194
글번호 92024
답변완료
추가 문의 드립니다.
매우 성의있고 만족한
수식 답변(44823)에 깊이 깊이 감사 드립니다.
그림과 같이 텍스트 위치를 변경할려면
(별표 부분을 화살표 위치로)
70~73행을 어떻게 고치면 되는지요?
input : 소수점자리조정(10000);
input : 아시아시작(081000),아시아종료(152000);
input : 유럽시작(153000),유럽종료(213000);
input : 미국시작(214000),미국종료(065000);
var : cnt(0),Tcond1(false),Tcond2(false),Tcond3(false);
Array : TL11[10](0),TL12[10](0),TL13[10](0),TL14[10](0),Tx1[10](0),TX11[10](0);
Array : SD1[10](0),ST1[10](0),ED1[10](0),ET1[10](0),H1[10](0),L1[10](0);
Array : TL21[10](0),TL22[10](0),TL23[10](0),TL24[10](0),Tx2[10](0);
Array : SD2[10](0),ST2[10](0),ED2[10](0),ET2[10](0),H2[10](0),L2[10](0);
Array : TL31[10](0),TL32[10](0),TL33[10](0),TL34[10](0),Tx3[10](0);
Array : SD3[10](0),ST3[10](0),ED3[10](0),ET3[10](0),H3[10](0),L3[10](0);
if time == 아시아종료 or (time > 아시아종료 and time[1] < 아시아종료) Then
Tcond1 = false;
if stime == 아시아시작 or (stime > 아시아시작 and stime[1] < 아시아시작) Then{
SD1[0] = sdate;
ST1[0] = stime;
H1[0] = H;
L1[0] = L;
Tcond1 = true;
for cnt = 1 to 9{
SD1[cnt] = SD1[cnt-1][1];
ST1[cnt] = ST1[cnt-1][1];
ED1[cnt] = ED1[cnt-1][1];
ET1[cnt] = ET1[cnt-1][1];
H1[cnt] = H1[cnt-1][1];
L1[cnt] = L1[cnt-1][1];
}
#전일
TL_Delete(TL11[1]);
TL_Delete(TL12[1]);
TL_Delete(TL13[1]);
TL_Delete(TL14[1]);
TL11[1] = TL_New(SD1[1],ST1[1],H1[1],ED1[1],ET1[1],H1[1]);
TL12[1] = TL_New(SD1[1],ST1[1],L1[1],ED1[1],ET1[1],L1[1]);
TL13[1] = TL_New(SD1[1],ST1[1],H1[1],SD1[1],ST1[1],L1[1]);
TL14[1] = TL_New(ED1[1],ET1[1],H1[1],ED1[1],ET1[1],L1[1]);
TL_SetColor(TL11[1],RED);
TL_SetColor(TL12[1],RED);
TL_SetColor(TL13[1],RED);
TL_SetColor(TL14[1],RED);
Text_Delete(tx1[1]);
tx1[1] = Text_New(ED1[1],ET1[1],H1[1],NumToStr((H1[1]-L1[1])*소수점자리조정,0));
Text_SetColor(tx1[1],RED);
Text_SetStyle(tx1[1],1,1);
#전전일
TL_Delete(TL11[2]);
TL_Delete(TL12[2]);
TL_Delete(TL13[2]);
TL_Delete(TL14[2]);
TL11[2] = TL_New(SD1[2],ST1[2],H1[2],ED1[2],ET1[2],H1[2]);
TL12[2] = TL_New(SD1[2],ST1[2],L1[2],ED1[2],ET1[2],L1[2]);
TL13[2] = TL_New(SD1[2],ST1[2],H1[2],SD1[2],ST1[2],L1[2]);
TL14[2] = TL_New(ED1[2],ET1[2],H1[2],ED1[2],ET1[2],L1[2]);
TL_SetColor(TL11[2],RED);
TL_SetColor(TL12[2],RED);
TL_SetColor(TL13[2],RED);
TL_SetColor(TL14[2],RED);
Text_Delete(tx1[2]);
tx1[2] = Text_New(ED1[2],ET1[2],H1[2],NumToStr((H1[2]-L1[2])*소수점자리조정,0));
Text_SetColor(tx1[2],RED);
Text_SetStyle(tx1[2],1,1);
Text_Delete(tx11[2]);
tx11[2] = Text_New(ED1[2],ET1[2],H1[2],RIGHTStr("(-2일)",6));
Text_SetColor(tx11[2],RED);
Text_SetStyle(tx11[2],3,1);
}
if Tcond1 == true Then{
ED1[0] = Sdate;
ET1[0] = Stime;
if H > H1[0] Then
H1[0] = H;
if L < L1[0] Then
L1[0] = L;
#당일
TL_Delete(TL11[0]);
TL_Delete(TL12[0]);
TL_Delete(TL13[0]);
TL_Delete(TL14[0]);
TL11[0] = TL_New(SD1[0],ST1[0],H1[0],ED1[0],ET1[0],H1[0]);
TL12[0] = TL_New(SD1[0],ST1[0],L1[0],ED1[0],ET1[0],L1[0]);
TL13[0] = TL_New(SD1[0],ST1[0],H1[0],SD1[0],ST1[0],L1[0]);
TL14[0] = TL_New(ED1[0],ET1[0],H1[0],ED1[0],ET1[0],L1[0]);
TL_SetColor(TL11[0],RED);
TL_SetColor(TL12[0],RED);
TL_SetColor(TL13[0],RED);
TL_SetColor(TL14[0],RED);
Text_Delete(tx1[0]);
tx1[0] = Text_New(sdate,stime,H1[0],NumToStr((H1[0]-L1[0])*소수점자리조정,0));
Text_SetColor(tx1[0],RED);
Text_SetStyle(tx1[0],1,1);
}
if time == 유럽종료 or (time > 유럽종료 and time[1] < 유럽종료) Then
Tcond2 = false;
if stime == 유럽시작 or (stime > 유럽시작 and stime[1] < 유럽시작) Then{
SD2[0] = sdate;
ST2[0] = stime;
H2[0] = H;
L2[0] = L;
Tcond2 = true;
for cnt = 1 to 9{
SD2[cnt] = SD2[cnt-1][1];
ST2[cnt] = ST2[cnt-1][1];
ED2[cnt] = ED2[cnt-1][1];
ET2[cnt] = ET2[cnt-1][1];
H2[cnt] = H2[cnt-1][1];
L2[cnt] = L2[cnt-1][1];
}
#전일
TL_Delete(TL21[1]);
TL_Delete(TL22[1]);
TL_Delete(TL23[1]);
TL_Delete(TL24[1]);
TL21[1] = TL_New(SD2[1],ST2[1],H2[1],ED2[1],ET2[1],H2[1]);
TL22[1] = TL_New(SD2[1],ST2[1],L2[1],ED2[1],ET2[1],L2[1]);
TL23[1] = TL_New(SD2[1],ST2[1],H2[1],SD2[1],ST2[1],L2[1]);
TL24[1] = TL_New(ED2[1],ET2[1],H2[1],ED2[1],ET2[1],L2[1]);
TL_SetColor(TL21[1],YELLOW);
TL_SetColor(TL22[1],YELLOW);
TL_SetColor(TL23[1],YELLOW);
TL_SetColor(TL24[1],YELLOW);
Text_Delete(tx2[1]);
tx2[1] = Text_New(ED2[1],ET2[1],H2[1],NumToStr((H2[1]-L2[1])*소수점자리조정,0));
Text_SetColor(tx2[1],YELLOW);
Text_SetStyle(tx2[1],1,1);
#전전일
TL_Delete(TL21[2]);
TL_Delete(TL22[2]);
TL_Delete(TL23[2]);
TL_Delete(TL24[2]);
TL21[2] = TL_New(SD2[2],ST2[2],H2[2],ED2[2],ET2[2],H2[2]);
TL22[2] = TL_New(SD2[2],ST2[2],L2[2],ED2[2],ET2[2],L2[2]);
TL23[2] = TL_New(SD2[2],ST2[2],H2[2],SD2[2],ST2[2],L2[2]);
TL24[2] = TL_New(ED2[2],ET2[2],H2[2],ED2[2],ET2[2],L2[2]);
TL_SetColor(TL21[2],YELLOW);
TL_SetColor(TL22[2],YELLOW);
TL_SetColor(TL23[2],YELLOW);
TL_SetColor(TL24[2],YELLOW);
Text_Delete(tx2[2]);
tx2[2] = Text_New(ED2[2],ET2[2],H2[2],NumToStr((H2[2]-L2[2])*소수점자리조정,0));
Text_SetColor(tx2[2],YELLOW);
Text_SetStyle(tx2[2],1,1);
}
if Tcond2 == true Then{
ED2[0] = Sdate;
ET2[0] = Stime;
if H > H2[0] Then
H2[0] = H;
if L < L2[0] Then
L2[0] = L;
#당일
TL_Delete(TL21[0]);
TL_Delete(TL22[0]);
TL_Delete(TL23[0]);
TL_Delete(TL24[0]);
TL21[0] = TL_New(SD2[0],ST2[0],H2[0],ED2[0],ET2[0],H2[0]);
TL22[0] = TL_New(SD2[0],ST2[0],L2[0],ED2[0],ET2[0],L2[0]);
TL23[0] = TL_New(SD2[0],ST2[0],H2[0],SD2[0],ST2[0],L2[0]);
TL24[0] = TL_New(ED2[0],ET2[0],H2[0],ED2[0],ET2[0],L2[0]);
TL_SetColor(TL21[0],YELLOW);
TL_SetColor(TL22[0],YELLOW);
TL_SetColor(TL23[0],YELLOW);
TL_SetColor(TL24[0],YELLOW);
Text_Delete(tx2[0]);
tx2[0] = Text_New(sdate,stime,H2[0],NumToStr((H2[0]-L2[0])*소수점자리조정,0));
Text_SetColor(tx2[0],YELLOW);
Text_SetStyle(tx2[0],1,1);
}
if time == 미국종료 or (time > 미국종료 and time[1] < 미국종료) Then
Tcond3 = false;
if stime == 미국시작 or (stime > 미국시작 and stime[1] < 미국시작) Then{
SD3[0] = sdate;
ST3[0] = stime;
H3[0] = H;
L3[0] = L;
Tcond3 = true;
for cnt = 1 to 9{
SD3[cnt] = SD3[cnt-1][1];
ST3[cnt] = ST3[cnt-1][1];
ED3[cnt] = ED3[cnt-1][1];
ET3[cnt] = ET3[cnt-1][1];
H3[cnt] = H3[cnt-1][1];
L3[cnt] = L3[cnt-1][1];
}
#전일
TL_Delete(TL31[1]);
TL_Delete(TL32[1]);
TL_Delete(TL33[1]);
TL_Delete(TL34[1]);
TL31[1] = TL_New(SD3[1],ST3[1],H3[1],ED3[1],ET3[1],H3[1]);
TL32[1] = TL_New(SD3[1],ST3[1],L3[1],ED3[1],ET3[1],L3[1]);
TL33[1] = TL_New(SD3[1],ST3[1],H3[1],SD3[1],ST3[1],L3[1]);
TL34[1] = TL_New(ED3[1],ET3[1],H3[1],ED3[1],ET3[1],L3[1]);
TL_SetColor(TL31[1],BLUE);
TL_SetColor(TL32[1],BLUE);
TL_SetColor(TL33[1],BLUE);
TL_SetColor(TL34[1],BLUE);
Text_Delete(tx3[1]);
tx3[1] = Text_New(ED3[1],ET3[1],H3[1],NumToStr((H3[1]-L3[1])*소수점자리조정,0));
Text_SetColor(tx3[1],BLUE);
Text_SetStyle(tx3[1],1,1);
#전전일
TL_Delete(TL31[2]);
TL_Delete(TL32[2]);
TL_Delete(TL33[2]);
TL_Delete(TL34[2]);
TL31[2] = TL_New(SD3[2],ST3[2],H3[2],ED3[2],ET3[2],H3[2]);
TL32[2] = TL_New(SD3[2],ST3[2],L3[2],ED3[2],ET3[2],L3[2]);
TL33[2] = TL_New(SD3[2],ST3[2],H3[2],SD3[2],ST3[2],L3[2]);
TL34[2] = TL_New(ED3[2],ET3[2],H3[2],ED3[2],ET3[2],L3[2]);
TL_SetColor(TL31[2],BLUE);
TL_SetColor(TL32[2],BLUE);
TL_SetColor(TL33[2],BLUE);
TL_SetColor(TL34[2],BLUE);
Text_Delete(tx3[2]);
tx3[2] = Text_New(ED3[2],ET3[2],H3[2],NumToStr((H3[2]-L3[2])*소수점자리조정,0));
Text_SetColor(tx3[2],BLUE);
Text_SetStyle(tx3[2],1,1);
}
if Tcond3 == true Then{
ED3[0] = Sdate;
ET3[0] = Stime;
if H > H3[0] Then
H3[0] = H;
if L < L3[0] Then
L3[0] = L;
#당일
TL_Delete(TL31[0]);
TL_Delete(TL32[0]);
TL_Delete(TL33[0]);
TL_Delete(TL34[0]);
TL31[0] = TL_New(SD3[0],ST3[0],H3[0],ED3[0],ET3[0],H3[0]);
TL32[0] = TL_New(SD3[0],ST3[0],L3[0],ED3[0],ET3[0],L3[0]);
TL33[0] = TL_New(SD3[0],ST3[0],H3[0],SD3[0],ST3[0],L3[0]);
TL34[0] = TL_New(ED3[0],ET3[0],H3[0],ED3[0],ET3[0],L3[0]);
TL_SetColor(TL31[0],BLUE);
TL_SetColor(TL32[0],BLUE);
TL_SetColor(TL33[0],BLUE);
TL_SetColor(TL34[0],BLUE);
Text_Delete(tx3[0]);
tx3[0] = Text_New(sdate,stime,H3[0],NumToStr((H3[0]-L3[0])*소수점자리조정,0));
Text_SetColor(tx3[0],BLUE);
Text_SetStyle(tx3[0],1,1);
}
2015-11-03
249
글번호 92017
답변완료
다시 문의드립니다.
아래답변을 받았는데요, 5분봉에 적용해보니 매도신호가 하나도안뜹니다.
수정부탁드립니다.
var : TF(0),cnt(0);
Array : HH[10](0),LL[10](0);
TF = TimeToMinutes(stime);
if Bdate != bdate[1] or (Bdate == Bdate[1] and stime < 150000 and TF < TF[1]) Then{
HH[0] = H;
LL[0] = L;
for cnt = 1 to 9{
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
if HH[2] > 0 and LL[2] > 0 Then{
if HH[0] > max(HH[1],HH[2]) Then
buy();
if ll[0] < mIN(LL[1],LL[2]) Then
sell();
}
2015-11-03
191
글번호 92015
답변완료
부탁드립니다
수고하십니다
선물 매수.매도수급지표선을 겹치는 수식 부탁드립니다
2015-11-03
208
글번호 92005
파파리리 님에 의해서 삭제되었습니다.
2015-11-03
2
글번호 91994
답변완료
문의드립니다
안녕하세요
아래 식 에서 시작시간및 종료시간을 종목및 썸머타임에 관계없이 적용하고자합니다
현재 예스글로벌사용중인데 crude oil 같은종목은 시작시간이 썸머타임과 관련하여
변경되는것이 맞는것인가요?...
부탁드립니다.
===============================================================================
input : af1(0.01),max1(0.1);
input : S1(20),P1(53);
var : para1(0),T1(0);
var : Bcond1(false);
var : Scond1(false);
var : pre(0),daycnt(0);
para1 = sar(af1,max1);
if stime == 170000 or (stime > 170000 and stime[1] < 170000) Then
pre = TotalTrades;
if MarketPosition == 0 Then
daycnt = TotalTrades-Pre;
Else
daycnt = (TotalTrades-Pre)+1;
if stime >= 170000 or stime < 154000 Then{
if crossup(C,para1) Then{
Bcond1 = false;
var1 = H;
var2 = L;
T1 = 1;
}
if CrossDown(C,para1) Then{
Scond1 = false;
var1 = H;
var2 = L;
T1 = -1;
}
if T1 == 1 and T1[1] == 1 and Bcond1 == false and H >= var1[1]+PriceScale*1 Then
Bcond1 = true;
if T1 == -1 and T1[1] == -1 and Scond1 == false and L <= var2[1]-PriceScale*1 Then
Scond1 = true;
if T1 == 1 and Bcond1 == false Then
buy("B1",AtStop,var1+PriceScale*1);
if T1 == -1 and Scond1 == false Then
sell("S1",AtStop,var2-PriceScale*1);
if daycnt == 0 and crossup(c,var1) and c > para1 Then
buy("B2");
if daycnt == 0 and CrossDown(c,var2) and c < para1 Then
sell("S2");
}
=============================================================================
중략
============================================================================
if stime == 154000 or (stime > 154000 and stime[1] < 154000) Then{
exitlong("bexit");
ExitShort("sexit");
}
2015-11-03
201
글번호 91993
답변완료
피보나치 수열에 대해서 문의 드립니다.
피보나치 수열을 0%(고점) 23.6%, 38.2%, 50%, 61.8%, 76.4% 100%(저점)
이 7가지를 각각 따로 변수를 지정 할 수 있도록 해주십시오. 제가 원하는 가격을 따로 각각
적을 수 있도록 해주시면 감사하겠습니다. 예를 들면 고점 과 저점을 설정하면 각 퍼센트를 자
동으로 설정 하는 것이 아니라 각각 따로 설정 하여 지표에 선이 그어 질 수 있도록 해주시면
감사하겠습니다.
많은 도움 주셔서 감사합니다.
2015-11-03
303
글번호 91989
답변완료
문의 드립니다.
10^(LOG(고점)-(LOG(고점)-LOG(저점))*0.236)
10^(LOG(고점)-(LOG(고점)-LOG(저점))*0.382)
10^(LOG(고점)-(LOG(고점)-LOG(저점))*0.500)
10^(LOG(고점)-(LOG(고점)-LOG(저점))*0.618)
10^(LOG(고점)-(LOG(고점)-LOG(저점))*0.764)
우리나라 시간 기준으로 장이 시작되면 당일 고점이 선으로 이어지는 것이 아닌 고점을 새로 갱신하면 갱신한 고점 기준으로 선이 이어지게 해주시고 새로 갱신한 고점 밑에 고점은 연결이 진행되지 않게 적용해주십시오. 저점도 마찬 가지로 해주시면 감사하겠습니다. 또한
고점과 저점에 위의 엑셀 식을 적용한 피보나치 수열이 적용 될 수 있도록 해주십시오. 고점과 저점이 새로 갱신을 하면 자동으로 위의 식이 적용된 피보나치 수열이 자동으로 변하면서 진행 될 수 있도록 해주시면 감사하겠습니다.
다음날 우리나라 기준 장이 열렸을 때에도 그날 기준으로 위에 처럼 적용 될 수있게 해주시면 감사하겠습니다.
설명이 어려운것 같아 그림으로도 남깁니다 감사합니다.
2015-11-03
285
글번호 91988