예스스탁
예스스탁 답변
2016-04-01 18:16:29
안녕하세요
예스스탁입니다.
1.
input : WMAP1(5),WMAP2(37),RSIP(9);
INPUT : LENGTH2(10),N(2),P1(60),P2(40),P3(20);
INPUT : LENGTH3(10);
VAR : TCHAN2(0), BCHAN2(0),T(0),B(0),mav2(0),mav3(0),X(0),Y(0),mav1(0),Z(0);
VAR : TCHAN3(0), BCHAN3(0),W1(0);
TCHAN3 = HIGHEST(HIGH, LENGTH3)[1];
BCHAN3 = LOWEST(LOW, LENGTH3)[1];
var : T1(0),T2(0),T3(0);
#시스템1
var1 = wma(c,WMAP1);
var2 = wma(c,WMAP2);
var3 = RSI(RSIP);
Condition1 = var1 > var2 and var3 >=70;
Condition2 = var1 < var2 and var3 <=40;
if Condition1 == true and Condition1[1] == false Then
T1 = 1;
if Condition2 == true and Condition2[1] == false Then
T1 = -1;
#시스템2
Mav1 = ma(C,P1);
MAV2 = ma(C,P2);
MAV3 = ma(C,P3);
TCHAN2 = HIGHEST(HIGH, LENGTH2)[1];
BCHAN2 = LOWEST(LOW, LENGTH2)[1];
if TCHAN2 > TCHAN2[1] Then
T = 1;
if TCHAN2 < TCHAN2[1] Then
T = -1;
if BCHAN2 > BCHAN2[1] Then
B = 1;
if BCHAN2 < BCHAN2[1] Then
B = -1;
if mav1 > mav1[1] Then
Z = 1;
if mav1 < mav1[1] Then
Z = -1;
if mav2 > mav2[1] Then
X = 1;
if mav2 < mav2[1] Then
X = -1;
if T == 1 and T[1] != 1 Then
Y = 1;
if B == 1 and B[1] != 1 Then
Y = 1;
if T == -1 and T[1] != -1 Then
Y = -1;
if B == -1 and B[1] != -1 Then
Y = -1;
if Z == 1 and B == 1 and CrossDown(L,BCHAN2) Then
T2 = 1;
if X == 1 and Y == 1 and C < mav3 and C > O and C[1] < O[1] Then
T2 = 1;
if Z == -1 and T == -1 and CrossUp(H,TCHAN2) Then
T2 = -1;
if X == -1 and Y == -1 and C > mav3 and C < O and C[1] > O[1] Then
T2 = -1;
#시스템3
if TCHAN3 > TCHAN3[1] and BCHAN3 > BCHAN3[1] Then
W1 = 1;
if TCHAN3 < TCHAN3[1] and BCHAN3 < BCHAN3[1] Then
W1 = -1;
if W1[1] == -1 and H >= TCHAN3[1] Then
T3 = -1;
if W1[1] == 1 and L <= BCHAN3[1] Then
T3 = 1;
if T3 == 1 and T1 == 1 and T1[1] != 1 Then
buy();
if T3 == -1 and T1 == 1 and
((T2 == 1 and T2[1] != 1) or (T3 == 1 and T3[1] != 1)) Then
buy();
if T3 == -1 and T1 == -1 and T1[1] != -1 Then
sell();
if T3 == 1 and T1 == -1 and
((T2 == -1 and T2[1] != -1) or (T3 == -1 and T3[1] != -1)) Then
sell();
2
이평 상승하락만 추가해 드립니다.
그외 문의하신 내용은 가능하지 않습니다.
Input:전환틱수(15),P(20);
Var:j(0),상승(100),하락(-100),상승틱수(0),하락틱수(0),기준고(0),기준저(0),
기준고Bar(0),기준저Bar(0),추세(0),ZZ(0),mav(0);
Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0),고Idx[20](0),저Idx[20](0);
상승틱수 = PriceScale*전환틱수;
하락틱수 = -PriceScale*전환틱수;
mav = ma(C,P);
for j = 1 to 19 {
고Bar[j] = 고Bar[j] + 1;
저Bar[j] = 저Bar[j] + 1;
고Idx[j] = Index - 고Bar[j];
저Idx[j] = Index - 저Bar[j];
}
if 기준고 <= C or 기준고 == 0 then {
기준고 = C;
기준고Bar = 0;
}
else
기준고Bar = 기준고Bar + 1;
if 기준저 >= C or 기준저 == 0 then {
기준저 = C;
기준저Bar = 0;
}
else
기준저Bar = 기준저Bar + 1;
if 기준고 + 하락틱수 <= C[1] and 기준고 + 하락틱수 > C then
추세 = 하락;
else if 기준저 + 상승틱수 >= C[1] and 기준저 + 상승틱수 < C then
추세 = 상승;
if 추세[1] == 상승 and 추세 == 하락 then {
for j = 18 downto 1 {
고[j+1] = 고[j];
고Bar[j+1] = 고Bar[j];
고Idx[j+1] = 고Idx[j];
}
고[1] = 기준고;
고Bar[1] = 기준고Bar;
고Idx[1] = Index - 고Bar[1];
ZZ = 기준고;
기준고 = C;
기준고Bar = 0;
기준저 = C;
기준저Bar = 0;
}
if 추세[1] == 하락 and 추세 == 상승 then {
for j = 18 downto 1 {
저[j+1] = 저[j];
저Bar[j+1] = 저Bar[j];
저Idx[j+1] = 저Idx[j];
}
저[1] = 기준저;
저Bar[1] = 기준저Bar;
저Idx[1] = Index - 저Bar[1];
ZZ = 기준저;
기준저 = C;
기준저Bar = 0;
기준고 = C;
기준고Bar = 0;
}
if 추세 == 상승 Then
var1 = 기준고;
if 추세 == 하락 Then
var2 = 기준저;
if 추세 == 상승 and 추세 != 추세[1] and mav > mav[1] Then
buy("b");
if 추세 == 하락 and 추세 != 추세[1] and mav < mav[1] Then
sell("s");
즐거운 하루되세요
> phn 님이 쓴 글입니다.
> 제목 : 시스템 문의 드립니다~
> 수식 작성해 주셔서 감사드립니다~
그런데 대입을 하려 하는데 아직은 실력이 안되서 자꾸오류가 생기네요,
한번 다시 부탁드립니다~
------------------------------------------------
질문은
1, 2, 3번 시스템이 있고
2, 3번 중에서 매수가 나와있을때 1번이 매수 신호 나오면 매수진입,
2, 3번은 매도신호중 일때 1번이 매수가 나오면 대기하고 있다가 2, 3번중 매수 신호가 나오면 매수 진입,
매도는 반대로 입니다,,
그런데 밑에 수식에서는 1번 신호가 매수인데 2, 3번 신호가 매도시 매도 진입이 나오네요,
안나오게 부탁드립니다~
1번 신호와 같은 신호가 있을때만 진입입니다~
1번 신호가 우선이고 2, 3번 신호중 1번 신호와 같은 진입신호가 있을때만 신호가 나오게 부탁드립니다.
--------------------------------------------------
밑에 작성해 주신 식입니다
var : T1(0),T2(0),T3(0);
#1번 시스템
var1 = ma(C,5);
var2 = ma(c,20);
if crossup(var1,var2) Then
T1 = 1;
if CrossDown(var1,var2) Then
T1 = -1;
#2번 시스템
var3 = StochasticsK(10,5);
var4 = StochasticsD(10,5,5);
if crossup(var3,var4) Then
T2 = 1;
if CrossDown(var3,var4) Then
T2 = -1;
#3번 시스템
var5 = MACD(12,26);
var6 = ema(var5,9);
if crossup(var5,var6) Then
T3 = 1;
if CrossDown(var5,var6) Then
T3 = -1;
if T3 == 1 and T1 == 1 and T1[1] != 1 Then
buy();
if T3 == -1 and T1 == 1 and
((T2 == 1 and T2[1] != 1) or (T3 == 1 and T3[1] != 1)) Then
buy();
if T3 == -1 and T1 == -1 and T1[1] != -1 Then
sell();
if T3 == 1 and T1 == -1 and
((T2 == -1 and T2[1] != -1) or (T3 == -1 and T3[1] != -1)) Then
sell();
----------------------------------------------------------------
위 식에
1번
input : P1(5),P2(37),RSIP(9);
var1 = wma(c,P1);
var2 = wma(c,P2);
var3 = RSI(RSIP);
Condition1 = var1 > var2 and var3 >=70;
Condition2 = var1 < var2 and var3 <=40;
if Condition1 == true and Condition1[1] == false Then
buy();
if MarketPosition == 1 and CrossDown(var1,var2) and var3 <= 40 Then
ExitLong();
if Condition2 == true and Condition2[1] == false Then
sell();
if MarketPosition == -1 and Crossup(var1,var2) and var3 >= 70 Then
ExitShort();
-----------------------------------------------------------
2번
INPUT : LENGTH(10),N(2),P1(60),P2(40),P3(20);
VAR : TCHAN(0), BCHAN(0),T(0),B(0),mav2(0),mav3(0),X(0),Y(0),mav1(0),Z(0);
Mav1 = ma(C,P1);
MAV2 = ma(C,P2);
MAV3 = ma(C,P3);
TCHAN = HIGHEST(HIGH, LENGTH)[1];
BCHAN = LOWEST(LOW, LENGTH)[1];
if TCHAN > TCHAN[1] Then
T = 1;
if TCHAN < TCHAN[1] Then
T = -1;
if BCHAN > BCHAN[1] Then
B = 1;
if BCHAN < BCHAN[1] Then
B = -1;
if mav1 > mav1[1] Then
Z = 1;
if mav1 < mav1[1] Then
Z = -1;
if mav2 > mav2[1] Then
X = 1;
if mav2 < mav2[1] Then
X = -1;
if T == 1 and T[1] != 1 Then
Y = 1;
if B == 1 and B[1] != 1 Then
Y = 1;
if T == -1 and T[1] != -1 Then
Y = -1;
if B == -1 and B[1] != -1 Then
Y = -1;
if Z == 1 and
B == 1 and
CrossDown(L,BCHAN) Then
buy();
if X == 1 and Y == 1 and
C < mav3 and C > O and C[1] < O[1] Then
buy();
if Z == -1 and
T == -1 and
CrossUp(H,TCHAN) Then
Sell();
if X == -1 and Y == -1 and
C > mav3 and C < O and C[1] > O[1] Then
sell();
if MarketPosition == 1 and mav1 < mav1[3] and C < O Then
exitlong();
if MarketPosition == -1 and mav1 > mav1[3] and C > O Then
ExitShort();
-------------------------------------------------------------
3번식은 두개 입니다(매수, 매도 따로)
3-매도
INPUT : LENGTH(10);
VAR : TCHAN(0), BCHAN(0),T1(0),T2(0);
TCHAN = HIGHEST(HIGH, LENGTH)[1];
BCHAN = LOWEST(LOW, LENGTH)[1];
if TCHAN > TCHAN[1] and BCHAN > BCHAN[1] Then
T1 = 1;
if TCHAN < TCHAN[1] and BCHAN < BCHAN[1] Then
T1 = -1;
if T1 == 1 Then
exitshort("b",atlimit,BCHAN);
if t1 == -1 Then
SELL("S",atlimit,TCHAN);
3-매수
INPUT : LENGTH(10);
VAR : TCHAN(0), BCHAN(0),T1(0),T2(0);
TCHAN = HIGHEST(HIGH, LENGTH)[1];
BCHAN = LOWEST(LOW, LENGTH)[1];
if TCHAN > TCHAN[1] and BCHAN > BCHAN[1] Then
T1 = 1;
if TCHAN < TCHAN[1] and BCHAN < BCHAN[1] Then
T1 = -1;
if T1 == 1 Then
buy("b",atlimit,BCHAN);
if T1 == -1 Then
exitlong("bx",atlimit,TCHAN);
이렇게 위의 세개의 식을 가지고 맞춰 보고자 합니다~ 부탁드립니다
-----------------------------------------------------
그리고 밑에 식에서 이평선의 기울기가 0도 위로 향하면 매수만, 밑으로는 매도만 신호가 나오게 가능할까요?
또 밑에 식에서 고점에서 하락후 매수 신호 자리에서 저점이 갱신되어 나오는 신호로 3, 4, 7번째 신호만 진입신호가 유효하게 나오게도 수정 가능할까요?
매도는 반대입니다~
가능하다면 부탁드립니다~
Input:전환틱수(15);
Var:j(0),상승(100),하락(-100),상승틱수(0),하락틱수(0),기준고(0),기준저(0),
기준고Bar(0),기준저Bar(0),추세(0),ZZ(0);
Array:고[20](0),저[20](0),고Bar[20](0),저Bar[20](0),고Idx[20](0),저Idx[20](0);
상승틱수 = PriceScale*전환틱수;
하락틱수 = -PriceScale*전환틱수;
for j = 1 to 19 {
고Bar[j] = 고Bar[j] + 1;
저Bar[j] = 저Bar[j] + 1;
고Idx[j] = Index - 고Bar[j];
저Idx[j] = Index - 저Bar[j];
}
if 기준고 <= C or 기준고 == 0 then {
기준고 = C;
기준고Bar = 0;
}
else
기준고Bar = 기준고Bar + 1;
if 기준저 >= C or 기준저 == 0 then {
기준저 = C;
기준저Bar = 0;
}
else
기준저Bar = 기준저Bar + 1;
if 기준고 + 하락틱수 <= C[1] and 기준고 + 하락틱수 > C then
추세 = 하락;
else if 기준저 + 상승틱수 >= C[1] and 기준저 + 상승틱수 < C then
추세 = 상승;
if 추세[1] == 상승 and 추세 == 하락 then {
for j = 18 downto 1 {
고[j+1] = 고[j];
고Bar[j+1] = 고Bar[j];
고Idx[j+1] = 고Idx[j];
}
고[1] = 기준고;
고Bar[1] = 기준고Bar;
고Idx[1] = Index - 고Bar[1];
ZZ = 기준고;
기준고 = C;
기준고Bar = 0;
기준저 = C;
기준저Bar = 0;
}
if 추세[1] == 하락 and 추세 == 상승 then {
for j = 18 downto 1 {
저[j+1] = 저[j];
저Bar[j+1] = 저Bar[j];
저Idx[j+1] = 저Idx[j];
}
저[1] = 기준저;
저Bar[1] = 기준저Bar;
저Idx[1] = Index - 저Bar[1];
ZZ = 기준저;
기준저 = C;
기준저Bar = 0;
기준고 = C;
기준고Bar = 0;
}
if 추세 == 상승 Then
var1 = 기준고;
if 추세 == 하락 Then
var2 = 기준저;
if 추세 == 상승 and 추세 != 추세[1] Then
buy("b");
if 추세 == 하락 and 추세 != 추세[1] Then
sell("s");
시스템식 모두 변수 설정 가능하도록 부탁드립니다~