커뮤니티

수정해주세요---------

프로필 이미지
leekss1
2012-05-12 11:54:11
345
글번호 50958
답변완료
input:매매구분(0),진입가(261.35),진입점(091000),손절(1); if 매매구분 == 1 Then{ #시가가 진입가보다 아래에서 생성되면 시장가 매수 if NextBarOpen < 진입가 Then buy("b1",AtMarket); #시가가 진입가보다 위에서 생성되면 진입가까지 시세하락하면 매수 if NextBarOpen > 진입가 Then buy("b2",Atlimit,진입가); } if 매매구분 == -1 Then{ #시가가 진입가보다 위에서 생성되면 시장가 매도 if NextBarOpen >= 진입가 Then sell("s1",AtMarket); #시가가 진입가보다 아래에서 생성되면 진입가까지 시세상승하면 매도 if NextBarOpen < 진입가 Then sell("s2",Atlimit,진입가); } if ExitDate(1) == sdate and MarketPosition == 0 Then{ if IsExitName("bx",1) == true Then buy("rebuy",AtStop,lowest(L,BarsSinceExit(1))+0.2); if IsExitName("sx",1) == true Then sell("resell",AtStop,Highest(H,BarsSinceExit(1))-0.2); } if MarketPosition == 1 Then{ var1 = highest(H,BarsSinceEntry); if var1 >= EntryPrice+0.2 Then exitlong("bx",AtStop,EntryPrice); if var1 >= EntryPrice+1 Then exitlong("btr",AtStop,var1-(var1-EntryPrice)*0.3); } if MarketPosition == -1 Then{ var2 = lowest(L,BarsSinceEntry); if var2 <= EntryPrice-0.2 Then ExitShort("sx",AtStop,EntryPrice); if var2 <= EntryPrice-1 Then ExitShort("str",AtStop,var2+(EntryPrice-var2)*0.3); } SetStopLoss(손절,PointStop); //시간청산------------------------------------------------------------ var91 = int(date/100)-int(date/10000)*100; //월 var92 = date - int(date/100)*100; //일 var93 = DayOfWeek(date); //요일 if var91%1 == 0 and var92 >= 8 and var92 <= 14 and var93 == 4 then { SetStopEndofday(144800); } else { SetStopEndofday(150100); } 진입점 이후에만 진입하게해주시고요 b1 이나 b2 하루한번진입(b1 진입했으면 그날은 다시 b1,b2 진입없음 b2도 마찬가지) s1 이나 s2 도 하루한번진입(s1 진입했으면 그날은 다시 s1,s2 진입없음 s2도 마찬가지) 부탁드립니다
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2012-05-14 10:19:02

안녕하세요 예스스탁입니다. input:매매구분(0),진입가(261.35),진입점(091000),손절(1); var : Cnt(0),Bcount(0),Scount(0); Bcount = 0; Scount = 0; for cnt = 0 to 10{ if sdate == EntryDate(cnt) and MarketPosition(cnt) == 1 Then Bcount = Bcount+1; if sdate == EntryDate(cnt) and MarketPosition(cnt) == -1 Then Scount = Scount+1; } if 매매구분 == 1 and Bcount < 1 Then{ #시가가 진입가보다 아래에서 생성되면 시장가 매수 if NextBarOpen < 진입가 Then buy("b1",AtMarket); #시가가 진입가보다 위에서 생성되면 진입가까지 시세하락하면 매수 if NextBarOpen > 진입가 Then buy("b2",Atlimit,진입가); } if 매매구분 == -1 and Scount < 1 Then{ #시가가 진입가보다 위에서 생성되면 시장가 매도 if NextBarOpen >= 진입가 Then sell("s1",AtMarket); #시가가 진입가보다 아래에서 생성되면 진입가까지 시세상승하면 매도 if NextBarOpen < 진입가 Then sell("s2",Atlimit,진입가); } if ExitDate(1) == sdate and MarketPosition == 0 Then{ if IsExitName("bx",1) == true Then buy("rebuy",AtStop,lowest(L,BarsSinceExit(1))+0.2); if IsExitName("sx",1) == true Then sell("resell",AtStop,Highest(H,BarsSinceExit(1))-0.2); } if MarketPosition == 1 Then{ var1 = highest(H,BarsSinceEntry); if var1 >= EntryPrice+0.2 Then exitlong("bx",AtStop,EntryPrice); if var1 >= EntryPrice+1 Then exitlong("btr",AtStop,var1-(var1-EntryPrice)*0.3); } if MarketPosition == -1 Then{ var2 = lowest(L,BarsSinceEntry); if var2 <= EntryPrice-0.2 Then ExitShort("sx",AtStop,EntryPrice); if var2 <= EntryPrice-1 Then ExitShort("str",AtStop,var2+(EntryPrice-var2)*0.3); } SetStopLoss(손절,PointStop); //시간청산------------------------------------------------------------ var91 = int(date/100)-int(date/10000)*100; //월 var92 = date - int(date/100)*100; //일 var93 = DayOfWeek(date); //요일 if var91%1 == 0 and var92 >= 8 and var92 <= 14 and var93 == 4 then { SetStopEndofday(144800); } else { SetStopEndofday(150100); } 즐거운 하루되세요 > leekss1 님이 쓴 글입니다. > 제목 : 수정해주세요--------- > input:매매구분(0),진입가(261.35),진입점(091000),손절(1); if 매매구분 == 1 Then{ #시가가 진입가보다 아래에서 생성되면 시장가 매수 if NextBarOpen < 진입가 Then buy("b1",AtMarket); #시가가 진입가보다 위에서 생성되면 진입가까지 시세하락하면 매수 if NextBarOpen > 진입가 Then buy("b2",Atlimit,진입가); } if 매매구분 == -1 Then{ #시가가 진입가보다 위에서 생성되면 시장가 매도 if NextBarOpen >= 진입가 Then sell("s1",AtMarket); #시가가 진입가보다 아래에서 생성되면 진입가까지 시세상승하면 매도 if NextBarOpen < 진입가 Then sell("s2",Atlimit,진입가); } if ExitDate(1) == sdate and MarketPosition == 0 Then{ if IsExitName("bx",1) == true Then buy("rebuy",AtStop,lowest(L,BarsSinceExit(1))+0.2); if IsExitName("sx",1) == true Then sell("resell",AtStop,Highest(H,BarsSinceExit(1))-0.2); } if MarketPosition == 1 Then{ var1 = highest(H,BarsSinceEntry); if var1 >= EntryPrice+0.2 Then exitlong("bx",AtStop,EntryPrice); if var1 >= EntryPrice+1 Then exitlong("btr",AtStop,var1-(var1-EntryPrice)*0.3); } if MarketPosition == -1 Then{ var2 = lowest(L,BarsSinceEntry); if var2 <= EntryPrice-0.2 Then ExitShort("sx",AtStop,EntryPrice); if var2 <= EntryPrice-1 Then ExitShort("str",AtStop,var2+(EntryPrice-var2)*0.3); } SetStopLoss(손절,PointStop); //시간청산------------------------------------------------------------ var91 = int(date/100)-int(date/10000)*100; //월 var92 = date - int(date/100)*100; //일 var93 = DayOfWeek(date); //요일 if var91%1 == 0 and var92 >= 8 and var92 <= 14 and var93 == 4 then { SetStopEndofday(144800); } else { SetStopEndofday(150100); } 진입점 이후에만 진입하게해주시고요 b1 이나 b2 하루한번진입(b1 진입했으면 그날은 다시 b1,b2 진입없음 b2도 마찬가지) s1 이나 s2 도 하루한번진입(s1 진입했으면 그날은 다시 s1,s2 진입없음 s2도 마찬가지) 부탁드립니다