커뮤니티
문의드립니다
2011-12-14 23:29:05
315
글번호 45785
1번
Input : Period(10), Period1(3), Period2(3);
var1 = StochasticsK(Period,Period1);
var2 = StochasticsD(Period,Period1,Period2);
if var1 > var1[1] then
plot1(var1,"K",red);
else
plot1(var1,"K",blue);
if var2 > var2[1] then
plot2(var2,"D",red);
else
plot2(var2,"D",blue);
PlotBaseLine1(20, "기준선1",black);
PlotBaseLine2(80, "기준선2",black);
2번
input : 분(30),Period(10), Period1(6), Period2(6);
var : count(0), highVal(0), lowVal(0), StoFastK(0), StoK(0), StoD(0);
var : Ep(0), EP1(0), JISU(0), DINDEX(0), PreStoK(0), PreStoD(0),cnt(0);
Array : HH[20](0),LL[20](0);
var1 = TimeToMinutes(stime)%분;
if dayindex == 0 or var1 < var1[1] Then{
HH[0] = H;
LL[0] = L;
for cnt = 1 to 19{
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
#### 특정 구간의 고가 [highest(H,Period)] ####
highVal = HH[0];
for count = 0 to Period-1 {
if HH[count] > highVal then
highVal = HH[count];
}
#### 특정 구간의 저가 [lowest(L,Period)] ####
lowVal = LL[0];
for count = 0 to Period-1 {
if LL[count] < lowVal then
lowVal = LL[count];
}
#### Fast StochasticsK ####
StoFastK = (C-lowVal)/(highVal-lowVal)*100; //Fast StochasticsK ==> (C-lowest(L,Period))/(highest(H,Period)-lowest(L,Period))*100
#### Slow StochasticsK ####
Ep = 2/(Period1+1);
if DINDEX >= Period and (date != date[1] or var1 < var1[1]) then {
DINDEX = DINDEX + 1;
PreStoK = StoK[1];
}
if DINDEX <= 1 then
StoK = StoFastK ;
else
StoK = StoFastK * EP + PreStoK * (1-EP); //Slow StochasticsK ==> ema(Fast StochasticsK, Period1)
#### Slow StochasticsD ####
Ep1 = 2/(Period2+1);
if date != date[1] or var1 < var1[1] then {
DINDEX = DINDEX + 1;
PreStoD = StoD[1];
}
if DINDEX <= 1 then
StoD = StoK ;
else
StoD = StoK * EP1 + PreStoD * (1-EP1); //Slow StochasticsD ==> ema(Slow StochasticsK, Period2)
plot1(StoK);
plot2(StoD);
1번 수식은 일반적인 스톡수식이고 2번 수식은 분봉에서 보는 30분 스톡입니다
수식1번에서 StoK 가 D를 상향 돌파시 매수 하향 돌파시 매도
StoD가 기준선 20을 상향돌파하면 매수 기준선 80을 하향돌파하면 매도를 하는것을 기본 시스템으로하고...
2번 수식과 연동하여 2번수식plot1(StoK)가 plot2(StoD) 위에 있을 때는 매수 신호만 나오고
반대로 2번수식plot1(StoK)가 plot2(StoD) 아래에 있을 때는 매도 신호만 나오고
2번수식plot1(StoK)의 값과 plot2(StoD)의 값의 차이가 5이하 일때는 아무신호도 나오지 않는 시스템 수식을 문의드립니다
신호 발생시 진입은 두개약으로 하고 청산은 0.4포인트 수익일때 한계약청산 0.8포인트 수익일 때 나머지 청산 손절은 0.6포인트에서 두개약 손절
만약 진입이후 한계약이 0.4포인트에서 청산돼고 0.8포인트까지 가지않고 가격이 밀릴경우 진입가에서 나머지 청산...
이런 조건의 수식을 문의드립니다
감사합니다
답변 1
예스스탁 예스스탁 답변
2011-12-15 10:56:27
안녕하세요
예스스탁입니다.
Input : sPeriod(10), sPeriod1(3), sPeriod2(3);
input : 분(30),Period(10), Period1(6), Period2(6);
var : count(0), highVal(0), lowVal(0), StoFastK(0), StoK(0), StoD(0);
var : Ep(0), EP1(0), JISU(0), DINDEX(0), PreStoK(0), PreStoD(0),cnt(0);
Array : HH[20](0),LL[20](0);
var1 = TimeToMinutes(stime)%분;
if dayindex == 0 or var1 < var1[1] Then{
HH[0] = H;
LL[0] = L;
for cnt = 1 to 19{
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
#### 특정 구간의 고가 [highest(H,Period)] ####
highVal = HH[0];
for count = 0 to Period-1 {
if HH[count] > highVal then
highVal = HH[count];
}
#### 특정 구간의 저가 [lowest(L,Period)] ####
lowVal = LL[0];
for count = 0 to Period-1 {
if LL[count] < lowVal then
lowVal = LL[count];
}
#### Fast StochasticsK ####
StoFastK = (C-lowVal)/(highVal-lowVal)*100; //Fast StochasticsK ==> (C-lowest(L,Period))/(highest(H,Period)-lowest(L,Period))*100
#### Slow StochasticsK ####
Ep = 2/(Period1+1);
if DINDEX >= Period and (date != date[1] or var1 < var1[1]) then {
DINDEX = DINDEX + 1;
PreStoK = StoK[1];
}
if DINDEX <= 1 then
StoK = StoFastK ;
else
StoK = StoFastK * EP + PreStoK * (1-EP); //Slow StochasticsK ==> ema(Fast StochasticsK, Period1)
#### Slow StochasticsD ####
Ep1 = 2/(Period2+1);
if date != date[1] or var1 < var1[1] then {
DINDEX = DINDEX + 1;
PreStoD = StoD[1];
}
if DINDEX <= 1 then
StoD = StoK ;
else
StoD = StoK * EP1 + PreStoD * (1-EP1); //Slow StochasticsD ==> ema(Slow StochasticsK, Period2)
var98 = StochasticsK(sPeriod,sPeriod1);
var99 = StochasticsD(sPeriod,sPeriod1,sPeriod2);
if StoK > Stod+5 Then{
if crossup(var98,var99) or crossup(var99,20) Then
buy("b",OnClose,def,2);
}
if stoK < StoD-5 Then{
if CrossDown(var98,var99) or CrossDown(var99,80) Then
sell("s",OnClose,def,2);
}
if MarketPosition == 1 Then{
if CurrentContracts == MaxContracts Then
ExitLong("bx1",AtLimit,EntryPrice+0.4);
if CurrentContracts < MaxContracts Then{
ExitLong("bx2_1",AtLimit,EntryPrice+0.8);
ExitLong("bx2_2",AtStop,EntryPrice);
}
}
if MarketPosition == -1 Then{
if CurrentContracts == MaxContracts Then
ExitShort("sx1",AtLimit,EntryPrice-0.4);
if CurrentContracts < MaxContracts Then{
ExitShort("sx2_1",AtLimit,EntryPrice-0.8);
ExitShort("sx2_2",AtStop,EntryPrice);
}
}
즐거운 하루되세요
> cjfdk 님이 쓴 글입니다.
> 제목 : 문의드립니다
> 1번
Input : Period(10), Period1(3), Period2(3);
var1 = StochasticsK(Period,Period1);
var2 = StochasticsD(Period,Period1,Period2);
if var1 > var1[1] then
plot1(var1,"K",red);
else
plot1(var1,"K",blue);
if var2 > var2[1] then
plot2(var2,"D",red);
else
plot2(var2,"D",blue);
PlotBaseLine1(20, "기준선1",black);
PlotBaseLine2(80, "기준선2",black);
2번
input : 분(30),Period(10), Period1(6), Period2(6);
var : count(0), highVal(0), lowVal(0), StoFastK(0), StoK(0), StoD(0);
var : Ep(0), EP1(0), JISU(0), DINDEX(0), PreStoK(0), PreStoD(0),cnt(0);
Array : HH[20](0),LL[20](0);
var1 = TimeToMinutes(stime)%분;
if dayindex == 0 or var1 < var1[1] Then{
HH[0] = H;
LL[0] = L;
for cnt = 1 to 19{
HH[cnt] = HH[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
}
if H > HH[0] Then
HH[0] = H;
if L < LL[0] Then
LL[0] = L;
#### 특정 구간의 고가 [highest(H,Period)] ####
highVal = HH[0];
for count = 0 to Period-1 {
if HH[count] > highVal then
highVal = HH[count];
}
#### 특정 구간의 저가 [lowest(L,Period)] ####
lowVal = LL[0];
for count = 0 to Period-1 {
if LL[count] < lowVal then
lowVal = LL[count];
}
#### Fast StochasticsK ####
StoFastK = (C-lowVal)/(highVal-lowVal)*100; //Fast StochasticsK ==> (C-lowest(L,Period))/(highest(H,Period)-lowest(L,Period))*100
#### Slow StochasticsK ####
Ep = 2/(Period1+1);
if DINDEX >= Period and (date != date[1] or var1 < var1[1]) then {
DINDEX = DINDEX + 1;
PreStoK = StoK[1];
}
if DINDEX <= 1 then
StoK = StoFastK ;
else
StoK = StoFastK * EP + PreStoK * (1-EP); //Slow StochasticsK ==> ema(Fast StochasticsK, Period1)
#### Slow StochasticsD ####
Ep1 = 2/(Period2+1);
if date != date[1] or var1 < var1[1] then {
DINDEX = DINDEX + 1;
PreStoD = StoD[1];
}
if DINDEX <= 1 then
StoD = StoK ;
else
StoD = StoK * EP1 + PreStoD * (1-EP1); //Slow StochasticsD ==> ema(Slow StochasticsK, Period2)
plot1(StoK);
plot2(StoD);
1번 수식은 일반적인 스톡수식이고 2번 수식은 분봉에서 보는 30분 스톡입니다
수식1번에서 StoK 가 D를 상향 돌파시 매수 하향 돌파시 매도
StoD가 기준선 20을 상향돌파하면 매수 기준선 80을 하향돌파하면 매도를 하는것을 기본 시스템으로하고...
2번 수식과 연동하여 2번수식plot1(StoK)가 plot2(StoD) 위에 있을 때는 매수 신호만 나오고
반대로 2번수식plot1(StoK)가 plot2(StoD) 아래에 있을 때는 매도 신호만 나오고
2번수식plot1(StoK)의 값과 plot2(StoD)의 값의 차이가 5이하 일때는 아무신호도 나오지 않는 시스템 수식을 문의드립니다
신호 발생시 진입은 두개약으로 하고 청산은 0.4포인트 수익일때 한계약청산 0.8포인트 수익일 때 나머지 청산 손절은 0.6포인트에서 두개약 손절
만약 진입이후 한계약이 0.4포인트에서 청산돼고 0.8포인트까지 가지않고 가격이 밀릴경우 진입가에서 나머지 청산...
이런 조건의 수식을 문의드립니다
감사합니다