커뮤니티

문의

프로필 이미지
엉덩공주
2020-11-18 20:52:42
837
글번호 144024
답변완료
아래의 식을 검증하니 에러가 뜹니다. 고쳐주셔요 그리고 무슨의미인지 알려주셨으면 합니다. //-------------------------------------------------------------- Vars : tf(5), firstBar(0), dayIdx(0); Vars : mPos(0), buyCnt(0), sellCnt(0), bseIdx(0), ehh(0), ell(0), ehc(0), elc(0); Arrays: bSetup[10](false), sSetup[10](false), cSetup[10](false); Arrays: trTime[10](false); Arrays: rangeD[10](0); Arrays: r1[2](0), r2[2](0), pp[2](0), s1[2](0), s2[2](0); Vars : stretch(0), vma(0); if CurrentBar<=0 || (CurrentBar>0 && Date>Date[1]) then { firstBar = CurrentBar; buyCnt = 0; sellCnt = 0; } dayIdx = CurrentBar - firstBar; mPos = MarketPosition(0); if mPos==1 && mPos<>mPos[1] then buyCnt = buyCnt + 1; if mPos==-1 && mPos<>mPos[1] then sellCnt = sellCnt + 1; bseIdx = BarsSinceEntry(0); ehh = Highest(h, bseIdx+1); ell = Lowest(l, bseIdx+1); ehc = Highest(c, bseIdx+1); elc = Lowest(c, bseIdx+1); for value1=1 to 10 { rangeD[value1] = DayHigh(value1)-DayLow(value1); } pp[1] = (DayHigh(1)+DayLow(1)+DayClose(1)*2)/4; r1[1] = 2*pp[1] - DayLow(1); s1[1] = 2*pp[1] - DayHigh(1); r2[1] = pp[1] + (r1[1] - s1[1]); s2[1] = pp[1] - (r1[1] - s1[1]); if DayOpen(0)>DayClose(1) then pp[2] = (DayHigh(1)+DayClose(1)+2*DayLow(1))/2; else if DayOpen(0)<DayClose(1) then pp[2] = (2*DayHigh(1)+DayClose(1)+DayLow(1))/2; else pp[2] = (DayHigh(1)+2*DayClose(1)+DayLow(1))/2; r1[2] = pp[2] - DayLow(1); s1[2] = pp[2] - DayHigh(1); vma = Ma(c,260); trTime[1] = dayIdx<=(120/tf); #당일 봉수가 24개봉 이하 trTime[2] = dayIdx<=(300/tf); #당일 봉수가 60개봉 이하 trTime[3] = dayIdx<=(180/tf); #당일 봉수가 36개봉 이하 trTime[4] = dayIdx<=(180/tf); #당일 봉수가 36개봉 이하 trTime[5] = dayIdx<=(300/tf); #당일 봉수가 60개봉 이하 trTime[6] = dayIdx==3; #당일 3번째봉 cSetup[1] = (buyCnt+sellCnt)<2 && trTime[1]==true; #매수진입횟수+매도진입횟수가 2 미만이고 당일 봉수가 24개봉 이하 cSetup[2] = (buyCnt+sellCnt)<2 && trTime[2]==true; #매수진입횟수+매도진입횟수가 2 미만이고 당일 봉수가 60개봉 이하 cSetup[3] = (buyCnt+sellCnt)<1 && trTime[3]==true; #매수진입횟수+매도진입횟수가 1 미만이고 당일 봉수가 36개봉 이하 cSetup[4] = (buyCnt+sellCnt)<1 && trTime[4]==true; #매수진입횟수+매도진입횟수가 1 미만이고 당일 봉수가 36개봉 이하 cSetup[5] = (buyCnt+sellCnt)<1 && trTime[5]==true; #매수진입횟수+매도진입횟수가 1 미만이고 당일 봉수가 60개봉 이하 cSetup[6] = (buyCnt+sellCnt)<1 && trTime[6]==true; #매수진입횟수+매도진입횟수가 1 미만이고 당일 3번째봉 # 종가가중 피봇 : 리버스 허용 bSetup[1] = Bids>Asks*1.5 && c>r2[1]; sSetup[1] = Bids<Asks/1.5 && c<s2[1]; bSetup[2] = Bids>Asks && DayLow<s1[1] && CrossUp(c,s1[1]); sSetup[2] = Bids<Asks && DayHigh>r1[1] && CrossDown(c,r1[1]); # 디마크 : 리버스 불허 stretch = (DayHigh(1)-DayLow(1))/3; bSetup[3] = c>(DayOpen + stretch) && DayOpen>r1[2]; sSetup[3] = c<(DayOpen - stretch) && DayOpen<s1[2]; bSetup[4] = DayOpen<s1[2] && c>s1[2] && DayLow>(DayOpen - stretch) && h<DayHigh; sSetup[4] = DayOpen>r1[2] && c<r1[2] && DayHigh<(DayOpen + stretch) && l>DayLow; # 이평 돌파 bSetup[5] = (DayOpen<vma && c>vma[1]); sSetup[5] = (DayOpen>vma && c<vma[1]); # 갭필 bSetup[6] = DayOpen<DayClose(1)*0.99 && Bids>Asks*1.5 && c>DayOpen; sSetup[6] = DayOpen>DayClose(1)*1.01 && Bids<Asks/1.5 && c<DayOpen; /*************************** Entry ********************************************/ if cSetup[1] then { if bSetup[1] then buy("3.2.le"); // if sSetup[1] then Sell("3.2.se"); } if cSetup[2] then { if bSetup[2] then Sell("4.1.le"); if sSetup[2] then buy("4.1.se"); } if cSetup[3] then { if bSetup[3] then Buy("3.0.le"); if sSetup[3] then buy("3.0.se"); } if cSetup[4] then { if bSetup[4] then Buy("4.0.le"); if sSetup[4] then Sell("4.0.se"); } if cSetup[5] then { if bSetup[5] then sell("2.0.le"); if sSetup[5] then Sell("2.0.se"); } /* if cSetup[6] then { if bSetup[6] then Buy("6.0.le"); if sSetup[6] then Sell("6.0.se"); } */ Input : Period(12), Period1(5), Period2(5); Value1 = StochasticsD(Period,Period1,Period2); /* if value1 < 20 Then sell("과열권매도"); if marketposition == -1 then buy("",atstop,entryprice+pricescale*20); */ if value1 > 90 Then buy("과열권매수"); // if marketposition == 1 then // sell("",atstop,entryprice-pricescale*20); } //----------------------------------------------------------------- If (stime > 91000 and stime < 100000 ) THEN { input : Period3(14), emaPeriod2(10); var : P이평(0), M이평(0); P이평 = ema(DIPlus(Period3), emaPeriod2); //PDI의 10일 이평 M이평 = ema(DIMinus(Period3), emaPeriod2); //MDI의 10일 이평 if crossup(P이평, M이평) then buy(); } //--------------------------------------------- If (stime > 90000 and stime < 150000) THEN { Input : SPeriod(10),DNSim(25),Upsim(80); var3 = Simrido(SPeriod); if var3 <= DNSim Then Sell("Simrido"); if var3 >= Upsim Then buy("투자심리"); } //------------------------------------------------------ Inputs: Length(5), NBars(3); //Description : Bearish Engulfing Pattern If CountIF(BullishEngulfing(Length), NBars) > 0 Then sell ("BE_LE", AtStop, High); //Description : Bullish Engulfing Pattern If CountIF(BearishEngulfing(Length), NBars) > 0 Then buy("BE_SE", AtStop, Low); //----------------------------------------------- If (stime >= 94000 and stime < 133000) THEN { Inputs: Length1(5), ATRs(1.5), Pval(0.05); Variables: KLower(0), SellSetup(False), SellBase(0); KLower = KeltnerChannel(Close, Length1, -ATRs); Condition1 = CrossDown(Close, KLower[1]); If MarketPosition() == -1 OR Close > MA(Close, Length1) Then SellSetup = False; Else If Condition1 Then Begin SellSetup = True; SellBase = Low; End; If SellSetup Then Sell ("Kltr", AtStop, SellBase - Pval); } //--------------------------------------------- if dayindex == 1 Then{ if C > O Then buy("시초매수"); if C < O Then sell("시초매도"); } } //------------------------------------------------------------- var :O_Price(0); O_Price = (Dayopen+Dayopen(1)+Dayopen(2)+Dayopen(3)+Dayopen(4))/5; if CrossUp(C, O_Price) Then { buy("5일이동평균d"); } } //--------------------------------------------------------------------- If (stime > 100000 and stime < 130000) THEN { Inputs: RSILength1(9), OverBought1(70); If CrossDown(RSI(RSILength1), OverBought1) Then Sell ("RSI30봉내청산"); } If (stime > 100000 and stime < 130000) THEN { input : shortPeriod9(6), longPeriod9(26), Period9(9); var : MACDV(0),MACDS(0),Gval(0),MACDval(0); MACDV = MACD(shortPeriod9, longPeriod9);//MACD MACDS = ema(MACD(shortPeriod9, longPeriod9), Period9);//MACD signal if CrossDown(MACDV, MACDS) then { var11 = MACDV; #데드시 MACD값 var12 = var11[1]; #직전 데드시 MACD값 var13 = index; #데드시 Index var14 = var13[1]; #직전 데드시 Index if var12 > 0 and var11 < var12 and var13 <= var14+40 Then Sell("데드시"); } } Input : Period4(19), Period41(10), Period42(12); value91 = StochasticsK(Period4,Period41); value92 = StochasticsD(Period4,Period41,Period42); If CrossDown(value91, value92) Then { var1 = C;#데드크로스시 발생시 초기값 var2 = var1[1]; # 직전 데드크로스 구간의 종가 중 최저가 } #가장 최근 데드크로스 구간의 종가중 최저가 계산 if value1 < value2 Then{ if C < var1 Then var1 = C; } if CrossUp(value91,value92) Then{ var3 = value91; #골든크로스시 value1값 var4 = var3[1];#직전골든크로스시 value1값 if var3 > var4 and var1 < var2 Then buy("다이버젼스"); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2020-11-19 16:03:06

안녕하세요 예스스탁입니다. 수식에 {}사용에 에러가 있었습니다. Vars : tf(5), firstBar(0), dayIdx(0); Vars : mPos(0), buyCnt(0), sellCnt(0), bseIdx(0), ehh(0), ell(0), ehc(0), elc(0); Arrays: bSetup[10](false), sSetup[10](false), cSetup[10](false); Arrays: trTime[10](false); Arrays: rangeD[10](0); Arrays: r1[2](0), r2[2](0), pp[2](0), s1[2](0), s2[2](0); Vars : stretch(0), vma(0); if CurrentBar<=0 || (CurrentBar>0 && Date>Date[1]) then { firstBar = CurrentBar; buyCnt = 0; sellCnt = 0; } dayIdx = CurrentBar - firstBar; mPos = MarketPosition(0); if mPos==1 && mPos<>mPos[1] then buyCnt = buyCnt + 1; if mPos==-1 && mPos<>mPos[1] then sellCnt = sellCnt + 1; bseIdx = BarsSinceEntry(0); ehh = Highest(h, bseIdx+1); ell = Lowest(l, bseIdx+1); ehc = Highest(c, bseIdx+1); elc = Lowest(c, bseIdx+1); for value1=1 to 10 { rangeD[value1] = DayHigh(value1)-DayLow(value1); } pp[1] = (DayHigh(1)+DayLow(1)+DayClose(1)*2)/4; r1[1] = 2*pp[1] - DayLow(1); s1[1] = 2*pp[1] - DayHigh(1); r2[1] = pp[1] + (r1[1] - s1[1]); s2[1] = pp[1] - (r1[1] - s1[1]); if DayOpen(0)>DayClose(1) then pp[2] = (DayHigh(1)+DayClose(1)+2*DayLow(1))/2; else if DayOpen(0)<DayClose(1) then pp[2] = (2*DayHigh(1)+DayClose(1)+DayLow(1))/2; else pp[2] = (DayHigh(1)+2*DayClose(1)+DayLow(1))/2; r1[2] = pp[2] - DayLow(1); s1[2] = pp[2] - DayHigh(1); vma = Ma(c,260); trTime[1] = dayIdx<=(120/tf); #당일 봉수가 24개봉 이하 trTime[2] = dayIdx<=(300/tf); #당일 봉수가 60개봉 이하 trTime[3] = dayIdx<=(180/tf); #당일 봉수가 36개봉 이하 trTime[4] = dayIdx<=(180/tf); #당일 봉수가 36개봉 이하 trTime[5] = dayIdx<=(300/tf); #당일 봉수가 60개봉 이하 trTime[6] = dayIdx==3; #당일 3번째봉 cSetup[1] = (buyCnt+sellCnt)<2 && trTime[1]==true; #매수진입횟수+매도진입횟수가 2 미만이고 당일 봉수가 24개봉 이하 cSetup[2] = (buyCnt+sellCnt)<2 && trTime[2]==true; #매수진입횟수+매도진입횟수가 2 미만이고 당일 봉수가 60개봉 이하 cSetup[3] = (buyCnt+sellCnt)<1 && trTime[3]==true; #매수진입횟수+매도진입횟수가 1 미만이고 당일 봉수가 36개봉 이하 cSetup[4] = (buyCnt+sellCnt)<1 && trTime[4]==true; #매수진입횟수+매도진입횟수가 1 미만이고 당일 봉수가 36개봉 이하 cSetup[5] = (buyCnt+sellCnt)<1 && trTime[5]==true; #매수진입횟수+매도진입횟수가 1 미만이고 당일 봉수가 60개봉 이하 cSetup[6] = (buyCnt+sellCnt)<1 && trTime[6]==true; #매수진입횟수+매도진입횟수가 1 미만이고 당일 3번째봉 # 종가가중 피봇 : 리버스 허용 bSetup[1] = Bids>Asks*1.5 && c>r2[1]; sSetup[1] = Bids<Asks/1.5 && c<s2[1]; bSetup[2] = Bids>Asks && DayLow<s1[1] && CrossUp(c,s1[1]); sSetup[2] = Bids<Asks && DayHigh>r1[1] && CrossDown(c,r1[1]); # 디마크 : 리버스 불허 stretch = (DayHigh(1)-DayLow(1))/3; bSetup[3] = c>(DayOpen + stretch) && DayOpen>r1[2]; sSetup[3] = c<(DayOpen - stretch) && DayOpen<s1[2]; bSetup[4] = DayOpen<s1[2] && c>s1[2] && DayLow>(DayOpen - stretch) && h<DayHigh; sSetup[4] = DayOpen>r1[2] && c<r1[2] && DayHigh<(DayOpen + stretch) && l>DayLow; # 이평 돌파 bSetup[5] = (DayOpen<vma && c>vma[1]); sSetup[5] = (DayOpen>vma && c<vma[1]); # 갭필 bSetup[6] = DayOpen<DayClose(1)*0.99 && Bids>Asks*1.5 && c>DayOpen; sSetup[6] = DayOpen>DayClose(1)*1.01 && Bids<Asks/1.5 && c<DayOpen; /*************************** Entry ********************************************/ if cSetup[1] then { if bSetup[1] then buy("3.2.le"); // if sSetup[1] then Sell("3.2.se"); } if cSetup[2] then { if bSetup[2] then Sell("4.1.le"); if sSetup[2] then buy("4.1.se"); } if cSetup[3] then { if bSetup[3] then Buy("3.0.le"); if sSetup[3] then buy("3.0.se"); } if cSetup[4] then { if bSetup[4] then Buy("4.0.le"); if sSetup[4] then Sell("4.0.se"); } if cSetup[5] then { if bSetup[5] then sell("2.0.le"); if sSetup[5] then Sell("2.0.se"); } /* if cSetup[6] then { if bSetup[6] then Buy("6.0.le"); if sSetup[6] then Sell("6.0.se"); } */ Input : Period(12), Period1(5), Period2(5); Value1 = StochasticsD(Period,Period1,Period2); /* if value1 < 20 Then sell("과열권매도"); if marketposition == -1 then buy("",atstop,entryprice+pricescale*20); */ if value1 > 90 Then buy("과열권매수"); // if marketposition == 1 then // sell("",atstop,entryprice-pricescale*20); //----------------------------------------------------------------- input : Period3(14), emaPeriod2(10); var : P이평(0), M이평(0); P이평 = ema(DIPlus(Period3), emaPeriod2); //PDI의 10일 이평 M이평 = ema(DIMinus(Period3), emaPeriod2); //MDI의 10일 이평 If (stime > 91000 and stime < 100000 ) THEN { if crossup(P이평, M이평) then buy(); } Input : SPeriod(10),DNSim(25),Upsim(80); var3 = Simrido(SPeriod); //--------------------------------------------- If (stime > 90000 and stime < 150000) THEN { if var3 <= DNSim Then Sell("Simrido"); if var3 >= Upsim Then buy("투자심리"); } //------------------------------------------------------ Inputs: Length(5), NBars(3); //Description : Bearish Engulfing Pattern If CountIF(BullishEngulfing(Length), NBars) > 0 Then sell ("BE_LE", AtStop, High); //Description : Bullish Engulfing Pattern If CountIF(BearishEngulfing(Length), NBars) > 0 Then buy("BE_SE", AtStop, Low); //----------------------------------------------- Inputs: Length1(5), ATRs(1.5), Pval(0.05); Variables: KLower(0), SellSetup(False), SellBase(0); KLower = KeltnerChannel(Close, Length1, -ATRs); Condition1 = CrossDown(Close, KLower[1]); If (stime >= 94000 and stime < 133000) THEN { If MarketPosition() == -1 OR Close > MA(Close, Length1) Then SellSetup = False; Else If Condition1 Then Begin SellSetup = True; SellBase = Low; End; If SellSetup Then Sell ("Kltr", AtStop, SellBase - Pval); } //--------------------------------------------- if dayindex == 1 Then{ if C > O Then buy("시초매수"); if C < O Then sell("시초매도"); } //------------------------------------------------------------- var : O_Price(0); O_Price = (Dayopen+Dayopen(1)+Dayopen(2)+Dayopen(3)+Dayopen(4))/5; if CrossUp(C, O_Price) Then { buy("5일이동평균d"); } //--------------------------------------------------------------------- Inputs: RSILength1(9), OverBought1(70); input : shortPeriod9(6), longPeriod9(26), Period9(9); var : MACDV(0),MACDS(0),Gval(0),MACDval(0); MACDV = MACD(shortPeriod9, longPeriod9);//MACD MACDS = ema(MACD(shortPeriod9, longPeriod9), Period9);//MACD signal If (stime > 100000 and stime < 130000) THEN { If CrossDown(RSI(RSILength1), OverBought1) Then Sell ("RSI30봉내청산"); } If (stime > 100000 and stime < 130000) THEN { if CrossDown(MACDV, MACDS) then { var11 = MACDV; #데드시 MACD값 var12 = var11[1]; #직전 데드시 MACD값 var13 = index; #데드시 Index var14 = var13[1]; #직전 데드시 Index if var12 > 0 and var11 < var12 and var13 <= var14+40 Then Sell("데드시"); } } Input : Period4(19), Period41(10), Period42(12); value91 = StochasticsK(Period4,Period41); value92 = StochasticsD(Period4,Period41,Period42); If CrossDown(value91, value92) Then { var1 = C;#데드크로스시 발생시 초기값 var2 = var1[1]; # 직전 데드크로스 구간의 종가 중 최저가 } #가장 최근 데드크로스 구간의 종가중 최저가 계산 if value1 < value2 Then { if C < var1 Then var1 = C; } if CrossUp(value91,value92) Then{ var3 = value91; #골든크로스시 value1값 var4 = var3[1];#직전골든크로스시 value1값 if var3 > var4 and var1 < var2 Then buy("다이버젼스"); } 즐거운 하루되세요 > 엉덩공주 님이 쓴 글입니다. > 제목 : 문의 > 아래의 식을 검증하니 에러가 뜹니다. 고쳐주셔요 그리고 무슨의미인지 알려주셨으면 합니다. //-------------------------------------------------------------- Vars : tf(5), firstBar(0), dayIdx(0); Vars : mPos(0), buyCnt(0), sellCnt(0), bseIdx(0), ehh(0), ell(0), ehc(0), elc(0); Arrays: bSetup[10](false), sSetup[10](false), cSetup[10](false); Arrays: trTime[10](false); Arrays: rangeD[10](0); Arrays: r1[2](0), r2[2](0), pp[2](0), s1[2](0), s2[2](0); Vars : stretch(0), vma(0); if CurrentBar<=0 || (CurrentBar>0 && Date>Date[1]) then { firstBar = CurrentBar; buyCnt = 0; sellCnt = 0; } dayIdx = CurrentBar - firstBar; mPos = MarketPosition(0); if mPos==1 && mPos<>mPos[1] then buyCnt = buyCnt + 1; if mPos==-1 && mPos<>mPos[1] then sellCnt = sellCnt + 1; bseIdx = BarsSinceEntry(0); ehh = Highest(h, bseIdx+1); ell = Lowest(l, bseIdx+1); ehc = Highest(c, bseIdx+1); elc = Lowest(c, bseIdx+1); for value1=1 to 10 { rangeD[value1] = DayHigh(value1)-DayLow(value1); } pp[1] = (DayHigh(1)+DayLow(1)+DayClose(1)*2)/4; r1[1] = 2*pp[1] - DayLow(1); s1[1] = 2*pp[1] - DayHigh(1); r2[1] = pp[1] + (r1[1] - s1[1]); s2[1] = pp[1] - (r1[1] - s1[1]); if DayOpen(0)>DayClose(1) then pp[2] = (DayHigh(1)+DayClose(1)+2*DayLow(1))/2; else if DayOpen(0)<DayClose(1) then pp[2] = (2*DayHigh(1)+DayClose(1)+DayLow(1))/2; else pp[2] = (DayHigh(1)+2*DayClose(1)+DayLow(1))/2; r1[2] = pp[2] - DayLow(1); s1[2] = pp[2] - DayHigh(1); vma = Ma(c,260); trTime[1] = dayIdx<=(120/tf); #당일 봉수가 24개봉 이하 trTime[2] = dayIdx<=(300/tf); #당일 봉수가 60개봉 이하 trTime[3] = dayIdx<=(180/tf); #당일 봉수가 36개봉 이하 trTime[4] = dayIdx<=(180/tf); #당일 봉수가 36개봉 이하 trTime[5] = dayIdx<=(300/tf); #당일 봉수가 60개봉 이하 trTime[6] = dayIdx==3; #당일 3번째봉 cSetup[1] = (buyCnt+sellCnt)<2 && trTime[1]==true; #매수진입횟수+매도진입횟수가 2 미만이고 당일 봉수가 24개봉 이하 cSetup[2] = (buyCnt+sellCnt)<2 && trTime[2]==true; #매수진입횟수+매도진입횟수가 2 미만이고 당일 봉수가 60개봉 이하 cSetup[3] = (buyCnt+sellCnt)<1 && trTime[3]==true; #매수진입횟수+매도진입횟수가 1 미만이고 당일 봉수가 36개봉 이하 cSetup[4] = (buyCnt+sellCnt)<1 && trTime[4]==true; #매수진입횟수+매도진입횟수가 1 미만이고 당일 봉수가 36개봉 이하 cSetup[5] = (buyCnt+sellCnt)<1 && trTime[5]==true; #매수진입횟수+매도진입횟수가 1 미만이고 당일 봉수가 60개봉 이하 cSetup[6] = (buyCnt+sellCnt)<1 && trTime[6]==true; #매수진입횟수+매도진입횟수가 1 미만이고 당일 3번째봉 # 종가가중 피봇 : 리버스 허용 bSetup[1] = Bids>Asks*1.5 && c>r2[1]; sSetup[1] = Bids<Asks/1.5 && c<s2[1]; bSetup[2] = Bids>Asks && DayLow<s1[1] && CrossUp(c,s1[1]); sSetup[2] = Bids<Asks && DayHigh>r1[1] && CrossDown(c,r1[1]); # 디마크 : 리버스 불허 stretch = (DayHigh(1)-DayLow(1))/3; bSetup[3] = c>(DayOpen + stretch) && DayOpen>r1[2]; sSetup[3] = c<(DayOpen - stretch) && DayOpen<s1[2]; bSetup[4] = DayOpen<s1[2] && c>s1[2] && DayLow>(DayOpen - stretch) && h<DayHigh; sSetup[4] = DayOpen>r1[2] && c<r1[2] && DayHigh<(DayOpen + stretch) && l>DayLow; # 이평 돌파 bSetup[5] = (DayOpen<vma && c>vma[1]); sSetup[5] = (DayOpen>vma && c<vma[1]); # 갭필 bSetup[6] = DayOpen<DayClose(1)*0.99 && Bids>Asks*1.5 && c>DayOpen; sSetup[6] = DayOpen>DayClose(1)*1.01 && Bids<Asks/1.5 && c<DayOpen; /*************************** Entry ********************************************/ if cSetup[1] then { if bSetup[1] then buy("3.2.le"); // if sSetup[1] then Sell("3.2.se"); } if cSetup[2] then { if bSetup[2] then Sell("4.1.le"); if sSetup[2] then buy("4.1.se"); } if cSetup[3] then { if bSetup[3] then Buy("3.0.le"); if sSetup[3] then buy("3.0.se"); } if cSetup[4] then { if bSetup[4] then Buy("4.0.le"); if sSetup[4] then Sell("4.0.se"); } if cSetup[5] then { if bSetup[5] then sell("2.0.le"); if sSetup[5] then Sell("2.0.se"); } /* if cSetup[6] then { if bSetup[6] then Buy("6.0.le"); if sSetup[6] then Sell("6.0.se"); } */ Input : Period(12), Period1(5), Period2(5); Value1 = StochasticsD(Period,Period1,Period2); /* if value1 < 20 Then sell("과열권매도"); if marketposition == -1 then buy("",atstop,entryprice+pricescale*20); */ if value1 > 90 Then buy("과열권매수"); // if marketposition == 1 then // sell("",atstop,entryprice-pricescale*20); } //----------------------------------------------------------------- If (stime > 91000 and stime < 100000 ) THEN { input : Period3(14), emaPeriod2(10); var : P이평(0), M이평(0); P이평 = ema(DIPlus(Period3), emaPeriod2); //PDI의 10일 이평 M이평 = ema(DIMinus(Period3), emaPeriod2); //MDI의 10일 이평 if crossup(P이평, M이평) then buy(); } //--------------------------------------------- If (stime > 90000 and stime < 150000) THEN { Input : SPeriod(10),DNSim(25),Upsim(80); var3 = Simrido(SPeriod); if var3 <= DNSim Then Sell("Simrido"); if var3 >= Upsim Then buy("투자심리"); } //------------------------------------------------------ Inputs: Length(5), NBars(3); //Description : Bearish Engulfing Pattern If CountIF(BullishEngulfing(Length), NBars) > 0 Then sell ("BE_LE", AtStop, High); //Description : Bullish Engulfing Pattern If CountIF(BearishEngulfing(Length), NBars) > 0 Then buy("BE_SE", AtStop, Low); //----------------------------------------------- If (stime >= 94000 and stime < 133000) THEN { Inputs: Length1(5), ATRs(1.5), Pval(0.05); Variables: KLower(0), SellSetup(False), SellBase(0); KLower = KeltnerChannel(Close, Length1, -ATRs); Condition1 = CrossDown(Close, KLower[1]); If MarketPosition() == -1 OR Close > MA(Close, Length1) Then SellSetup = False; Else If Condition1 Then Begin SellSetup = True; SellBase = Low; End; If SellSetup Then Sell ("Kltr", AtStop, SellBase - Pval); } //--------------------------------------------- if dayindex == 1 Then{ if C > O Then buy("시초매수"); if C < O Then sell("시초매도"); } } //------------------------------------------------------------- var :O_Price(0); O_Price = (Dayopen+Dayopen(1)+Dayopen(2)+Dayopen(3)+Dayopen(4))/5; if CrossUp(C, O_Price) Then { buy("5일이동평균d"); } } //--------------------------------------------------------------------- If (stime > 100000 and stime < 130000) THEN { Inputs: RSILength1(9), OverBought1(70); If CrossDown(RSI(RSILength1), OverBought1) Then Sell ("RSI30봉내청산"); } If (stime > 100000 and stime < 130000) THEN { input : shortPeriod9(6), longPeriod9(26), Period9(9); var : MACDV(0),MACDS(0),Gval(0),MACDval(0); MACDV = MACD(shortPeriod9, longPeriod9);//MACD MACDS = ema(MACD(shortPeriod9, longPeriod9), Period9);//MACD signal if CrossDown(MACDV, MACDS) then { var11 = MACDV; #데드시 MACD값 var12 = var11[1]; #직전 데드시 MACD값 var13 = index; #데드시 Index var14 = var13[1]; #직전 데드시 Index if var12 > 0 and var11 < var12 and var13 <= var14+40 Then Sell("데드시"); } } Input : Period4(19), Period41(10), Period42(12); value91 = StochasticsK(Period4,Period41); value92 = StochasticsD(Period4,Period41,Period42); If CrossDown(value91, value92) Then { var1 = C;#데드크로스시 발생시 초기값 var2 = var1[1]; # 직전 데드크로스 구간의 종가 중 최저가 } #가장 최근 데드크로스 구간의 종가중 최저가 계산 if value1 < value2 Then{ if C < var1 Then var1 = C; } if CrossUp(value91,value92) Then{ var3 = value91; #골든크로스시 value1값 var4 = var3[1];#직전골든크로스시 value1값 if var3 > var4 and var1 < var2 Then buy("다이버젼스"); }