커뮤니티

29060번 부탁 좀 드립니다

프로필 이미지
아라미스33
2013-03-11 16:51:50
214
글번호 60564
답변완료
^^
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-03-11 19:53:34

안녕하세요 예스스탁입니다. 식을 수정했습니다. 반복청산1에 이름이 잘못지정되어 있었습니다. 아래 적용해 보시고 의도와 다른 부분 있으시면 다시 올려주시기 바랍니다. input : rsiPeriod(8), RSVValue(31),N(5),X(3); input : maPeriod1(9),maPeriod2(13),maPeriod3(18), maPeriod4(66); input : Vol(0); input : 간격(0.75); input : LossPoint(1); input : ProfitPoint(2.8); 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 && Condition11 == false && MarketPosition == 0 && V > Vol && MAv1 < MAv2 && MAv2 < MAv3 && MAv3 < MAv4 && RSV < RSVValue && MAv4 - MAv2 <= 간격 && C < MAv4 && MACDO < 0 Then { Sell("최초매도", OnClose, DEF); Condition1 = true; } if Condition1 == true && MarketPosition == 0 && IsExitName("반복청산",1) == true && IsEntryName("최초매도",1) == true && EntryDate(1) == sdate && C <= mav4-PriceScale*X && (CrossDown(MACDO,0) or C >= ExitPrice(1)+PriceScale*N) Then{ sell("반복매도"); } #반복매도청산조건 if MarketPosition == -1 && CrossUp(MACDO,0) && IsEntryName("최초매도") == true Then ExitShort("반복청산"); //종가가 MAv4보다 크면 매도청산 if Condition1 == True && C > MAv4 Then { ExitShort("MAv4청산"); Condition1 = false; } //손절/목표청산 if MarketPosition == -1 and (IsEntryName("최초매도") or IsEntryName("반복매도")) Then{ ExitShort("손절",AtStop,EntryPrice+Losspoint); ExitShort("목표",AtLimit,EntryPrice-Profitpoint); } if BarsSinceExit(1) == 1 and ( IsExitName("손절",1) == true or IsExitName("목표",1) == True) Then Condition1 = false; input : rsiPeriod1(8), RSVValue1(31),N1(5),X1(3); input : maPeriod11(9),maPeriod21(13),maPeriod31(18), maPeriod41(66); input : Vol1(0); input : 간격1(0.75); input : LossPoint1(1); input : ProfitPoint1(2.8); input : MACDP11(12),MACDP21(26),MACDP31(9); var : MAv11(0), MAv21(0), MAv31(0), MAv41(0); var : RSV1(0); var : Energe11(0),Energe21(0); var : MACDO1(0),cnt1(0); MAv11 = ma(C,maPeriod11); MAv21 = ma(C,maPeriod21); MAv31 = ma(C,maPeriod31); MAv41 = ma(C,maPeriod41); RSV1 = RSI(rsiPeriod1); MACDO1 = MACD_OSC(MACDP11,MACDP21,MACDP31);//MACD 오실레이터 if date != date[1] Then Condition11 = false; #최초 매도조건 if Condition11 == false && Condition1 == false && MarketPosition == 0 && V > Vol1 && MAv11 < MAv21 && MAv21 < MAv31 && MAv31 < MAv41 && RSV1 < RSVValue1 && MAv41 - MAv21 <= 간격1 && C < MAv41 && MACDO1 < 0 Then { Sell("최초매도1", OnClose, DEF); Condition11 = true; } if Condition11 == true && MarketPosition == 0 && IsExitName("반복청산1",1) == true && IsEntryName("최초매도1",1) == true && EntryDate(1) == sdate && C <= mav41-PriceScale*X1 && (CrossDown(MACDO1,0) or C >= ExitPrice(1)+PriceScale*N1) Then{ sell("반복매도1"); } #반복매도청산조건 if MarketPosition == -1 && CrossUp(MACDO1,0) && IsEntryName("최초매도1") == true Then ExitShort("반복청산1"); //종가가 MAv4보다 크면 매도청산 if Condition11 == true && C > MAv41 Then { ExitShort("MAv4청산1"); Condition11 = false; } //손절/목표청산 if MarketPosition == -1 and (IsEntryName("최초매도1") or IsEntryName("반복매도1")) Then{ ExitShort("손절1",AtStop,EntryPrice+Losspoint1); ExitShort("목표1",AtLimit,EntryPrice-Profitpoint1); } if BarsSinceExit(1) == 1 and ( IsExitName("손절1",1) == true or IsExitName("목표1",1) == True) Then Condition11 = false; 즐거운 하루되세요 > 아라미스33 님이 쓴 글입니다. > 제목 : 29060번 부탁 좀 드립니다 > ^^