커뮤니티

문의합니다

프로필 이미지
남산
2017-01-25 09:48:06
117
글번호 106250
답변완료
input : ntime(300),sig(100),Period1(5),Period2(20),익절틱수(8),손절틱수(8); var : mav1(0),mav2(0); var1 = Accum(iff(ma(c-c[1],ntime) > 0,1,-1) * pow((ma(pow(c-c[1],2),ntime)+1),0.5)+ pow((pow(c-c[1],2) +1),0.5) * iff(c>c[1],1,-1)); var2 = ma(var1,sig); mav1 = ma(c, Period1); mav2 = ma(c, Period2); if MarketPosition <= 0 and (crossup(var1,var2) or var1 > var2 and mav1 > mav1[1]) Then buy("b",OnClose,def,1); if MarketPosition == 1 Then{ if var1 > var2 and mav1 > mav1[1] and CurrentContracts < 5 Then buy("bb",OnClose,def,1); if mav2 < mav2[1] then{ ExitLong("bx"); } ExitLong("bp",atlimit,AvgEntryPrice+PriceScale*익절틱수); ExitLong("bl",AtStop,AvgEntryPrice-PriceScale*손절틱수); } if MarketPosition >= 0 and (CrossDown(var1,var2) or var1 < var2 and mav1 < mav1[1]) Then sell("s",OnClose,def,1); if MarketPosition == -1 then{ if var1 < var2 and mav1 < mav1[1] and CurrentContracts < 5 Then sell("ss",OnClose,def,1); if mav2 > mav2[1] Then ExitShort("sx"); ExitShort("sp",atlimit,AvgEntryPrice-PriceScale*익절틱수); ExitShort("sl",AtStop,AvgEntryPrice+PriceScale*손절틱수); } 한가지 수식을 넣어주세요 최초 매수진입 후 익절 또는 손절이 발생하였을 경우 1번만 매매하고 최초 매도진입 후 익절 또는 손절이 발생하였을 경우 1번만 매매할 수 있도록 수식 변경하오자 합니다 예) (crossup(var1,var2) or var1 > var2 and mav1 > mav1[1]) Then에 의거 최초 매수진입 후 익절 또는 손절 발생하면 매매가 중지되고 다음 (CrossDown(var1,var2) or var1 < var2 and mav1 < mav1[1]) Then에 의거 최초 매도진입이 진행될 수 있도록 하는 수식입니다 반대로 (CrossDown(var1,var2) or var1 < var2 and mav1 < mav1[1]) Then에 의거 최초 매도진입 후 익절 또는 손절 발생하면 매매가 중지되고 다음 (crossup(var1,var2) or var1 > var2 and mav1 > mav1[1]) Then에 의거 최초 매수진이 진행 될 수 있도록 하는 수식입니다 두번째 문의사항 익절은 갈색으로 손절은 맑은 녹색으로 표기하여 주세요 감사합니다
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2017-01-25 11:10:11

안녕하세요 예스스탁입니다. 수식에서 신호의 색상을 설정할수 없습니다. input : ntime(300),sig(100),Period1(5),Period2(20),익절틱수(8),손절틱수(8); var : mav1(0),mav2(0),Bxcond(false),Sxcond(false); var1 = Accum(iff(ma(c-c[1],ntime) > 0,1,-1) * pow((ma(pow(c-c[1],2),ntime)+1),0.5)+ pow((pow(c-c[1],2) +1),0.5) * iff(c>c[1],1,-1)); var2 = ma(var1,sig); mav1 = ma(c, Period1); mav2 = ma(c, Period2); Bxcond = ExitDate(1) == sdate and MarketPosition(1) == 1 and (IsExitName("bl",1) == true or IsExitName("bp",1) == true); Sxcond = ExitDate(1) == sdate and MarketPosition(1) == -1 and (IsExitName("sl",1) == true or IsExitName("sp",1) == true); if MarketPosition <= 0 and Bxcond == false and (crossup(var1,var2) or (var1 > var2 and mav1 > mav1[1])) Then buy("b",OnClose,def,1); if MarketPosition == 1 Then{ if var1 > var2 and mav1 > mav1[1] and CurrentContracts < 5 Then buy("bb",OnClose,def,1); if mav2 < mav2[1] then{ ExitLong("bx"); } ExitLong("bp",atlimit,AvgEntryPrice+PriceScale*익절틱수); ExitLong("bl",AtStop,AvgEntryPrice-PriceScale*손절틱수); } if MarketPosition >= 0 and Sxcond == false and (CrossDown(var1,var2) or (var1 < var2 and mav1 < mav1[1])) Then sell("s",OnClose,def,1); if MarketPosition == -1 then{ if var1 < var2 and mav1 < mav1[1] and CurrentContracts < 5 Then sell("ss",OnClose,def,1); if mav2 > mav2[1] Then ExitShort("sx"); ExitShort("sp",atlimit,AvgEntryPrice-PriceScale*익절틱수); ExitShort("sl",AtStop,AvgEntryPrice+PriceScale*손절틱수); } 즐거운 하루되세요 > 남산 님이 쓴 글입니다. > 제목 : 문의합니다 > input : ntime(300),sig(100),Period1(5),Period2(20),익절틱수(8),손절틱수(8); var : mav1(0),mav2(0); var1 = Accum(iff(ma(c-c[1],ntime) > 0,1,-1) * pow((ma(pow(c-c[1],2),ntime)+1),0.5)+ pow((pow(c-c[1],2) +1),0.5) * iff(c>c[1],1,-1)); var2 = ma(var1,sig); mav1 = ma(c, Period1); mav2 = ma(c, Period2); if MarketPosition <= 0 and (crossup(var1,var2) or var1 > var2 and mav1 > mav1[1]) Then buy("b",OnClose,def,1); if MarketPosition == 1 Then{ if var1 > var2 and mav1 > mav1[1] and CurrentContracts < 5 Then buy("bb",OnClose,def,1); if mav2 < mav2[1] then{ ExitLong("bx"); } ExitLong("bp",atlimit,AvgEntryPrice+PriceScale*익절틱수); ExitLong("bl",AtStop,AvgEntryPrice-PriceScale*손절틱수); } if MarketPosition >= 0 and (CrossDown(var1,var2) or var1 < var2 and mav1 < mav1[1]) Then sell("s",OnClose,def,1); if MarketPosition == -1 then{ if var1 < var2 and mav1 < mav1[1] and CurrentContracts < 5 Then sell("ss",OnClose,def,1); if mav2 > mav2[1] Then ExitShort("sx"); ExitShort("sp",atlimit,AvgEntryPrice-PriceScale*익절틱수); ExitShort("sl",AtStop,AvgEntryPrice+PriceScale*손절틱수); } 한가지 수식을 넣어주세요 최초 매수진입 후 익절 또는 손절이 발생하였을 경우 1번만 매매하고 최초 매도진입 후 익절 또는 손절이 발생하였을 경우 1번만 매매할 수 있도록 수식 변경하오자 합니다 예) (crossup(var1,var2) or var1 > var2 and mav1 > mav1[1]) Then에 의거 최초 매수진입 후 익절 또는 손절 발생하면 매매가 중지되고 다음 (CrossDown(var1,var2) or var1 < var2 and mav1 < mav1[1]) Then에 의거 최초 매도진입이 진행될 수 있도록 하는 수식입니다 반대로 (CrossDown(var1,var2) or var1 < var2 and mav1 < mav1[1]) Then에 의거 최초 매도진입 후 익절 또는 손절 발생하면 매매가 중지되고 다음 (crossup(var1,var2) or var1 > var2 and mav1 > mav1[1]) Then에 의거 최초 매수진이 진행 될 수 있도록 하는 수식입니다 두번째 문의사항 익절은 갈색으로 손절은 맑은 녹색으로 표기하여 주세요 감사합니다