예스스탁
예스스탁 답변
2024-07-29 15:15:34
안녕하세요
예스스탁입니다.
1
첨부된 그림은 전략실행차트 90틱봉과 1분봉에
조회건수 1만개에 적용한 리포트입니다.
기본차트를 1분봉으로 해도 거래가 많이 없습니다.
틱봉에는 1번정도뿐이 신호가 발생하지 않습니다.
2
input : 타주기분1(3),타주기분2(15),타주기분3(60),EMAP(5),TMAP(20);
var : S1(0),D1(0),TM(0),TF1(0),TF2(0),TF3(0),cnt(0);
var : O2(0),O3(0),O21(0),O31(0);
var : EP(0),i1(0),i2(0),i3(0),Pre1(0),Pre2(0),Pre3(0),E1(0),E2(0),E3(0);
Var : Sum1(0),sum2(0),Tma(0),TLen(0),TMA1(0);
Array : C1[100](0),M1[100](0);
EP = 2/(EMAP+1);
TLen = Ceiling((TMAP + 1) * .5);
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;
TF1 = TM%타주기분1;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and 타주기분1 > 1 and TF1 < TF1[1]) or
(Bdate == Bdate[1] and 타주기분1 > 1 and TM >= TM[1]+타주기분1) or
(Bdate == Bdate[1] and 타주기분1 == 1 and TM > TM[1]) Then
{
i1 = i1+1;
Pre1 = E1[1];
for cnt = 99 downto 1
{
C1[cnt] = C1[cnt-1];
m1[cnt] = m1[cnt-1];
}
TMA1 = TMA[1];
}
C1[0] = c;
if C1[TLen-1] > 0 Then
{
Sum1 = 0;
For cnt = 0 To TLen - 1
{
Sum1 = Sum1 + C1[cnt];
}
m1[0] = sum1/TLen;
}
if m1[TLen-1] > 0 Then
{
Sum2 = 0;
For cnt = 0 To TLen - 1
{
Sum2 = Sum2 + m1[cnt];
}
Tma = sum2/TLen;
}
if i1 <= 1 then
E1 = C;
else
E1 = C * EP + Pre1 * (1-EP);
TF2 = TM%타주기분2;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and 타주기분2 > 1 and TF2 < TF2[1]) or
(Bdate == Bdate[1] and 타주기분2 > 1 and TM >= TM[1]+타주기분1) or
(Bdate == Bdate[1] and 타주기분2 == 1 and TM > TM[1]) Then
{
i2 = i2+1;
O2 = O;
O21 = O2[1];
Pre2 = E2[1];
}
if i2 <= 1 then
E2 = C;
else
E2 = C * EP + Pre2 * (1-EP);
TF3 = TM%타주기분3;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and 타주기분3 > 1 and TF3 < TF3[1]) or
(Bdate == Bdate[1] and 타주기분3 > 1 and TM >= TM[1]+타주기분3) or
(Bdate == Bdate[1] and 타주기분3 == 1 and TM > TM[1]) Then
{
i3 = i3+1;
O3 = O;
O31 = O2[1];
Pre3 = E3[1];
}
if i3 <= 1 then
E3 = C;
else
E3 = C * EP + Pre3 * (1-EP);
}
Plot1(E1,"타주기1 지수이평");
Plot2(TMA,"타주기1 삼각가주잉평");
Plot3(O2,"타주기2 시가");
Plot4(E2,"타주기2 지수이평");
Plot5(O3,"타주기3 시가");
Plot6(E3,"타주기3 지수이평");
즐거운 하루되세요
> 라몬 님이 쓴 글입니다.
> 제목 : 확인 부탁드립니다.
> 안녕하세요
수정하여 보내주신 시스템 수식은 잘 받았습니다.
그런데 챠트에 적용하여보니 신호가 나오지 않고 있습니다.
90틱 챠트에 적용해도 그렇고 3분봉 챠트에 적용하여 봐도 나오지 않고 있습니다.
다시한번 검토부탁드리며 아울러 지표도 같이 부탁드립니다.
다시한번 노고에 감사드립니다.
(수정하여 보내주신 시스템 수식)
input : 타주기분1(3),타주기분2(15),타주기분3(60),EMAP(5),TMAP(20);
var : S1(0),D1(0),TM(0),TF1(0),TF2(0),TF3(0),cnt(0);
var : O2(0),O3(0),O21(0),O31(0);
var : EP(0),i1(0),i2(0),i3(0),Pre1(0),Pre2(0),Pre3(0),E1(0),E2(0),E3(0);
Var : Sum1(0),sum2(0),Tma(0),TLen(0),TMA1(0);
Array : C1[100](0),M1[100](0);
EP = 2/(EMAP+1);
TLen = Ceiling((TMAP + 1) * .5);
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;
TF1 = TM%타주기분1;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and 타주기분1 > 1 and TF1 < TF1[1]) or
(Bdate == Bdate[1] and 타주기분1 > 1 and TM >= TM[1]+타주기분1) or
(Bdate == Bdate[1] and 타주기분1 == 1 and TM > TM[1]) Then
{
i1 = i1+1;
Pre1 = E1[1];
for cnt = 99 downto 1
{
C1[cnt] = C1[cnt-1];
m1[cnt] = m1[cnt-1];
}
TMA1 = TMA[1];
}
C1[0] = c;
if C1[TLen-1] > 0 Then
{
Sum1 = 0;
For cnt = 0 To TLen - 1
{
Sum1 = Sum1 + C1[cnt];
}
m1[0] = sum1/TLen;
}
if m1[TLen-1] > 0 Then
{
Sum2 = 0;
For cnt = 0 To TLen - 1
{
Sum2 = Sum2 + m1[cnt];
}
Tma = sum2/TLen;
}
if i1 <= 1 then
E1 = C;
else
E1 = C * EP + Pre1 * (1-EP);
TF2 = TM%타주기분2;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and 타주기분2 > 1 and TF2 < TF2[1]) or
(Bdate == Bdate[1] and 타주기분2 > 1 and TM >= TM[1]+타주기분1) or
(Bdate == Bdate[1] and 타주기분2 == 1 and TM > TM[1]) Then
{
i2 = i2+1;
O2 = O;
O21 = O2[1];
Pre2 = E2[1];
}
if i2 <= 1 then
E2 = C;
else
E2 = C * EP + Pre2 * (1-EP);
TF3 = TM%타주기분3;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and 타주기분3 > 1 and TF3 < TF3[1]) or
(Bdate == Bdate[1] and 타주기분3 > 1 and TM >= TM[1]+타주기분3) or
(Bdate == Bdate[1] and 타주기분3 == 1 and TM > TM[1]) Then
{
i3 = i3+1;
O3 = O;
O31 = O2[1];
Pre3 = E3[1];
}
if i3 <= 1 then
E3 = C;
else
E3 = C * EP + Pre3 * (1-EP);
if TMA1 > 0 and
E3 > O3 and pre3 < O31 and
E2 > O2 and pre2 < O21 and
TMA > E1 and TMA1 < pre1 Then
Buy();
if TMA1 > 0 and
E3 < O3 and pre3 > O31 and
E2 < O2 and pre2 > O21 and
TMA < E1 and TMA1 > pre1 Then
Sell();
}
(수정의뢰하였던 기존 수식)
더운 날씨에 저희의 수고를 덜어주셔서 감사드립니다.
아래 시스템과 지표의 수식을 다시한번 수정 부탁드립니다.
고맙습니다.
진입은 틱챠트에서 합니다
1.매수조건 (3개의 조건이 한개라도 안맞을시 신호 불가)
- 1시간봉 시가선을 지수5 이평이 상향크로스
- 15 분봉 시가선을 지수5 이평이 상향크로스
- 3 분봉에서는 오직 20삼각가중선을 지수 5 이평이 상향 크로스할때 매수
(분봉 시가선, 삼각가중, 지수이평은 변수)
2.매도조건 (3개의 조건이 한개라도 안맞을시 신호 불가)
- 1시간봉 시가선을 지수5 이평이 하향크로스
- 15 분봉 시가선을 지수5 이평이 하향크로스
- 3 분봉에서는 오직 20삼각가중선을 지수 5 이평이 하향 크로스할때 매도
(분봉 시가선, 삼각가중, 지수이평은 변수)
1
input : 타주기분1(3),타주기분2(60),타주기분3(240),전환선기간(9);
var : S1(0),D1(0),TM(0),cnt(0),hh(0),ll(0),전환선(0);
var : TF1(0),TF2(0),TF3(0),O2(0),O3(0),H2(0),L2(0);
Array : H1[100](0),L1[100](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;
TF1 = TM%타주기분1;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and 타주기분1 > 1 and TF1 < TF1[1]) or
(Bdate == Bdate[1] and 타주기분1 > 1 and TM >= TM[1]+타주기분1) or
(Bdate == Bdate[1] and 타주기분1 == 1 and TM > TM[1]) Then
{
For cnt = 99 DownTo 1
{
H1[cnt] = H1[cnt-1];
L1[cnt] = L1[cnt-1];
}
H1[0] = H;
L1[0] = L;
}
if H1[0] > 0 and H > H1[0] Then
H1[0] = H;
if L1[0] > 0 and L < L1[0] Then
L1[0] = L;
TF2 = TM%타주기분2;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and 타주기분2 > 1 and TF2 < TF2[1]) or
(Bdate == Bdate[1] and 타주기분2 > 1 and TM >= TM[1]+타주기분1) or
(Bdate == Bdate[1] and 타주기분2 == 1 and TM > TM[1]) Then
{
O2 = O;
H2 = H;
L2 = L;
}
if H2 > 0 and H > H2 Then
H2 = H;
if L2 > 0 and L < L2 Then
L2 = L;
TF3 = TM%타주기분3;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and 타주기분3 > 1 and TF3 < TF3[1]) or
(Bdate == Bdate[1] and 타주기분3 > 1 and TM >= TM[1]+타주기분3) or
(Bdate == Bdate[1] and 타주기분3 == 1 and TM > TM[1]) Then
{
O3 = O;
}
if O2 > 0 and O3 > 0 and H1[전환선기간-1] > 0 and L1[전환선기간-1] > 0 Then
{
hh = 0;
ll = 0;
For cnt = 0 to 전환선기간-1
{
if hh == 0 or (hh > 0 and H1[cnt] > hh) Then
hh = H1[cnt];
if ll == 0 or (ll > 0 and L1[cnt] < ll) Then
ll = L1[cnt];
}
전환선 = (hh+ll)/2;
if C > O3 and
C > O2 and
C >= L2+(H2-L2)*0.25 and
C > 전환선 then
Buy();
if C < O3 and
C < O2 and
C <= H2-(H2-L2)*0.25 and
C < 전환선 then
Sell();
}
}
2
input : 타주기분1(3),타주기분2(60),타주기분3(240),전환선기간(9);
var : S1(0),D1(0),TM(0),cnt(0),hh(0),ll(0),전환선(0);
var : TF1(0),TF2(0),TF3(0),O2(0),O3(0),H2(0),L2(0),tx(0);
Array : H1[100](0),L1[100](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;
TF1 = TM%타주기분1;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and 타주기분1 > 1 and TF1 < TF1[1]) or
(Bdate == Bdate[1] and 타주기분1 > 1 and TM >= TM[1]+타주기분1) or
(Bdate == Bdate[1] and 타주기분1 == 1 and TM > TM[1]) Then
{
For cnt = 99 DownTo 1
{
H1[cnt] = H1[cnt-1];
L1[cnt] = L1[cnt-1];
}
H1[0] = H;
L1[0] = L;
}
if H1[0] > 0 and H > H1[0] Then
H1[0] = H;
if L1[0] > 0 and L < L1[0] Then
L1[0] = L;
TF2 = TM%타주기분2;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and 타주기분2 > 1 and TF2 < TF2[1]) or
(Bdate == Bdate[1] and 타주기분2 > 1 and TM >= TM[1]+타주기분1) or
(Bdate == Bdate[1] and 타주기분2 == 1 and TM > TM[1]) Then
{
O2 = O;
H2 = H;
L2 = L;
}
if H2 > 0 and H > H2 Then
H2 = H;
if L2 > 0 and L < L2 Then
L2 = L;
TF3 = TM%타주기분3;
if Bdate != Bdate[1] or
(Bdate == Bdate[1] and 타주기분3 > 1 and TF3 < TF3[1]) or
(Bdate == Bdate[1] and 타주기분3 > 1 and TM >= TM[1]+타주기분3) or
(Bdate == Bdate[1] and 타주기분3 == 1 and TM > TM[1]) Then
{
O3 = O;
}
if O2 > 0 and O3 > 0 and H1[전환선기간-1] > 0 and L1[전환선기간-1] > 0 Then
{
hh = 0;
ll = 0;
For cnt = 0 to 전환선기간-1
{
if hh == 0 or (hh > 0 and H1[cnt] > hh) Then
hh = H1[cnt];
if ll == 0 or (ll > 0 and L1[cnt] < ll) Then
ll = L1[cnt];
}
전환선 = (hh+ll)/2;
if C > O3 and
C > O2 and
C >= L2+(H2-L2)*0.25 and
C > 전환선 then
{
tx = Text_New(sDate,sTime,H,"●");
Text_SetColor(tx,Red);
Text_SetStyle(tx,2,1);
Text_SetSize(tx,12);
}
if C < O3 and
C < O2 and
C <= H2-(H2-L2)*0.25 and
C < 전환선 then
{
tx = Text_New(sDate,sTime,H,"●");
Text_SetColor(tx,Blue);
Text_SetStyle(tx,2,1);
Text_SetSize(tx,12);
}
plot1(O2);
plot2(O3);
plot3(전환선);
plot4(L2+(H2-L2)*0.25);
plot5(H2-(H2-L2)*0.25);
}
}