커뮤니티

타주기 시스템식 수정

프로필 이미지
조민철
2014-09-16 13:48:20
165
글번호 78578
답변완료
항상 감사드립니다 아래 타주기 시스템이 잘만들어지질 되질 않아 다시올립니다 수정부탁드립니다 input : Period(30),ma1(5),ma2(20),shortperiod(12),Longperiod (26),signalperiod(9),baseLine(0); var : AA(0,data1),BB(0,data1),AAA(0,data2),BBB(0,data2); AA=data1(PVI); BB=data1(ema(AA,period)); AAA=data2(PVI); BBB=data2(ema(AAA,period)); ***아래 조건식을 다음과 같이 바꾸고 싶습니다 1-1,주챠트에서 AA>BB and Ema(C,MA1) > Ema(C,MA2) and MACD(shortperiod,Longperiod) >= baseLine 이면 v10=1 1-2,보조챠트에서 AAA>BBB and Ema(C,MA1) > Ema(C,MA2) and MACD(shortperiod,Longperiod) >= baseLine 이면 v20=1 1-3,주챠트에서 AA<BB and Ema(C,MA1) < Ema(C,MA2) and MACD(shortperiod,Longperiod) <= baseLine이면 v10=-1 1-4,보조챠트에서 AAA<BBB and Ema(C,MA1) < Ema(C,MA2) and MACD(shortperiod,Longperiod) <= baseLine 이면 v20=-1 if data1(AA>BB and Ema(C,MA1) > Ema(C,MA2) and MACD(shortperiod,Longperiod) >= baseLine) And data2(AAA>BBB and Ema(C,MA1) > Ema(C,MA2) and MACD(shortperiod,Longperiod) >= baseLine) Then buy("B1"); if data1(AA<BB and Ema(C,MA1) < Ema(C,MA2) and MACD(shortperiod,Longperiod) <= baseLine) And data2(AAA<BBB and Ema(C,MA1) < Ema(C,MA2) and MACD(shortperiod,Longperiod) <= baseLine) Then sell("S1"); ######################### ### MACD_OSC 기준매매 ### ######################### input: MACDP1(12),MACDP2(26),MACDP3(9); var : MACDV1(0,data1),MACDS1(0,data1),MACDV2(0,data2),MACDS2(0,data2); var : MACDO1(0,data1),MACDO2(0,data2); MACDV1 = data1(MACD(MACDP1,MACDP2)); #MACD_OSC(12,26)_red# MACDS1 = data1(ema(MACDV1,MACDP3)); #MACD_OSC(9)_시그널_blue# MACDO1 = MACDV1-MACDS1; MACDV2 = data2(MACD(MACDP1,MACDP2)); #MACD_OSC(12,26)_red# MACDS2 = data2(ema(MACDV2,MACDP3)); #MACD_OSC(9)_시그널_blue# MACDO2 = MACDV2-MACDS2; ########################## ### 선행스팬2(52) 기준 ### ########################## var : 선행1(0,data1),선행2(0,data2); 선행1 = data1((Highest(High, 52) + Lowest(Low, 52)) / 2); #선행스팬2_52# 선행2 = data1((Highest(High, 52) + Lowest(Low, 52)) / 2); #선행스팬2_52# ###################### ##### ADX 시스템 ##### ###################### input : Period3(10); var : ADX1(0,data1),DP1(0,data1),DM1(0,data1); var : ADX2(0,data2),DP2(0,data2),DM2(0,data2); ADX1 = data1(ADX(Period3)); DP1 = data1(DiPlus(Period3)); DM1 = data1(DiMinus(Period3)); if DP1 > DM1 Then var13= 1 ; if DP1 < DM1 Then var13= -1 ; ADX2 = data2(ADX(Period3)); DP2 = data2(DiPlus(Period3)); DM2 = data2(DiMinus(Period3)); if DP2 > DM2 Then var14 = 1 ; if DP2 < DM2 Then var14 = -1 ; ###### aroon ###### input : Period4(9); var : Counter1(0,data1), Lowval1(0,data1), Highval1(0,data1); var : DownVel1(0,data1),UpVel1(0,data1), DnAroon1(0,data1),UpAroon1(0,data1) ; var : Counter2(0,data1), Lowval2(0,data1), Highval2(0,data1),d2h(0,data2),d2l(0,data2); var : DownVel2(0,data1),UpVel2(0,data1), DnAroon2(0,data1),UpAroon2(0,data1) ; d2h = data2(H); D2L = data2(L); Lowval1 = data1(Lowest(Low, Period4+1)); Highval1 = data1(Highest(High, Period4+1)); For counter1 = 0 To Period4 { If Low[counter1] == Lowval1 Then DownVel1 = counter1; If High[counter1] == highval1 Then UpVel1 = counter1; } DnAroon1 = 100*(Period4-DownVel1)/Period4; UpAroon1 = 100*(Period4-UpVel1)/Period4; Lowval2 = data2(Lowest(Low, Period4+1)); Highval2 = data2(Highest(High, Period4+1)); For counter2 = 0 To Period4 { If d2l[counter2] == Lowval2 Then DownVel2 = counter2; If d2h[counter2] == highval2 Then UpVel2 = counter2; } DnAroon2 = 100*(Period4-DownVel2)/Period4; UpAroon2 = 100*(Period4-UpVel2)/Period4; ########################### ##### 매수/매도 조건식 #### ########################### A. 주챠트에서 V10 == 1 and data1(c)>선행1[25] and var13==1 and macdv1>macds1 and upAroon1 > DnAroon1 이고 보조챠트에서V20 == 1 and data2(c)>선행2[25] and var14==1 and macdv2>macds2 and upAroon2 > DnAroon2 이면 매수/매수청산 B.주챠트에서 V10 == -1 and data1(c)<선행1[25] and var13==-1 and macdv1<macds1 and upAroon1 < DnAroon1 이고 보조챠트에서 V20 == -1 and data2(c)<선행2[25] and var14==-1 and macdv2<macds2 and upAroon2 < DnAroon2 이면 매도/매도청산 ### data1(c>o) and V10 == 1 and data1(c)>선행1[25] and var13==1 and macdv1>macds1 and upAroon1 > DnAroon1 And data2(c>o) and V20 == 1 and data2(c)>선행2[25] and var14==1 and macdv2>macds2 and upAroon2 > DnAroon2 Then buy("buy_1"); if Scond == false and data1(c<o) and V10 == -1 and data1(c)<선행1[25] and var13==-1 and macdv1<macds1 and upAroon1 < DnAroon1 and data2(c<o) and V20 == -1 and data2(c)<선행2[25] and var14==-1 and macdv2<macds2 and upAroon2 < DnAroon2 Then sell("sell_1"); ### 감사합니다
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2014-09-16 16:03:34

안녕하세요 예스스탁입니다. input : Period(30),ma1(5),ma2(20),shortperiod(12),Longperiod (26),signalperiod(9),baseLine(0); var : AA(0,data1),BB(0,data1),AAA(0,data2),BBB(0,data2),V10(0,data1),V20(0,data2); AA=data1(PVI); BB=data1(ema(AA,period)); AAA=data2(PVI); BBB=data2(ema(AAA,period)); if data1(AA>BB and Ema(C,MA1) > Ema(C,MA2) and MACD(shortperiod,Longperiod) >= baseLine) Then V10 = 1; if data2(AAA>BBB and Ema(C,MA1) > Ema(C,MA2) and MACD(shortperiod,Longperiod) >= baseLine) Then V20 = 1; if data1(AA<BB and Ema(C,MA1) < Ema(C,MA2) and MACD(shortperiod,Longperiod) <= baseLine) Then V10 = -1; if data2(AAA<BBB and Ema(C,MA1) < Ema(C,MA2) and MACD(shortperiod,Longperiod) <= baseLine) Then V20 = -1; ######################### ### MACD_OSC 기준매매 ### ######################### input: MACDP1(12),MACDP2(26),MACDP3(9); var : MACDV1(0,data1),MACDS1(0,data1),MACDV2(0,data2),MACDS2(0,data2); var : MACDO1(0,data1),MACDO2(0,data2); MACDV1 = data1(MACD(MACDP1,MACDP2)); #MACD_OSC(12,26)_red# MACDS1 = data1(ema(MACDV1,MACDP3)); #MACD_OSC(9)_시그널_blue# MACDO1 = MACDV1-MACDS1; MACDV2 = data2(MACD(MACDP1,MACDP2)); #MACD_OSC(12,26)_red# MACDS2 = data2(ema(MACDV2,MACDP3)); #MACD_OSC(9)_시그널_blue# MACDO2 = MACDV2-MACDS2; ########################## ### 선행스팬2(52) 기준 ### ########################## var : 선행1(0,data1),선행2(0,data2); 선행1 = data1((Highest(High, 52) + Lowest(Low, 52)) / 2); #선행스팬2_52# 선행2 = data1((Highest(High, 52) + Lowest(Low, 52)) / 2); #선행스팬2_52# ###################### ##### ADX 시스템 ##### ###################### input : Period3(10); var : ADX1(0,data1),DP1(0,data1),DM1(0,data1); var : ADX2(0,data2),DP2(0,data2),DM2(0,data2); ADX1 = data1(ADX(Period3)); DP1 = data1(DiPlus(Period3)); DM1 = data1(DiMinus(Period3)); if DP1 > DM1 Then var13= 1 ; if DP1 < DM1 Then var13= -1 ; ADX2 = data2(ADX(Period3)); DP2 = data2(DiPlus(Period3)); DM2 = data2(DiMinus(Period3)); if DP2 > DM2 Then var14 = 1 ; if DP2 < DM2 Then var14 = -1 ; ###### aroon ###### input : Period4(9); var : Counter1(0,data1), Lowval1(0,data1), Highval1(0,data1); var : DownVel1(0,data1),UpVel1(0,data1), DnAroon1(0,data1),UpAroon1(0,data1) ; var : Counter2(0,data1), Lowval2(0,data1), Highval2(0,data1),d2h(0,data2),d2l(0,data2); var : DownVel2(0,data1),UpVel2(0,data1), DnAroon2(0,data1),UpAroon2(0,data1) ; d2h = data2(H); D2L = data2(L); Lowval1 = data1(Lowest(Low, Period4+1)); Highval1 = data1(Highest(High, Period4+1)); For counter1 = 0 To Period4 { If Low[counter1] == Lowval1 Then DownVel1 = counter1; If High[counter1] == highval1 Then UpVel1 = counter1; } DnAroon1 = 100*(Period4-DownVel1)/Period4; UpAroon1 = 100*(Period4-UpVel1)/Period4; Lowval2 = data2(Lowest(Low, Period4+1)); Highval2 = data2(Highest(High, Period4+1)); For counter2 = 0 To Period4 { If d2l[counter2] == Lowval2 Then DownVel2 = counter2; If d2h[counter2] == highval2 Then UpVel2 = counter2; } DnAroon2 = 100*(Period4-DownVel2)/Period4; UpAroon2 = 100*(Period4-UpVel2)/Period4; if V10 == 1 and data1(c)>선행1[25] and var13==1 and macdv1>macds1 and upAroon1 > DnAroon1 and V20 == 1 and data2(c)>선행2[25] and var14==1 and macdv2>macds2 and upAroon2 > DnAroon2 Then buy(); if V10 == -1 and data1(c)<선행1[25] and var13==-1 and macdv1<macds1 and upAroon1 < DnAroon1 And V20 == -1 and data2(c)<선행2[25] and var14==-1 and macdv2<macds2 and upAroon2 < DnAroon2 Then sell(); 즐거운 하루되세요 > 조민철 님이 쓴 글입니다. > 제목 : 타주기 시스템식 수정 > 항상 감사드립니다 아래 타주기 시스템이 잘만들어지질 되질 않아 다시올립니다 수정부탁드립니다 input : Period(30),ma1(5),ma2(20),shortperiod(12),Longperiod (26),signalperiod(9),baseLine(0); var : AA(0,data1),BB(0,data1),AAA(0,data2),BBB(0,data2); AA=data1(PVI); BB=data1(ema(AA,period)); AAA=data2(PVI); BBB=data2(ema(AAA,period)); ***아래 조건식을 다음과 같이 바꾸고 싶습니다 1-1,주챠트에서 AA>BB and Ema(C,MA1) > Ema(C,MA2) and MACD(shortperiod,Longperiod) >= baseLine 이면 v10=1 1-2,보조챠트에서 AAA>BBB and Ema(C,MA1) > Ema(C,MA2) and MACD(shortperiod,Longperiod) >= baseLine 이면 v20=1 1-3,주챠트에서 AA<BB and Ema(C,MA1) < Ema(C,MA2) and MACD(shortperiod,Longperiod) <= baseLine이면 v10=-1 1-4,보조챠트에서 AAA<BBB and Ema(C,MA1) < Ema(C,MA2) and MACD(shortperiod,Longperiod) <= baseLine 이면 v20=-1 if data1(AA>BB and Ema(C,MA1) > Ema(C,MA2) and MACD(shortperiod,Longperiod) >= baseLine) And data2(AAA>BBB and Ema(C,MA1) > Ema(C,MA2) and MACD(shortperiod,Longperiod) >= baseLine) Then buy("B1"); if data1(AA<BB and Ema(C,MA1) < Ema(C,MA2) and MACD(shortperiod,Longperiod) <= baseLine) And data2(AAA<BBB and Ema(C,MA1) < Ema(C,MA2) and MACD(shortperiod,Longperiod) <= baseLine) Then sell("S1"); ######################### ### MACD_OSC 기준매매 ### ######################### input: MACDP1(12),MACDP2(26),MACDP3(9); var : MACDV1(0,data1),MACDS1(0,data1),MACDV2(0,data2),MACDS2(0,data2); var : MACDO1(0,data1),MACDO2(0,data2); MACDV1 = data1(MACD(MACDP1,MACDP2)); #MACD_OSC(12,26)_red# MACDS1 = data1(ema(MACDV1,MACDP3)); #MACD_OSC(9)_시그널_blue# MACDO1 = MACDV1-MACDS1; MACDV2 = data2(MACD(MACDP1,MACDP2)); #MACD_OSC(12,26)_red# MACDS2 = data2(ema(MACDV2,MACDP3)); #MACD_OSC(9)_시그널_blue# MACDO2 = MACDV2-MACDS2; ########################## ### 선행스팬2(52) 기준 ### ########################## var : 선행1(0,data1),선행2(0,data2); 선행1 = data1((Highest(High, 52) + Lowest(Low, 52)) / 2); #선행스팬2_52# 선행2 = data1((Highest(High, 52) + Lowest(Low, 52)) / 2); #선행스팬2_52# ###################### ##### ADX 시스템 ##### ###################### input : Period3(10); var : ADX1(0,data1),DP1(0,data1),DM1(0,data1); var : ADX2(0,data2),DP2(0,data2),DM2(0,data2); ADX1 = data1(ADX(Period3)); DP1 = data1(DiPlus(Period3)); DM1 = data1(DiMinus(Period3)); if DP1 > DM1 Then var13= 1 ; if DP1 < DM1 Then var13= -1 ; ADX2 = data2(ADX(Period3)); DP2 = data2(DiPlus(Period3)); DM2 = data2(DiMinus(Period3)); if DP2 > DM2 Then var14 = 1 ; if DP2 < DM2 Then var14 = -1 ; ###### aroon ###### input : Period4(9); var : Counter1(0,data1), Lowval1(0,data1), Highval1(0,data1); var : DownVel1(0,data1),UpVel1(0,data1), DnAroon1(0,data1),UpAroon1(0,data1) ; var : Counter2(0,data1), Lowval2(0,data1), Highval2(0,data1),d2h(0,data2),d2l(0,data2); var : DownVel2(0,data1),UpVel2(0,data1), DnAroon2(0,data1),UpAroon2(0,data1) ; d2h = data2(H); D2L = data2(L); Lowval1 = data1(Lowest(Low, Period4+1)); Highval1 = data1(Highest(High, Period4+1)); For counter1 = 0 To Period4 { If Low[counter1] == Lowval1 Then DownVel1 = counter1; If High[counter1] == highval1 Then UpVel1 = counter1; } DnAroon1 = 100*(Period4-DownVel1)/Period4; UpAroon1 = 100*(Period4-UpVel1)/Period4; Lowval2 = data2(Lowest(Low, Period4+1)); Highval2 = data2(Highest(High, Period4+1)); For counter2 = 0 To Period4 { If d2l[counter2] == Lowval2 Then DownVel2 = counter2; If d2h[counter2] == highval2 Then UpVel2 = counter2; } DnAroon2 = 100*(Period4-DownVel2)/Period4; UpAroon2 = 100*(Period4-UpVel2)/Period4; ########################### ##### 매수/매도 조건식 #### ########################### A. 주챠트에서 V10 == 1 and data1(c)>선행1[25] and var13==1 and macdv1>macds1 and upAroon1 > DnAroon1 이고 보조챠트에서V20 == 1 and data2(c)>선행2[25] and var14==1 and macdv2>macds2 and upAroon2 > DnAroon2 이면 매수/매수청산 B.주챠트에서 V10 == -1 and data1(c)<선행1[25] and var13==-1 and macdv1<macds1 and upAroon1 < DnAroon1 이고 보조챠트에서 V20 == -1 and data2(c)<선행2[25] and var14==-1 and macdv2<macds2 and upAroon2 < DnAroon2 이면 매도/매도청산 ### data1(c>o) and V10 == 1 and data1(c)>선행1[25] and var13==1 and macdv1>macds1 and upAroon1 > DnAroon1 And data2(c>o) and V20 == 1 and data2(c)>선행2[25] and var14==1 and macdv2>macds2 and upAroon2 > DnAroon2 Then buy("buy_1"); if Scond == false and data1(c<o) and V10 == -1 and data1(c)<선행1[25] and var13==-1 and macdv1<macds1 and upAroon1 < DnAroon1 and data2(c<o) and V20 == -1 and data2(c)<선행2[25] and var14==-1 and macdv2<macds2 and upAroon2 < DnAroon2 Then sell("sell_1"); ### 감사합니다