커뮤니티

좀 이상한게 있어서요

프로필 이미지
아라미스33
2013-03-07 17:16:10
204
글번호 60407
답변완료

첨부 이미지

좀 이상합니다 같은 식으로 만든 시뮬레이션입니다 왼쪽에는 정확히 수식대로 신호가 나온거 같은데 오른쪽에는 macd오실레이터가 분명히 음봉으로 바뀌었지만 반복청산이 나오질 않았습니다 확인한번 부탁 드립니다 input : rsiPeriod(2), RSVValue(67),N(5),X(3); input : maPeriod1(8),maPeriod2(16),maPeriod3(23), maPeriod4(47); input : Vol(1110); input : 간격(0.3); input : LossPoint(0.65); input : ProfitPoint(3.7); input : MACDP1(12),MACDP2(26),MACDP3(9); var : MAv1(0), MAv2(0), MAv3(0), MAv4(0); var : RSV(0); var : Energe1(0),Energe2(0); var : MACDO(0),cnt(0); MAv1 = ma(C,maPeriod1); MAv2 = ma(C,maPeriod2); MAv3 = ma(C,maPeriod3); MAv4 = ma(C,maPeriod4); RSV = RSI(rsiPeriod); MACDO = MACD_OSC(MACDP1,MACDP2,MACDP3);//MACD 오실레이터 #최초 매수조건 if Condition1 == false && MarketPosition == 0 && V > Vol && MAv1 > MAv2 && MAv2 > MAv3 && MAv3 > MAv4 && RSV > RSVValue && MAv2 - MAv4 <= 간격 && C > MAv4 && MACDO > 0 Then { Buy("최초매수", OnClose, DEF); Condition1 = true; cnt = 0; } # 반복매수조건 if Condition1 == true and cnt == 0 and MarketPosition == 0 and IsExitName("반복청산",1) == true and C >= mav4+PriceScale*X and (CrossUp(MACDO,0) or C <= ExitPrice(1)-PriceScale*N) Then{ buy("반복매수"); cnt = 1; } #반복매수청산조건 if MarketPosition == 1 and CrossDown(MACDO,0) and cnt == 0 Then exitlong("반복청산"); //종가가 MAv4보다 작으면 매수청산 if Condition1 == true and C < MAv4 Then { Exitlong("MAv4청산"); Condition1 = false; } //손절/목표청산 if MarketPosition == 1 Then{ ExitShort("손절",AtStop,EntryPrice+Losspoint); ExitShort("목표",AtLimit,EntryPrice-Profitpoint); } if BarsSinceExit(1) == 1 and ( IsExitName("손절",1) == true or IsExitName("목표",1) == True) Then Condition1 = false;
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-03-07 18:20:33

안녕하세요 예스스탁입니다. input : rsiPeriod(2), RSVValue(67),N(5),X(3); input : maPeriod1(8),maPeriod2(16),maPeriod3(23), maPeriod4(47); input : Vol(1110); input : 간격(0.3); input : LossPoint(0.65); input : ProfitPoint(3.7); input : MACDP1(12),MACDP2(26),MACDP3(9); var : MAv1(0), MAv2(0), MAv3(0), MAv4(0); var : RSV(0); var : Energe1(0),Energe2(0); var : MACDO(0),cnt(0); MAv1 = ma(C,maPeriod1); MAv2 = ma(C,maPeriod2); MAv3 = ma(C,maPeriod3); MAv4 = ma(C,maPeriod4); RSV = RSI(rsiPeriod); MACDO = MACD_OSC(MACDP1,MACDP2,MACDP3);//MACD 오실레이터 if date != date[1] Then Condition1 = false; #최초 매수조건 if Condition1 == false && MarketPosition == 0 && V > Vol && MAv1 > MAv2 && MAv2 > MAv3 && MAv3 > MAv4 && RSV > RSVValue && MAv2 - MAv4 <= 간격 && C > MAv4 && MACDO > 0 Then { Buy("최초매수", OnClose, DEF); Condition1 = true; } # 반복매수조건 if Condition1 == true && MarketPosition == 0 && IsExitName("반복청산",1) == true && IsEntryName("최초매수",1) == true && EntryDate(1) == sdate && C >= mav4+PriceScale*X && (CrossUp(MACDO,0) or C <= ExitPrice(1)-PriceScale*N) Then{ buy("반복매수"); } #반복매수청산조건 if MarketPosition == 1 && CrossDown(MACDO,0) && IsEntryName("최초매수") == true Then exitlong("반복청산"); //종가가 MAv4보다 작으면 매수청산 if C < MAv4 Then { Exitlong("MAv4청산"); Condition1 = false; } //손절/목표청산 if MarketPosition == 1 Then{ ExitShort("손절",AtStop,EntryPrice+Losspoint); ExitShort("목표",AtLimit,EntryPrice-Profitpoint); } if BarsSinceExit(1) == 1 and ( IsExitName("손절",1) == true or IsExitName("목표",1) == True) Then Condition1 = false; 즐거운 하루되세요 > 아라미스33 님이 쓴 글입니다. > 제목 : 좀 이상한게 있어서요 > 좀 이상합니다 같은 식으로 만든 시뮬레이션입니다 왼쪽에는 정확히 수식대로 신호가 나온거 같은데 오른쪽에는 macd오실레이터가 분명히 음봉으로 바뀌었지만 반복청산이 나오질 않았습니다 확인한번 부탁 드립니다 input : rsiPeriod(2), RSVValue(67),N(5),X(3); input : maPeriod1(8),maPeriod2(16),maPeriod3(23), maPeriod4(47); input : Vol(1110); input : 간격(0.3); input : LossPoint(0.65); input : ProfitPoint(3.7); input : MACDP1(12),MACDP2(26),MACDP3(9); var : MAv1(0), MAv2(0), MAv3(0), MAv4(0); var : RSV(0); var : Energe1(0),Energe2(0); var : MACDO(0),cnt(0); MAv1 = ma(C,maPeriod1); MAv2 = ma(C,maPeriod2); MAv3 = ma(C,maPeriod3); MAv4 = ma(C,maPeriod4); RSV = RSI(rsiPeriod); MACDO = MACD_OSC(MACDP1,MACDP2,MACDP3);//MACD 오실레이터 #최초 매수조건 if Condition1 == false && MarketPosition == 0 && V > Vol && MAv1 > MAv2 && MAv2 > MAv3 && MAv3 > MAv4 && RSV > RSVValue && MAv2 - MAv4 <= 간격 && C > MAv4 && MACDO > 0 Then { Buy("최초매수", OnClose, DEF); Condition1 = true; cnt = 0; } # 반복매수조건 if Condition1 == true and cnt == 0 and MarketPosition == 0 and IsExitName("반복청산",1) == true and C >= mav4+PriceScale*X and (CrossUp(MACDO,0) or C <= ExitPrice(1)-PriceScale*N) Then{ buy("반복매수"); cnt = 1; } #반복매수청산조건 if MarketPosition == 1 and CrossDown(MACDO,0) and cnt == 0 Then exitlong("반복청산"); //종가가 MAv4보다 작으면 매수청산 if Condition1 == true and C < MAv4 Then { Exitlong("MAv4청산"); Condition1 = false; } //손절/목표청산 if MarketPosition == 1 Then{ ExitShort("손절",AtStop,EntryPrice+Losspoint); ExitShort("목표",AtLimit,EntryPrice-Profitpoint); } if BarsSinceExit(1) == 1 and ( IsExitName("손절",1) == true or IsExitName("목표",1) == True) Then Condition1 = false;