커뮤니티

문의드립니다

프로필 이미지
cjfdk
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포인트까지 가지않고 가격이 밀릴경우 진입가에서 나머지 청산... 이런 조건의 수식을 문의드립니다 감사합니다