커뮤니티
예스랭귀지 Q&A
답변완료
[공지] 예스랭귀지 AI 어시스턴트, '예스나 AI' 출시 및 무료 체험 안내
안녕하세요, 예스스탁 입니다.복잡한 수식 공부 없이 여러분의 아이디어를 말하면 시스템 트레이딩 언어 예스랭귀지로 작성해주는 서비스예스나 AI(YesNa AI)가 출시되었습니다.지금 예스나 AI를 직접 경험해 보실 수 있도록 20크레딧(질문권 20회)를 무료로 증정해 드리고 있습니다.바로 여러분의 아이디어를 코드로 변환해보세요.--------------------------------------------------🚀 YesNa AI 핵심 기능- 지표식/전략식/종목검색식 생성: 자연어로 요청하면 예스랭귀지 문법에 맞는 코드를 작성합니다.- 종목검색식 변환 지원: K증권의 종목 검색식을 예스랭귀지로 변환 지원합니다.- 컴파일 검증: 작성된 코드가 실행 가능한지 컴파일러를 통해 문법 검증을 거쳐 결과물을 제공합니다.상세한 서비스 개요 및 활용 방법은 [서비스 소개 페이지]에서 확인하실 수 있습니다.▶ 서비스 소개 페이지: 바로가기서비스 사용 유의사항 및 결제 환불정책은 [이용약관]을 참고 부탁드립니다.▶ 서비스 이용약관: 바로가기💬 이용 문의사용 중 문의사항은 [프로그램 사용법 Q&A] 게시판에서 [예스나 AI] 카테고리를 설정 후 문의해 주시면 상세히 안내해 드리겠습니다.--------------------------------------------------앞으로도 AI를 활용한 다양한 트레이딩 기능들을 지속적으로 선보일 예정입니다.많은 관심과 기대 부탁드립니다.
2026-02-27
6194
글번호 230811
답변완료
청산관련 문의드립니다.
노고에 항상 감사드립니다.
해외선물은 추세가 길게 나오는 경우가 있어서 청산방법을 고민해봤습니다.
매도 기준으로
1.직전 저점을 깨고 내려갈 때 직전 고점을 익절라인으로 설정
2.1과 최대수익금액의 50% 중 더 큰 수익을 보전할 수 있는 곳을 익절라인으로 설정
이렇게 생각해봤습니다.
매수로도 동일하게 적용해볼 예정입니다.
내용 검토 부탁드리겠습니다.
감사합니다.
2017-11-11
235
글번호 114102
답변완료
질문 드립니다.
안녕하세요.
답변을 달아 주시느라 고생 너무 많이 하십니다.
예스트레이더 시작한 초보 입니다.
공부 하면서 만들기 가능한지 어쭤봅니다.
제가 원하는 것은
차트에서
제가 직접 수평선 툴을 이용해서 분차트이나 틱차트에서 수평선을 배치하면 그 선 위치값이 왼쪽이나 오른쪽 끝에 숫자가 나오잖아요?
이런 기본툴에서
1번 수평선을 캔들 중간에 배치해서 긋으면 그 값이 나오고
다음 2번째 수평선을 다음 캔들 중간에 배치해서 긋으면 그 값이 나오고
다음 3번째 수평선을 다음 캔들 중간에 배치해서 긋으면 그 값이 나오고
3번째 수평선이 그으면 자동적으로 1번 2번 3번 값을 합쳐서 그 값을 다음 선에 자동적으로 표시 나오게 하는 방법이 예스트레이더에 가능한가요?
예를 들면
차트에서 1번 수평선 20.00 + 2번 수평선 50.00 + 3번 수평선 80.00 으로 수평선 3개를 직접 긋게 되면 예스트레이더 프로그램이 자동적으로 3개의 수평선 값을 합치고 곱해서 300 위치에 선이 자동으로 수평선이 나오는 것입니다.
이런거 가능한가요?
이런것은 시스템에서 프로그래밍 하는건가요? 아니면 지표에서 프로그래밍 하는건가요?
2017-11-12
247
글번호 114101
답변완료
수식좀 부탁드립니다.
5일이동평균선이 전일종가를 골든크로스시 3봉째종가에 매수진입하고
5일이동평균선이 전일종가를 데드크로스시 3봉째종가에 매수청산후 30초후에 매도자동진입
5일이동평균선이 전일종가를 골든크로스시 3봉째종가에 매도청산후 30초후에 매수자동진입
매수 또는 매도자동진입후 20틱수익시 1계약자동익절되고, 30틱수익시 1계약자동익절되고
나머지는 청산조건 완성시 자동청산
추가로 일일 자동매매시간을 설정할수 있도록(=매수매도진입 자동매매금지시간설정)
시스템수식좀 잘 부탁드립니다.
2017-11-11
169
글번호 114100
답변완료
모의투자
예스트레이더 모의투자 해보고 싶은데 어디에서 다운로드 되나요?
2017-11-11
346
글번호 114099
답변완료
수식 부탁합니다
진입과 청산을 다르게 해보려 합니다
즉 매수진입은 1분봉 스토캐스틱(25,6,6) 골든크로스에
매도 청산은 다르게 2분봉 스토캐스틱 데드크로스 발생시
시스템 매매식 부탁합니다
2017-11-11
157
글번호 114098
답변완료
1분으로 쪼개기 추가 질문드립니다
1) 60분 봉을 1분으로 쪼개 달라고 문의드렸었는데요.
수정해서 받은 수식을 응용하려고 하다보니 잘 안되네요. 한번 봐주세요.
진입, 청산부분만 따로 가져왔습니다.
b1, b2의 매수 기준 가격과 x1, x2의 매도 기준 가격을 설정한 다음 아래와 같이 하였습니다. 그 외의 조건식은 거의 동일합니다. 그런데 진입조건이 되도 전혀 주문을 안하네요....
뭐가 문제인가요?
if (TF == 59) then {
if Ovalue[0]<=b1+PriceScale*1
and Cvalue[0]>b1+PriceScale*1
and (Hvalue[0]-Cvalue[0])+(Ovalue[0]-Lvalue[0])<=(Cvalue[0]-Ovalue[0])*2
and MarketPosition == 0
Then Condition1 = true;
Else Condition1 = false;
if Ovalue[0]<=b2+PriceScale*1
and Cvalue[0]>b2+PriceScale*1
and (Hvalue[0]-Cvalue[0])+(Ovalue[0]-Lvalue[0])<=(Cvalue[0]-Ovalue[0])*2
and MarketPosition == 0
Then Condition2 = true;
Else Condition2 = false;
if Ovalue[0]>=x1-PriceScale*1
and Cvalue[0]<x1-PriceScale*1
and (Hvalue[0]-Ovalue[0])+(Cvalue[0]-Lvalue[0])<=(Ovalue[0]-Cvalue[0])*2
and MarketPosition == 0
Then Condition3 = true;
Else Condition3 = false;
if Ovalue[0]>=x2-PriceScale*1
and Cvalue[0]<x2-PriceScale*1
and (Hvalue[0]-Ovalue[0])+(Cvalue[0]-Lvalue[0])<=(Ovalue[0]-Cvalue[0])*2
and MarketPosition == 0
Then Condition4 = true;
Else Condition4 = false;
}
if Condition1 == true Then Buy("매수1",AtLimit,b1);
if Condition2 == true Then Buy("매수2",AtLimit,b2);
if Condition3 == true Then Sell("매도1",AtLimit,x1);
if Condition4 == true Then Sell("매도2",AtLimit,x2);
setstoploss(pricescale*31,pointstop);
if MarketPosition == 1 then {
If c<entryprice-PriceScale*1 and barssinceentry>=60
then ExitLong("매수본청",AtLimit,entryprice);
if IsEntryName("매수1")
then exitlong("매수1익",AtLimit,b1e);
if IsEntryName("매수2")
then exitlong("매수2익",AtLimit,b2e);
}
if MarketPosition == -1 then {
If c>entryprice+PriceScale*1 and barssinceentry>=60
then ExitShort("매도본청",AtLimit,entryprice);
if IsEntryName("매도1")
then ExitShort("매도1익",AtLimit,x1e);
if IsEntryName("매도2")
then ExitShort("매도2익",AtLimit,x2e);
}
2) 60분봉기준으로 진입조건이 성립했으면 다음 60분동안 내내 진입대기상태로 있어야 하는데, 주신 수식은 1분 동안만 대기후 조건이 사라져 버리는 것 같습니다. 조건 성립후 45분, 50분에도 진입이 되어야 하는데 항상 10:01분 11:01분 23:01분에만 진입하더군요... 이것도 확인 부탁드립니다.
3) 진입한 캔들이 완성되기 전에 익절이 가능한가요?
setstoploss(pricescale*17,pointstop);
if MarketPosition == 1 then
{ if IsEntryName("매수1")
then exitlong("매수1익",AtLimit, eee); }
기본손절은 17틱 잡아두고, 매수 조건에 따라 진입을 했는데 진입 직후 바로 익절가격(eee)에 도달했다면 청산이 되나요? 위의 식으로는 진입캔들이 완성되고 다음 캔들에서 청산하더군요.
진입캔들 생성도중 익절청산하는 방법이 있다면 알려주시기 바랍니다.
4) 그리고 매수 진입이후 청산과 동시에 매도조건이 충족할때 바로 진입하려면(스위칭) 어떻게 해야 하나요. 예를 들의 1)의 수식에서 b1과 x1이 같은 가격일때 '매수본청'으로 청산할때 동시에 매도 조건이 맞는 경우가 많은데 바로 매수청산과 함께 매도진입할 수 있는 수식을 알려주시면 감사하겠습니다.
2017-11-11
166
글번호 114097
답변완료
패턴이 완성되면 매수, 매도 신호가 생성되게 만들어 주세요!
1. 첨부된 그림은 하락을 알리는 W패턴 입니다! 파란 동그라미의 화살표 처럼
상승M 또는 하락W 의 패턴이 완성되면 매수 또는 매도 화살표 신호가 나올 수 있도록
틱, 분챠트 모두 가능하게 부탁드립니다.
Input:length(12),오차범위(0.1);
Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),
처리구분(""),XA(0),AB(0),BC(0),CD(0),V1(0),V2(0),V3(0),V4(0),Result("");
Array:고점[10,2](0),저점[10,2](0),TL[9](0),TX[6](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
{
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;
XA = sqrt((고점[3,1]-저점[2,1])^2+(저점[2,2]-고점[3,2])^2);
AB = sqrt((고점[2,1]-저점[2,1])^2+(고점[2,2]-저점[2,2])^2);
BC = sqrt((고점[2,1]-저점[1,1])^2+(저점[1,2]-고점[2,2])^2);
CD = sqrt((고점[1,1]-저점[1,1])^2+(고점[1,2]-저점[1,2])^2);
V1 = AB/XA;
V2 = BC/AB;
V3 = CD/BC;
V4 = CD/XA;
Result = "";
If 고점[2,1] < 고점[1,1] and 고점[1,1] < 고점[3,1] and
저점[2,1] < 저점[1,1] Then
{
If V1 >= 0.618 - 오차범위 and V1 <= 0.618 + 오차범위 and
V2 >= 0.382 - 오차범위 and V2 <= 0.886 + 오차범위 and
V3 >= 1.13 - 오차범위 and V3 <= 1.618 + 오차범위 and
V4 >= 0.786 - 오차범위 and V4 <= 0.786 + 오차범위 Then
Result = "Gartley Bearish";
Else If V1 >= 0.382 - 오차범위 and V1 <= 0.5 + 오차범위 and
V2 >= 0.382 - 오차범위 and V2 <= 0.886 + 오차범위 and
V3 >= 1.618 - 오차범위 and v3 <= 2.618 + 오차범위 and
V4 >= 0.886 - 오차범위 and V4 <= 0.886 + 오차범위 Then
Result = "Bat Bearish";
}
Else If 고점[2,1] < 고점[3,1] and 고점[3,1] < 고점[1,1] and
저점[2,1] < 저점[1,1] Then
{
If V1 >= 0.382 - 오차범위 and V1 <= 0.618 + 오차범위 and
V2 >= 0.382 - 오차범위 and V2 <= 0.886 + 오차범위 and
V3 >= 2.240 - 오차범위 and V3 <= 3.618 + 오차범위 and
V4 >= 1.618 - 오차범위 and V4 <= 1.618 + 오차범위 Then
Result = "Crab Bearish";
Else If V1 >= 0.786 - 오차범위 and V1 <= 0.786 + 오차범위 and
V2 >= 0.382 - 오차범위 and V2 <= 0.886 + 오차범위 and
V3 >= 1.618 - 오차범위 and v3 <= 2.618 + 오차범위 and
V4 >= 1.27 - 오차범위 and V4 <= 1.618 + 오차범위 Then
Result = "Butterfly Bearish";
Else If V1 >= 0.886 - 오차범위 and V1 <= 0.886 + 오차범위 and
V2 >= 0.382 - 오차범위 and V2 <= 0.886 + 오차범위 and
V3 >= 2.240 - 오차범위 and V3 <= 3.618 + 오차범위 and
V4 >= 1.618 - 오차범위 and V4 <= 1.618 + 오차범위 Then
Result = "Deep Crab Bearish";
Else If V1 >= 0.382 - 오차범위 and V1 <= 0.382 + 오차범위 and
V2 >= 0.382 - 오차범위 and V2 <= 0.886 + 오차범위 and
V3 >= 2.0 - 오차범위 and V3 <= 3.168 + 오차범위 and
V4 >= 1.13 - 오차범위 and V4 <= 1.13 + 오차범위 Then
Result = "ALT BAT Bearish";
}
Else If 고점[2,1] < 고점[3,1] and 고점[2,1] < 고점[1,1] and
저점[1,1] < 저점[2,1] Then
{
If V2 >= 1.13 - 오차범위 and V2 <= 1.618 + 오차범위 and
V3 >= 1.618 - 오차범위 and V3 <= 2.24 + 오차범위 and
V4 >= 0.886 - 오차범위 and V4 <= 1.13 + 오차범위 Then
Result = "Shark Bearish";
}
If Result != "" Then
{
sBar = Index - 고점[3,2];
eBar = Index - 저점[2,2];
If TL_GetBeginDate(TL[1]) == sDate[sBar] and TL_GetBeginTime(TL[1]) == sTime[sBar] Then
{
For j = 1 To 8
{
TL_Delete(TL[j]);
If j < 6 Then Text_Delete(TX[j]);
}
}
TL[1] = TL_New(sDate[sBar],sTime[sBar],고점[3,1],sDate[eBar],sTime[eBar],저점[2,1]);
sBar = Index - 저점[2,2];
eBar = Index - 고점[2,2];
TL[2] = TL_New(sDate[sBar],sTime[sBar],저점[2,1],sDate[eBar],sTime[eBar],고점[2,1]);
sBar = Index - 고점[2,2];
eBar = Index - 저점[1,2];
TL[3] = TL_New(sDate[sBar],sTime[sBar],고점[2,1],sDate[eBar],sTime[eBar],저점[1,1]);
sBar = Index - 저점[1,2];
eBar = Index - 고점[1,2];
TL[4] = TL_New(sDate[sBar],sTime[sBar],저점[1,1],sDate[eBar],sTime[eBar],고점[1,1]);
sBar = Index - 고점[3,2];
eBar = Index - 고점[2,2];
TL[5] = TL_New(sDate[sBar],sTime[sBar],고점[3,1],sDate[eBar],sTime[eBar],고점[2,1]);
sBar = Index - 고점[2,2];
eBar = Index - 고점[1,2];
TL[6] = TL_New(sDate[sBar],sTime[sBar],고점[2,1],sDate[eBar],sTime[eBar],고점[1,1]);
sBar = Index - 고점[3,2];
eBar = Index - 고점[1,2];
TL[7] = TL_New(sDate[sBar],sTime[sBar],고점[3,1],sDate[eBar],sTime[eBar],고점[1,1]);
sBar = Index - 저점[2,2];
eBar = Index - 저점[1,2];
TL[8] = TL_New(sDate[sBar],sTime[sBar],저점[2,1],sDate[eBar],sTime[eBar],저점[1,1]);
sBar = Index - round((고점[3,2] + 고점[2,2])/2,0);
TX[1] = Text_New(sDate[sBar],sTime[sBar],(고점[3,1]+고점[2,1])/2,NumToStr(V1,4)+" XA");
sBar = Index - round((저점[2,2] + 저점[1,2])/2,0);
TX[2] = Text_New(sDate[sBar],sTime[sBar],(저점[2,1]+저점[1,1])/2,NumToStr(V2,4)+" AB");
sBar = Index - round((고점[2,2] + 고점[1,2])/2,0);
TX[3] = Text_New(sDate[sBar],sTime[sBar],(고점[2,1]+고점[1,1])/2,NumToStr(V3,4)+" BC");
sBar = Index - round((고점[3,2] + 고점[1,2])/2,0);
TX[4] = Text_New(sDate[sBar],sTime[sBar],(고점[3,1]+고점[1,1])/2,NumToStr(V4,4)+" XA");
sBar = Index - round((고점[3,2] + 고점[1,2])/2,0);
TX[5] = Text_New(sDate[sBar],sTime[sBar],(고점[3,1]+고점[2,1])/2,Result);
For j = 1 To 8
{
TL_SetColor(TL[j],BLUE);
}
Text_SetStyle(TX[1],2,0);
Text_SetStyle(TX[2],2,0);
Text_SetStyle(TX[3],2,0);
Text_SetStyle(TX[4],2,0);
Text_SetStyle(TX[5],2,2);
}
}
}
If 처리구분 == "저점처리" Then
{
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;
XA = sqrt((고점[2,1]-저점[3,1])^2+(고점[2,2]-저점[3,2])^2);
AB = sqrt((고점[2,1]-저점[2,1])^2+(저점[2,2]-고점[2,2])^2);
BC = sqrt((고점[1,1]-저점[2,1])^2+(고점[1,2]-저점[2,2])^2);
CD = sqrt((고점[1,1]-저점[1,1])^2+(저점[1,2]-고점[1,2])^2);
V1 = AB/XA;
V2 = BC/AB;
V3 = CD/BC;
V4 = CD/XA;
Result = "";
If 저점[3,1] < 저점[1,1] and 저점[1,1] < 저점[2,1] and
고점[1,1] < 고점[2,1] Then
{
If V1 >= 0.618 - 오차범위 and V1 <= 0.618 + 오차범위 and
V2 >= 0.382 - 오차범위 and V2 <= 0.886 + 오차범위 and
V3 >= 1.13 - 오차범위 and V3 <= 1.618 + 오차범위 and
V4 >= 0.786 - 오차범위 and V4 <= 0.786 + 오차범위 Then
Result = "Gartley Bullish";
Else If V1 >= 0.382 - 오차범위 and V1 <= 0.5 + 오차범위 and
V2 >= 0.382 - 오차범위 and V2 <= 0.886 + 오차범위 and
V3 >= 1.618 - 오차범위 and v3 <= 2.618 + 오차범위 and
V4 >= 0.886 - 오차범위 and V4 <= 0.886 + 오차범위 Then
Result = "Bat Bullish";
}
Else If 저점[1,1] < 저점[3,1] and 저점[3,1] < 저점[2,1] and
고점[1,1] < 고점[2,1] Then
{
If V1 >= 0.382 - 오차범위 and V1 <= 0.618 + 오차범위 and
V2 >= 0.382 - 오차범위 and V2 <= 0.886 + 오차범위 and
V3 >= 2.240 - 오차범위 and V3 <= 3.618 + 오차범위 and
V4 >= 1.618 - 오차범위 and V4 <= 1.618 + 오차범위 Then
Result = "Crab Bullish";
Else If V1 >= 0.786 - 오차범위 and V1 <= 0.786 + 오차범위 and
V2 >= 0.382 - 오차범위 and V2 <= 0.886 + 오차범위 and
V3 >= 1.618 - 오차범위 and v3 <= 2.618 + 오차범위 and
V4 >= 1.27 - 오차범위 and V4 <= 1.618 + 오차범위 Then
Result = "Butterfly Bullish";
Else If V1 >= 0.886 - 오차범위 and V1 <= 0.886 + 오차범위 and
V2 >= 0.382 - 오차범위 and V2 <= 0.886 + 오차범위 and
V3 >= 2.240 - 오차범위 and V3 <= 3.618 + 오차범위 and
V4 >= 1.618 - 오차범위 and V4 <= 1.618 + 오차범위 Then
Result = "Deep Crab Bullish";
Else If V1 >= 0.382 - 오차범위 and V1 <= 0.382 + 오차범위 and
V2 >= 0.382 - 오차범위 and V2 <= 0.886 + 오차범위 and
V3 >= 2.0 - 오차범위 and V3 <= 3.168 + 오차범위 and
V4 >= 1.13 - 오차범위 and V4 <= 1.13 + 오차범위 Then
Result = "ALT BAT Bullish";
}
Else If 저점[1,1] < 저점[2,1] and 저점[3,1] < 저점[2,1] and
고점[2,1] < 고점[1,1] Then
{
If V2 >= 1.13 - 오차범위 and V2 <= 1.618 + 오차범위 and
V3 >= 1.618 - 오차범위 and V3 <= 2.24 + 오차범위 and
V4 >= 0.886 - 오차범위 and V4 <= 1.13 + 오차범위 Then
Result = "Shark Bullish";
}
If Result != "" Then
{
sBar = Index - 저점[3,2];
eBar = Index - 고점[2,2];
If TL_GetBeginDate(TL[1]) == sDate[sBar] and TL_GetBeginTime(TL[1]) == sTime[sBar] Then
{
For j = 1 To 8 {
TL_Delete(TL[j]);
If j < 6 Then Text_Delete(TX[j]);
}
}
TL[1] = TL_New(sDate[sBar],sTime[sBar],저점[3,1],sDate[eBar],sTime[eBar],고점[2,1]);
sBar = Index - 고점[2,2];
eBar = Index - 저점[2,2];
TL[2] = TL_New(sDate[sBar],sTime[sBar],고점[2,1],sDate[eBar],sTime[eBar],저점[2,1]);
sBar = Index - 저점[2,2];
eBar = Index - 고점[1,2];
TL[3] = TL_New(sDate[sBar],sTime[sBar],저점[2,1],sDate[eBar],sTime[eBar],고점[1,1]);
sBar = Index - 고점[1,2];
eBar = Index - 저점[1,2];
TL[4] = TL_New(sDate[sBar],sTime[sBar],고점[1,1],sDate[eBar],sTime[eBar],저점[1,1]);
sBar = Index - 저점[3,2];
eBar = Index - 저점[2,2];
TL[5] = TL_New(sDate[sBar],sTime[sBar],저점[3,1],sDate[eBar],sTime[eBar],저점[2,1]);
sBar = Index - 저점[2,2];
eBar = Index - 저점[1,2];
TL[6] = TL_New(sDate[sBar],sTime[sBar],저점[2,1],sDate[eBar],sTime[eBar],저점[1,1]);
sBar = Index - 저점[3,2];
eBar = Index - 저점[1,2];
TL[7] = TL_New(sDate[sBar],sTime[sBar],저점[3,1],sDate[eBar],sTime[eBar],저점[1,1]);
sBar = Index - 고점[2,2];
eBar = Index - 고점[1,2];
TL[8] = TL_New(sDate[sBar],sTime[sBar],고점[2,1],sDate[eBar],sTime[eBar],고점[1,1]);
sBar = Index - round((저점[3,2] + 저점[2,2])/2,0);
TX[1] = Text_New(sDate[sBar],sTime[sBar],(저점[3,1]+저점[2,1])/2,NumToStr(V1,4)+" XA");
sBar = Index - round((고점[2,2] + 고점[1,2])/2,0);
TX[2] = Text_New(sDate[sBar],sTime[sBar],(고점[2,1]+고점[1,1])/2,NumToStr(V2,4)+" AB");
sBar = Index - round((저점[2,2] + 저점[1,2])/2,0);
TX[3] = Text_New(sDate[sBar],sTime[sBar],(저점[2,1]+저점[1,1])/2,NumToStr(V3,4)+" BC");
sBar = Index - round((저점[3,2] + 저점[1,2])/2,0);
TX[4] = Text_New(sDate[sBar],sTime[sBar],(저점[3,1]+저점[1,1])/2,NumToStr(V4,4)+" XA");
sBar = Index - round((저점[3,2] + 저점[1,2])/2,0);
TX[5] = Text_New(sDate[sBar],sTime[sBar],(저점[3,1]+저점[2,1])/2,Result);
For j = 1 To 8
{
TL_SetColor(TL[j],RED);
}
Text_SetStyle(TX[1],2,1);
Text_SetStyle(TX[2],2,1);
Text_SetStyle(TX[3],2,1);
Text_SetStyle(TX[4],2,1);
Text_SetStyle(TX[5],2,2);
}
}
}
For j = 1 To 4 {
TL_SetSize(TL[j],3);
}
For j = 5 To 8 {
TL_SetSize(TL[j],0);
TL_SetColor(TL[j],BLACK);
}
----------------------------------------------------------------------------------
2. 일명 지그재그 패턴입니다! 첨부 파일 (그림2)올려 드려요!
틱, 분챠트 모두 가능하게 파동 변곡이 나타나면 반대 매수 또는 매도 화살표 신호가 나오게
부탁드립니다!
Input:length(12);
Var:j(0),lastHiVal(0),lastLoVal(0),sBar(0),eBar(0),TL1(0),
Text1(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
{
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);
Text_Delete(Text1);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],저점[1,1],
sDate[eBar],sTime[eBar],고점[1,1]);
Text1 = Text_New(sDate[eBar],sTime[eBar],고점[1,1],
NumToStr(고점[1,1],2));
Text_SetStyle(Text1, 2, 1);
}
}
If 처리구분 == "저점처리" Then
{
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);
Text_Delete(Text1);
}
TL1 = TL_New(sDate[sBar],sTime[sBar],고점[1,1],
sDate[eBar],sTime[eBar],저점[1,1]);
Text1 = Text_New(sDate[eBar],sTime[eBar],저점[1,1],
NumToStr(저점[1,1],2));
Text_SetStyle(Text1, 2, 0);
}
}
TL_SetSize(TL1,3);
TL_SetColor(TL1,CYAN);
--------------------------------------------------------------------------------------
2017-11-13
326
글번호 114096
답변완료
하나만 더 부탁드립니다.
현재 화면은 1분봉 차트입니다.
몇일전에 부탁드렸는데...다른 지표할려니 잘 안되네요..
1분봉 차트에서 보조지표(Stochastics) 값을
3분, 5분, 10분에 해당하는 StoK, StoD값을 가져오는 수식 부탁드립니다.
감사합니다.
2017-11-13
170
글번호 114095
답변완료
수식작성 부탁드립니다.
선물 3분봉기준
물량은 40개 매수or 매도
진입기준1
선물 3분봉기준으로
1) 최근시점 고가기준 -0.5pt, 저가기준 +0.5pt 진입
2) 손절기준 고점저점대비 +-0.5pt 청산
3) 손절 후 반대반향 진입
4) 09시부터 15시 35분까지 신호가 나오면 횟수 상관없이 진입
5) 수익청산 +0.45pt 물량절반청산 0.90pt 1/4청산 1.35pt 1/8청산 1.80pt 1/16청산
진입기준2
3분봉기준으로 위와 같은 내용
스스로 하는데 무리가 있어, 일부를 올립니다.
작성 부탁드립니다.
2017-11-10
162
글번호 114090