커뮤니티
수식좀 부탁드립니다
2011-04-01 13:43:16
706
글번호 37159
아래 알려주신 수식 감사합니다
제가 아래 수식으로 매매신호를 만들려고 하는데 좀 도와주세요
수식
매도:볼밴상단을 터치하는봉(이때 아래이동평균 60>20>5>120 or 120>5>60>20를 만족) 하고 이때 봉의종가가 아니라도 상관없이 터치만하고 난후 스톡캐스틱5,3,3이 데드나는봉(종가기준)의 종가에 매도 (볼밴상단을터치하는봉의종가가스톡캐스틱데드가나면 이봉에서 매도)
매수:볼밴하단을 터치하는봉(이때 아래이동평균 120>60>20>5 or 5>20>60>120를 만족) 하고 이때 봉의종가가 아니라도 상관없이 터치만하고 난후 스톡캐스틱5,3,3이 골드나는봉(종가기준)의 종가에 매수(볼밴하단을터치하는봉의종가가스톡캐스틱골드가나면 이봉에서 매수)
손절:0.2p 즉시
청산:하단밴드 또는 상단밴드에 닿는순간 청산 또는 0.5P수익나면 즉시
1.
input : P1(5),P2(20),P3(60),P4(120);
var : sumc(0),idx(0);
if date != date[1] Then{
sumc = 0;
idx = 0;
}
sumc = sumc+C;
idx = idx+1;
#5이평
if dayindex < P1 Then
var1 = sumc/idx;
Else
var1 = ma(C,P1);
#20이평
if dayindex < P2 Then
var2 = sumc/idx;
Else
var2 = ma(C,P2);
#60이평
if dayindex < P3 Then
var3 = sumc/idx;
Else
var3 = ma(C,P3);
#120이평
if dayindex < P4 Then
var4 = sumc/idx;
Else
var4 = ma(C,P4);
2.
input : Period(20),D1(2);
var : sumc(0),idx(0);
if date != date[1] Then{
sumc = 0;
idx = 0;
}
sumc = sumc+C;
idx = idx+1;
if dayindex < Period Then{
var1 = sumc/idx+std(C,idx)*D1;
var2 = sumc/idx;
var3 = sumc/idx-std(C,idx)*D1;
}
Else{
var1 = BollBandUp(Period,D1);
var2 = ma(C,Period);
var3 = BollBandDown(Period,D1);
}
plot1(var1);
plot2(var2);
plot3(var3);
답변 1
예스스탁 예스스탁 답변
2011-04-01 16:44:08
안녕하세요
예스스탁입니다.
input : P1(5),P2(20),P3(60),P4(120),Period(20),D1(2);
var : sumc(0),idx(0);
if date != date[1] Then{
value99 = 0;
sumc = 0;
idx = 0;
}
sumc = sumc+C;
idx = idx+1;
#5이평
if dayindex < P1 Then
var1 = sumc/idx;
Else
var1 = ma(C,P1);
#20이평
if dayindex < P2 Then
var2 = sumc/idx;
Else
var2 = ma(C,P2);
#60이평
if dayindex < P3 Then
var3 = sumc/idx;
Else
var3 = ma(C,P3);
#120이평
if dayindex < P4 Then
var4 = sumc/idx;
Else
var4 = ma(C,P4);
if dayindex < Period Then{
value1 = sumc/idx+std(C,idx)*D1;
value2 = sumc/idx;
value3 = sumc/idx-std(C,idx)*D1;
}
Else{
value1 = BollBandUp(Period,D1);
value2 = ma(C,Period);
value3 = BollBandDown(Period,D1);
}
#매도 이평 배열조건 60>20>5>120 or 120>5>60>20
Condition1 = (var3 > var2 and var2 > var1 and var1 > var4) or (var4 > var1 and var1 > var3 and var3 > var2);
#매수 이평 배열조건 120>60>20>5 or 5>20>60>120
Condition2 = (var4 > var3 and var3 > var2 and var2 > var1) or (var1 > var2 and var2 > var3 and var3 > var4);
# 상단 터치하고 매도 이평조건만족하면 -1
# 하단 터치하고 매수 이평조건만족하면 1
# 포지션에 들어가면 0
if MarketPosition == 0 then{
if Condition1 == true and crossup(H,value1) Then
value99 = -1;
if Condition2 == true and CrossDown(L,value3) Then
value99 = 1;
}
if MarketPosition != 0 Then
value99 = 0;
if MarketPosition == 0 then{
# Condition3이 true이고 스토케스틱 골드시 매도
if value99 == -1 and CrossDown(StochasticsK(5,3),StochasticsD(5,3,3)) Then
sell();
# Condition4가 true이고 스토케스틱 데드시 매수
if value99 == 1 and CrossUp(StochasticsK(5,3),StochasticsD(5,3,3)) Then
Buy();
}
#하단터치시 매수포지션 청산
if MarketPosition == 1 Then
ExitLong("bx",AtStop,value3);
#상단 터치시 매도포지션 청산
if MarketPosition == -1 Then
ExitShort("sx",AtStop,value1);
SetStopLoss(0.2,PointStop);#0.2손실
SetStopProfittarget(0.5,PointStop);#0.5수익
즐거운 하루되세요
> 극장주 님이 쓴 글입니다.
> 제목 : 수식좀 부탁드립니다
> 아래 알려주신 수식 감사합니다
제가 아래 수식으로 매매신호를 만들려고 하는데 좀 도와주세요
수식
매도:볼밴상단을 터치하는봉(이때 아래이동평균 60>20>5>120 or 120>5>60>20를 만족) 하고 이때 봉의종가가 아니라도 상관없이 터치만하고 난후 스톡캐스틱5,3,3이 데드나는봉(종가기준)의 종가에 매도 (볼밴상단을터치하는봉의종가가스톡캐스틱데드가나면 이봉에서 매도)
매수:볼밴하단을 터치하는봉(이때 아래이동평균 120>60>20>5 or 5>20>60>120를 만족) 하고 이때 봉의종가가 아니라도 상관없이 터치만하고 난후 스톡캐스틱5,3,3이 골드나는봉(종가기준)의 종가에 매수(볼밴하단을터치하는봉의종가가스톡캐스틱골드가나면 이봉에서 매수)
손절:0.2p 즉시
청산:하단밴드 또는 상단밴드에 닿는순간 청산 또는 0.5P수익나면 즉시
1.
input : P1(5),P2(20),P3(60),P4(120);
var : sumc(0),idx(0);
if date != date[1] Then{
sumc = 0;
idx = 0;
}
sumc = sumc+C;
idx = idx+1;
#5이평
if dayindex < P1 Then
var1 = sumc/idx;
Else
var1 = ma(C,P1);
#20이평
if dayindex < P2 Then
var2 = sumc/idx;
Else
var2 = ma(C,P2);
#60이평
if dayindex < P3 Then
var3 = sumc/idx;
Else
var3 = ma(C,P3);
#120이평
if dayindex < P4 Then
var4 = sumc/idx;
Else
var4 = ma(C,P4);
2.
input : Period(20),D1(2);
var : sumc(0),idx(0);
if date != date[1] Then{
sumc = 0;
idx = 0;
}
sumc = sumc+C;
idx = idx+1;
if dayindex < Period Then{
var1 = sumc/idx+std(C,idx)*D1;
var2 = sumc/idx;
var3 = sumc/idx-std(C,idx)*D1;
}
Else{
var1 = BollBandUp(Period,D1);
var2 = ma(C,Period);
var3 = BollBandDown(Period,D1);
}
plot1(var1);
plot2(var2);
plot3(var3);