커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
5476
글번호 230811
답변완료
문의드립니다
지그재그 파동식인데요
스토캐스틱을 기준으로 하여
50선 위로 스코K가 상승하여... 50선 아래로 떨어지는 구간까지를 최고가격을 고점으로
50선 아래로 스토K나 하락하여 ... 50선 위로 올라오는 구간까지를 최저가격을 저점으로
하며.
또한.. 과열권<80> 하락 이후.. 51선을 이탈하지 않고 다시 과열권 진입시
직전 하락한 51에서 79사이의 최저가격을 저점으로 하고
다시 진입한 과열권에서 최고가격을 고점으로 표현
침체권<20> 돌파 이후 49선을 돌파하지 않고 다시 침체권 진입시
직전 상승한 21에서 49 사이의 최고가격을 고점으로 하고
다시 진입한 침체권에서 최저가각을 저점으로 표현이 되게 부탁드립니다
즉. 고점의 기준이 2개이며 .. 저점의 기준도 2개입니다
위 내용에 맞게 수식을 작성 하여 주셔도 되구요
아니면 아래 수식을 변경하여 주셔도 됩니다
Input:Period(12),Period1(5),레벨(4),선색깔(MAGENTA),선두께(3),수치표시여부(1),수치표시위치(10),폰트크기(13),두껍게(1);
Var:StokValue(0),고점(1),저점(-1),신규(1),연장(2),연속(3),삼선(4);
Array:고[10,44](0),저[10,44](0), // 열번호 : 1=가격,2=Index,3=sDate,4=sTime,11=가격,12=Index,13=sDate,14=sTime
최종상태[5](0),처리구분[5](0),TL[3](0),Text[3](0);
//=========================================================//
If 레벨 <= 4 Then {
Var1 = 레벨 * 10;
StokValue = StochasticsK(Period,Period1);
Value1 = IndicatorZigZag302(H,L,StokValue,50,고,저,최종상태,처리구분);
If 최종상태[레벨] == 고점 Then {
If 처리구분[레벨] == 신규 Then {
TL[2] = TL_New(저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1],고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1]);
If 수치표시여부 == 1 Then {
Text[2] = Text_New(고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1] + (수치표시위치 * PriceScale),
NumToStr(고[1,Var1 + 1],2) + "(+" + NumToStr(고[1,Var1 + 1] - 저[1,Var1 + 1],2) + ", " +
NumToStr((고[1,Var1 + 1] - 저[1,Var1 + 1])*100/저[1,Var1 + 1],2) + "%)");
Text_SetStyle(Text[2], 2, 1);
Text_SetSize(Text[2],폰트크기);
Text_SetBold(Text[2],두껍게);
Text_SetColor(Text[2],RED);
}
}
If 처리구분[레벨] == 연장 Then {
TL_SetEnd(TL[2],고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1]);
If 수치표시여부 == 1 Then {
Text_SetLocation(Text[2],고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1] + (수치표시위치 * PriceScale));
Text_SetString(Text[2],NumToStr(고[1,Var1 + 1],2) + "(+" + NumToStr(고[1,Var1 + 1] - 저[1,Var1 + 1],2) + ", " +
NumToStr((고[1,Var1 + 1] - 저[1,Var1 + 1])*100/저[1,Var1 + 1],2) + "%)");
}
}
If 처리구분[레벨] == 연속 Then {
TL[1] = TL_New(고[2,Var1 + 3],고[2,Var1 + 4],고[2,Var1 + 1],저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1]);
TL[2] = TL_New(저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1],고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1]);
If 수치표시여부 == 1 Then {
Text[1] = Text_New(저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1] - (수치표시위치 * PriceScale),
NumToStr(저[1,Var1 + 1],2) + "(-" + NumToStr(고[2,Var1 + 1] - 저[1,Var1 + 1],2) + ", " +
NumToStr((고[2,Var1 + 1] - 저[1,Var1 + 1])*100/고[2,Var1 + 1],2) + "%)");
Text[2] = Text_New(고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1] + (수치표시위치 * PriceScale),
NumToStr(고[1,Var1 + 1],2) + "(+" + NumToStr(고[1,Var1 + 1] - 저[1,Var1 + 1],2) + ", " +
NumToStr((고[1,Var1 + 1] - 저[1,Var1 + 1])*100/저[1,Var1 + 1],2) + "%)");
Text_SetStyle(Text[1], 2, 0);
Text_SetStyle(Text[2], 2, 1);
Text_SetSize(Text[1],폰트크기);
Text_SetSize(Text[2],폰트크기);
Text_SetBold(Text[1],두껍게);
Text_SetBold(Text[2],두껍게);
Text_SetColor(Text[1],BLUE);
Text_SetColor(Text[2],RED);
}
}
If 처리구분[레벨] == 삼선 Then {
TL[0] = TL_New(저[2,Var1 + 3],저[2,Var1 + 4],저[2,Var1 + 1],고[2,Var1 + 3],고[2,Var1 + 4],고[2,Var1 + 1]);
TL[1] = TL_New(고[2,Var1 + 3],고[2,Var1 + 4],고[2,Var1 + 1],저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1]);
TL[2] = TL_New(저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1],고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1]);
If 수치표시여부 == 1 Then {
Text[0] = Text_New(고[2,Var1 + 3],고[2,Var1 + 4],고[2,Var1 + 1] + (수치표시위치 * PriceScale),
NumToStr(고[2,Var1 + 1],2) + "(+" + NumToStr(고[2,Var1 + 1] - 저[2,Var1 + 1],2) + ", " +
NumToStr((고[2,Var1 + 1] - 저[2,Var1 + 1])*100/저[2,Var1 + 1],2) + "%)");
Text[1] = Text_New(저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1] - (수치표시위치 * PriceScale),
NumToStr(저[1,Var1 + 1],2) + "(-" + NumToStr(고[2,Var1 + 1] - 저[1,Var1 + 1],2) + ", " +
NumToStr((고[2,Var1 + 1] - 저[1,Var1 + 1])*100/고[2,Var1 + 1],2) + "%)");
Text[2] = Text_New(고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1] + (수치표시위치 * PriceScale),
NumToStr(고[1,Var1 + 1],2) + "(+" + NumToStr(고[1,Var1 + 1] - 저[1,Var1 + 1],2) + ", " +
NumToStr((고[1,Var1 + 1] - 저[1,Var1 + 1])*100/저[1,Var1 + 1],2) + "%)");
Text_SetStyle(Text[0], 2, 1);
Text_SetStyle(Text[1], 2, 0);
Text_SetStyle(Text[2], 2, 1);
Text_SetSize(Text[0],폰트크기);
Text_SetSize(Text[1],폰트크기);
Text_SetSize(Text[2],폰트크기);
Text_SetBold(Text[0],두껍게);
Text_SetBold(Text[1],두껍게);
Text_SetBold(Text[2],두껍게);
Text_SetColor(Text[0],RED);
Text_SetColor(Text[1],BLUE);
Text_SetColor(Text[2],RED);
}
}
}
If 최종상태[레벨] == 저점 Then {
If 처리구분[레벨] == 신규 Then {
TL[2] = TL_New(고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1],저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1]);
If 수치표시여부 == 1 Then {
Text[2] = Text_New(저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1] - (수치표시위치 * PriceScale),
NumToStr(저[1,Var1 + 1],2) + "(-" + NumToStr(고[1,Var1 + 1] - 저[1,Var1 + 1],2) + ", " +
NumToStr((고[1,Var1 + 1] - 저[1,Var1 + 1])*100/고[1,Var1 + 1],2) + "%)");
Text_SetStyle(Text[2], 2, 0);
Text_SetSize(Text[2],폰트크기);
Text_SetBold(Text[2],두껍게);
Text_SetColor(Text[2],BLUE);
}
}
If 처리구분[레벨] == 연장 Then {
TL_SetEnd(TL[2],저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1]);
If 수치표시여부 == 1 Then {
Text_SetLocation(Text[2],저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1] - (수치표시위치 * PriceScale));
Text_SetString(Text[2],NumToStr(저[1,Var1 + 1],2) + "(-" + NumToStr(고[1,Var1 + 1] - 저[1,Var1 + 1],2) + ", " +
NumToStr((고[1,Var1 + 1] - 저[1,Var1 + 1])*100/고[1,Var1 + 1],2) + "%)");
}
}
If 처리구분[레벨] == 연속 Then {
TL[1] = TL_New(저[2,Var1 + 3],저[2,Var1 + 4],저[2,Var1 + 1],고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1]);
TL[2] = TL_New(고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1],저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1]);
If 수치표시여부 == 1 Then {
Text[1] = Text_New(고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1] + (수치표시위치 * PriceScale),
NumToStr(고[1,Var1 + 1],2) + "(+" + NumToStr(고[1,Var1 + 1] - 저[2,Var1 + 1],2) + ", " +
NumToStr((고[1,Var1 + 1] - 저[2,Var1 + 1])*100/저[2,Var1 + 1],2) + "%)");
Text[2] = Text_New(저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1] - (수치표시위치 * PriceScale),
NumToStr(저[1,Var1 + 1],2) + "(-" + NumToStr(고[1,Var1 + 1] - 저[1,Var1 + 1],2) + ", " +
NumToStr((고[1,Var1 + 1] - 저[1,Var1 + 1])*100/고[1,Var1 + 1],2) + "%)");
Text_SetStyle(Text[1], 2, 1);
Text_SetStyle(Text[2], 2, 0);
Text_SetSize(Text[1],폰트크기);
Text_SetSize(Text[2],폰트크기);
Text_SetBold(Text[1],두껍게);
Text_SetBold(Text[2],두껍게);
Text_SetColor(Text[1],RED);
Text_SetColor(Text[2],BLUE);
}
}
If 처리구분[레벨] == 삼선 Then {
TL[0] = TL_New(고[2,Var1 + 3],고[2,Var1 + 4],고[2,Var1 + 1],저[2,Var1 + 3],저[2,Var1 + 4],저[2,Var1 + 1]);
TL[1] = TL_New(저[2,Var1 + 3],저[2,Var1 + 4],저[2,Var1 + 1],고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1]);
TL[2] = TL_New(고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1],저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1]);
If 수치표시여부 == 1 Then {
Text[0] = Text_New(저[2,Var1 + 3],저[2,Var1 + 4],저[2,Var1 + 1] - (수치표시위치 * PriceScale),
NumToStr(저[2,Var1 + 1],2) + "(-" + NumToStr(고[2,Var1 + 1] - 저[2,Var1 + 1],2) + ", " +
NumToStr((고[2,Var1 + 1] - 저[2,Var1 + 1])*100/고[2,Var1 + 1],2) + "%)");
Text[1] = Text_New(고[1,Var1 + 3],고[1,Var1 + 4],고[1,Var1 + 1] + (수치표시위치 * PriceScale),
NumToStr(고[1,Var1 + 1],2) + "(+" + NumToStr(고[1,Var1 + 1] - 저[2,Var1 + 1],2) + ", " +
NumToStr((고[1,Var1 + 1] - 저[2,Var1 + 1])*100/저[2,Var1 + 1],2) + "%)");
Text[2] = Text_New(저[1,Var1 + 3],저[1,Var1 + 4],저[1,Var1 + 1] - (수치표시위치 * PriceScale),
NumToStr(저[1,Var1 + 1],2) + "(-" + NumToStr(고[1,Var1 + 1] - 저[1,Var1 + 1],2) + ", " +
NumToStr((고[1,Var1 + 1] - 저[1,Var1 + 1])*100/고[1,Var1 + 1],2) + "%)");
Text_SetStyle(Text[0], 2, 0);
Text_SetStyle(Text[1], 2, 1);
Text_SetStyle(Text[2], 2, 0);
Text_SetSize(Text[0],폰트크기);
Text_SetSize(Text[1],폰트크기);
Text_SetSize(Text[2],폰트크기);
Text_SetBold(Text[0],두껍게);
Text_SetBold(Text[1],두껍게);
Text_SetBold(Text[2],두껍게);
Text_SetColor(Text[0],BLUE);
Text_SetColor(Text[1],RED);
Text_SetColor(Text[2],BLUE);
}
}
}
TL_SetColor(TL[0],선색깔); TL_SetSize(TL[0],선두께);
TL_SetColor(TL[1],선색깔); TL_SetSize(TL[1],선두께);
TL_SetColor(TL[2],선색깔); TL_SetSize(TL[2],선두께);
} Else {
Alert("4레벨까지만 가능합니다!!");
}
으로
2020-02-11
420
글번호 135850
답변완료
문의드립니다
N봉 전의 고가를 돌파하지 않고... n봉 전의 저가를 이탈하는 봉 매도 진입
N봉전의 저가를 이탈하지 않고... n봉 전의 고가를 돌파하는 봉 매수 진입
위 질문입니다..
대문자N 소문자n에서 숫자가 다릅니다..
예를 들어서
10봉전의 고가를 돌파하지 않고... 3봉전의 저가를 이탈하는 봉에서 매도 진입
10봉전의 저가를 이탈하지 않고 .... 3봉전의 고가를 돒파하는 봉에서 매수 진입
각각의 봉에서 위 3틱.. 아래 3탁에 표시되게 부탁드립니다
매수청산 매도청산은 표시 안되게 해주세요 ^..^
2020-02-11
367
글번호 135848
해피오 님에 의해서 삭제되었습니다.
2020-02-11
107
글번호 135847
답변완료
수평선 우측으로 연장 부탁드립니다
아래 파동선 수식
수평선 전체를 우측으로 연장되게
수정부탁드립니다
감사합니다
좋은하루되세요
Input:length(6);
Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),
TL1(0),처리구분(""),T(0),TL2(0),TL3(0);
var : hh(0),ll(0),ii(0),diff(0),TL41(0),TL42(0),TL43(0),TL44(0),TL45(0),TL46(0);
Array:고점[10,2](0),저점[10,2](0);
처리구분 = "";
If Highest(H,length) == H and lastHiVal <> H and
Lowest(L,length) == L and lastLoVal <> L Then
{
If 저점[1,1] > L Then 처리구분 = "저점처리";
If 고점[1,1] < H Then 처리구분 = "고점처리";
}
Else If Highest(H,length) == H and lastHiVal <> H Then 처리구분 = "고점처리";
Else If Lowest(L,length) == L and lastLoVal <> L Then 처리구분 = "저점처리";
If 처리구분 == "고점처리" Then
{
T = 1;
lastHiVal = H;
If 고점[1,2] < 저점[1,2] Then
{
For j = 10 DownTo 2
{
고점[j,1] = 고점[j-1,1];
고점[j,2] = 고점[j-1,2];
}
}
If 고점[1,2] < 저점[1,2] or 고점[1,1] < H Then
{
고점[1,1] = H;
고점[1,2] = Index;
sBar = Index - 저점[1,2];
eBar = 0;
If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
TL_Delete(TL2);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]);
TL_SetExtRight(TL2,False);
TL2 = TL_New(sDate[1],sTime[1],고점[1,1],sdate,sTime,고점[1,1]);
TL_SetColor(TL2,BLUE);
TL_SetSize(TL2,3);
If 고점[3,1] < 고점[2,1] and 고점[2,1] > 고점[1,1] and 저점[2,1] < 저점[1,1] Then
{
sBar = Index - 저점[2,2];
eBar = Index - 저점[1,2];
}
}
}
If 처리구분 == "저점처리" Then
{
T = -1;
lastLoVal = L;
If 저점[1,2] < 고점[1,2] Then
{
For j = 10 DownTo 2
{
저점[j,1] = 저점[j-1,1];
저점[j,2] = 저점[j-1,2];
}
}
If 저점[1,2] < 고점[1,2] or 저점[1,1] > L Then
{
저점[1,1] = L;
저점[1,2] = Index;
sBar = Index - 고점[1,2];
eBar = 0;
If TL_GetBeginDate(TL1) == sDate[sBar] and TL_GetBeginTime(TL1) == sTime[sBar] Then
{
TL_Delete(TL1);
TL_Delete(TL3);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]);
TL_SetExtRight(TL3,False);
TL3 = TL_New(sDate[1],sTime[1],저점[1,1],sdate,sTime,저점[1,1]);
TL_SetColor(TL3,RED);
TL_SetSize(TL3,3);
If 저점[2,1] < 저점[1,1] and 저점[2,1] < 저점[3,1] and 고점[2,1] > 고점[1,1] Then
{
sBar = Index - 고점[2,2];
eBar = Index - 고점[1,2];
}
}
}
TL_SetSize(TL1,1);
TL_SetColor(TL1,WHITE);
TL_SetEnd(TL2,sdate,stime,고점[1,1]);
TL_SetEnd(TL3,sdate,stime,저점[1,1]);
TL_SetExtRight(TL2,true);
TL_SetExtRight(TL3,true);
if T != T[1] then
{
if T == 1 Then
{
HH = 고점[2,1];
LL = 저점[1,1];
ii = index-고점[2,2];
diff = abs(HH-LL);
}
Else
{
HH = 고점[1,1];
LL = 저점[2,1];
ii = index-저점[2,2];
diff = abs(HH-LL);
}
TL_Delete(TL41);
TL_Delete(TL42);
TL_Delete(TL43);
TL_Delete(TL44);
TL_Delete(TL45);
TL_Delete(TL46);
TL41 = TL_New(sdate[ii],stime[ii],LL+diff*2.00,sdate,stime,LL+diff*2.00);
TL42 = TL_New(sdate[ii],stime[ii],LL+diff*2.618,sdate,stime,LL+diff*2.618);
TL43 = TL_New(sdate[ii],stime[ii],LL+diff*3.618,sdate,stime,LL+diff*3.618);
TL44 = TL_New(sdate[ii],stime[ii],HH-diff*2.00,sdate,stime,HH-diff*2.00);
TL45 = TL_New(sdate[ii],stime[ii],HH-diff*2.618,sdate,stime,HH-diff*2.618);
TL46 = TL_New(sdate[ii],stime[ii],HH-diff*3.618,sdate,stime,HH-diff*3.618);
TL_SetExtRight(TL41,true);
TL_SetExtRight(TL42,true);
TL_SetExtRight(TL43,true);
TL_SetExtRight(TL44,true);
TL_SetExtRight(TL45,true);
TL_SetExtRight(TL46,true);
TL_SetSize(TL41,2);
TL_SetSize(TL42,2);
TL_SetSize(TL43,2);
TL_SetSize(TL44,2);
TL_SetSize(TL45,2);
TL_SetSize(TL46,2);
}
2020-02-12
322
글번호 135846
답변완료
문의 드립니다.
이평선 5 20 정배열이면서
스토케스틱 오실레이터 12 26 9 기준선0 상관없이 상승 전환되면 매수
손절과 익절은 스토케스틱 오실레이터 하락 전환되면 청산 완료
이평선 5 20 역배열이면서
스토케스틱 오실레이터 12 26 9 기준선0 상관없이 하락 전환되면 매도
손절과 익절은 스토케스틱 오실레이터 상승 전환되면 청산 완료
부탁드립니다.
2020-02-11
357
글번호 135845
답변완료
부탁합니다
다시 부탁드립니다.
트릭스지표
input : Period(12),Period1(20);
var1 = trix(Period);
var2 = ma(C,Period1);
if crossup(var1,0) Then
value1 = var2;
if var2 > value1 Then
value1 = var2;
if CrossDown(var1,0) Then
value2 = var2;
if var2 < value2 Then
value2 = var2;
plot1(value1);
plot2(value2);
smi지표
input : g(12),r(25),s(2);
var1 = ema(ema(c-(highest(H,g) + lowest(L,g))*0.5,r),s) * 100/
(0.5 * ema(ema(highest(H,g)-lowest(L,g),r),s));
plot1(var1);
plot2(40);
plot3(-40);
1.매수
1-1 ) 트릭스 지표에서
plot1의 가격이 전전봉과 전봉이 같다가 ( 가격이 동일하다 ) 내려오면 매수
( 단, smi지표의 plot2(40) 이상일때는 신규매수금지 )
1-2 ) 청산이 되고난후 포지션이 없을경우
plot1 가격이 전전봉과 전봉이 같다가 ( 가격이 동일하다 ) 올라가면 매수
( 단, plot2 의 가격이 전봉과 같아야함 )
2. 매수청산
1-1) plot2 가격 밑에서 13틱 ( 종가아닌 실시간체결 - 13틱이면 시장가체결 )
1-2) 매도신호
(단, 청산신호에는 smi 지표의 plot3(-40) 를 적용하지않음 )
1-3) plot1 가격 밑에서 25틱 ( 종가기준 )
매도는 반대
### 시간적용을 할수있게 부탁합니다.
( 10:30 ~ 12:50 ), ( 14:10 ~ 16:50 ) , ( 23:00 ~ 01:50 )
생각외로 다른신호가 발생되어 귀찮게 해드리는같네요.
미리 감사드립니다.
2020-02-12
360
글번호 135844
답변완료
수식 문의 드립니다.
보조차트로 옵션 20개 종목을 추가한후에
거래대금이 가장 많은 상위 4종목의 시가대비 등락률을 각각 표현하고 싶습니다.
감사합니다.
2020-02-11
344
글번호 135843
답변완료
수식 수정 부탁드립니다.
아래수식은 먼저번에 작성해 주신 수식입니다.
100틱봉을 주차트로 하고 아래에 data2차트에 10분봉 차트을 추가해서
매수조건과 매도조건은 10분봉 차트로 판단해서 매수조건과 매도 조건을 만족하면
data1 주차트인 100틱봉에서 매수와 매도를 실행 하고
청산은 작성된 아래수식처럼 하지 않고
주차트에서 15틱 이익시 이익청산
15틱 손실시 손실청산하고 싶습니다.
안녕하세요
예스스탁입니다.
var : T(0);
var : C1(0),C2(0),C3(0),S1(0),S2(0),s3(0);
var1 = ma(C,20);
if countif(C>O,2) == 2 and C[2] < O[2] Then
{
C3 = O[1];
C1 = C3[1];
if C2 > value1 and
C3 > var1[1] and
C1 < C3 Then
buy();
}
if C < O and C[1] > O[1] Then
{
C2 = c[1];
value1 = var1[1];
}
if countif(C<O,2) == 2 and C[2] > O[2] Then
{
S3 = O[1];
S1 = S3[1];
if S2 < value2 and
C3 < var1[1] and
S1 > S3 Then
sell();
}
if C > O and C[1] < O[1] Then
{
S2 = c[1];
value2 = var1[1];
}
즐거운 하루되세요
> 종호 님이 쓴 글입니다.
> 제목 : 20 이평선 기준 전략 수식 문의합니다.
> 매수:
음봉 뒤에 양봉이 2개 연속일 때
이 때의 첫양봉의 시가 = 최초 양봉시가 C1
이후 음봉이 발생하면 음봉 직전 양봉 종가 = C2
다시 음봉뒤에 연속으로 양봉이 2개 연속일 때
이 때의 첫양봉의 시가 = 2번째 연속 양봉시가 C3
음봉 직전 양봉 종가 C2 > 20 이평값
2번째 연속 양봉시가 C3 > 20 이평값
최초 양봉시가 C1 < 2번째 연속 양봉시가 C3
만족하면 매수합니다.
매수청산:
매수후 누적으로 음봉이 2개 발생하면 청산합니다.
매도:
양봉 뒤에 음봉이 2개 연속일 때
이 때의 첫음봉의 시가 = 최초 음봉시가 S1
이후 양봉이 발생하면 양봉 직전 음봉 종가 = S2
다시 양봉뒤에 연속으로 음봉이 2개 연속일 때
이 때의 첫음봉의 시가 = 2번째 연속 음봉시가 S3
양봉 직전 음봉 종가 S2 < 20 이평값
2번째 연속 음봉시가 S3 < 20 이평값
최초 음봉시가 S1 > 2번째 연속 음봉시가 S3
만족하면 매도합니다.
매도청산:
매도후 누적으로 양봉이 2개 발생하면 청산합니다.
2020-02-11
366
글번호 135842
답변완료
청산 수식 부탁드릴께요( 트레일링 )
제가 청산하는 수식은 다음과 같습니다
(1) CCI값이 crossdown에 만족하면 청산
(2) 특정 수익구간에서 음봉시 청산
(3) 일정 수익 발생 후 청산하지 못하고 하락했을때 강제 청산
인데요...
트레일링 스탑을 적용하고 싶습니다.
위 조건을 만족하는 조건에다가
40틱(변수1지정할것임) 상승후 고점에서 -20틱(변수2지정할것임) 하락 시 청산 하는 트레일링
수식 바람니다.
그리고 트레일링은 최적화 수식 돌리면 오류가 많이 발생하나요??
변수1,2 지정을 최적화하려는데 어떻게 해야할까요???
항상 감사드림니다.
================= 수식 ====================
Input : CCI기간(20),CCI값(350);
Input : 즉시익절1(250),즉시손절1(225);
Input : N2(0.6),N3(0);
if MarketPosition == 1 then
{
BuySetup = false;
if countif(CrossDown(CCIv,CCI값),BarsSinceEntry) >= 1 and
CCIv < CCI값 and C < O Then
ExitLong("매수cci청산");
if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*즉시익절1 and C < O Then
ExitLong("즉시익절1");
if highest(H,BarsSinceEntry) >= (EntryPrice+PriceScale*즉시익절1*N2) Then
ExitLong("본전청산1",AtStop,EntryPrice+PriceScale*즉시익절1*N3);
Else
ExitLong("즉시손절1",AtStop,EntryPrice-PriceScale*즉시손절1);
}
2020-02-11
358
글번호 135841