커뮤니티

수정 부탁 합니다

프로필 이미지
epn
2016-08-06 16:43:40
136
글번호 100791
답변완료
항상 감사 합니다. 만들어주신 수식에 수익이던 손실이던 하루 1회만 매매했으면 합니다. 수정 부탁 드리겠습다. 수고하세요...^^ --------------------- input : AA(100),BB(100),수량2(1),수량3(1); var : dncnt2(0,data2),d2(0,data2),dncnt3(0,data3),D3(0,data3); var : V2(0,data2),V3(0,data2); # data2 날짜변경되면 초기화 if data2(date != date[1]) Then dncnt2 = 0; #data2의 종가가 AA값을 하향이탈하면 if data2(CrossDown(C,AA)) Then{ #카운트 dncnt2 = dncnt2+1; #3번째부터 5번째까지 매도진입 if dncnt2 >= 3 and dncnt2 <= 5 and stime < 143000 Then{ sell("s1",OnClose,def,수량2); D2 = data2(c); } } # dat32 날짜변경되면 초기화 if data3(date != date[1]) Then dncnt3 = 0; #data3의 종가가 BB값을 하향이탈하면 if data3(CrossDown(C,BB)) Then{ #카운트 dncnt3 = dncnt3+1; #4번째부터 5번째까지 매도진입 if dncnt3 >= 4 and dncnt3 <= 5 and stime < 143000 Then{ sell("s2",OnClose,def,수량3); D3 = data3(c); } } if MarketPosition == -1 Then{ #평단가 대비 9틱 수익손실시 최대진입수량의 1/3 청산 if countif(LatestExitName(0) == "sp1",BarsSinceEntry) < 1 Then ExitShort("sp1",atlimit,AvgEntryPrice-PriceScale*9,"",max(1,floor(MaxContracts*(1/3))),1); #평단가 대비 17틱 수익손실시 최대진입수량의 1/3 청산 if countif(LatestExitName(0) == "sp2",BarsSinceEntry) < 1 Then ExitShort("sp2",atlimit,AvgEntryPrice-PriceScale*17,"",max(1,floor(MaxContracts*(1/3))),1); #평단가 대비 20틱 수익손실시 최대진입수량의 1/3 청산 if countif(LatestExitName(0) == "sp3",BarsSinceEntry) < 1 Then ExitShort("sp3",atlimit,AvgEntryPrice-PriceScale*20); #data2의 종가가 최근 진입당시 data2의 종가보다 10틱 반대로 가면 s1진입 모두 청산 if data2(c) >= AA+data2(PriceScale*5) Then ExitShort("sx1",OnClose,def,"s1"); #data3의 종가가 최근 진입당시 data3의 종가보다 10틱 반대로 가면 s2진입 모두 청산 if data3(c) >= BB+data3(PriceScale*5) Then ExitShort("sx2",OnClose,def,"s2"); } SetStopEndofday(151000);
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2016-08-08 11:28:00

안녕하세요 예스스탁입니다. input : AA(100),BB(100),수량2(1),수량3(1); var : dncnt2(0,data2),d2(0,data2),dncnt3(0,data3),D3(0,data3); var : V2(0,data2),V3(0,data2); var : cnt(0,data1),count(0,data1); count = 0; for cnt = 0 to 20{ if sdate == EntryDate(cnt) Then count = count+1; } # data2 날짜변경되면 초기화 if data2(date != date[1]) Then dncnt2 = 0; #data2의 종가가 AA값을 하향이탈하면 if data2(CrossDown(C,AA)) Then{ #카운트 dncnt2 = dncnt2+1; #3번째부터 5번째까지 매도진입 if dncnt2 >= 3 and dncnt2 <= 5 and stime < 143000 and count < 1 Then{ sell("s1",OnClose,def,수량2); D2 = data2(c); } } # dat32 날짜변경되면 초기화 if data3(date != date[1]) Then dncnt3 = 0; #data3의 종가가 BB값을 하향이탈하면 if data3(CrossDown(C,BB)) Then{ #카운트 dncnt3 = dncnt3+1; #4번째부터 5번째까지 매도진입 if dncnt3 >= 4 and dncnt3 <= 5 and stime < 143000 and count < 1 Then{ sell("s2",OnClose,def,수량3); D3 = data3(c); } } if MarketPosition == -1 Then{ #평단가 대비 9틱 수익손실시 최대진입수량의 1/3 청산 if countif(LatestExitName(0) == "sp1",BarsSinceEntry) < 1 Then ExitShort("sp1",atlimit,AvgEntryPrice-PriceScale*9,"",max(1,floor(MaxContracts*(1/3))),1); #평단가 대비 17틱 수익손실시 최대진입수량의 1/3 청산 if countif(LatestExitName(0) == "sp2",BarsSinceEntry) < 1 Then ExitShort("sp2",atlimit,AvgEntryPrice-PriceScale*17,"",max(1,floor(MaxContracts*(1/3))),1); #평단가 대비 20틱 수익손실시 최대진입수량의 1/3 청산 if countif(LatestExitName(0) == "sp3",BarsSinceEntry) < 1 Then ExitShort("sp3",atlimit,AvgEntryPrice-PriceScale*20); #data2의 종가가 최근 진입당시 data2의 종가보다 10틱 반대로 가면 s1진입 모두 청산 if data2(c) >= AA+data2(PriceScale*5) Then ExitShort("sx1",OnClose,def,"s1"); #data3의 종가가 최근 진입당시 data3의 종가보다 10틱 반대로 가면 s2진입 모두 청산 if data3(c) >= BB+data3(PriceScale*5) Then ExitShort("sx2",OnClose,def,"s2"); } SetStopEndofday(151000); 즐거운 하루되세요 > epn 님이 쓴 글입니다. > 제목 : 수정 부탁 합니다 > 항상 감사 합니다. 만들어주신 수식에 수익이던 손실이던 하루 1회만 매매했으면 합니다. 수정 부탁 드리겠습다. 수고하세요...^^ --------------------- input : AA(100),BB(100),수량2(1),수량3(1); var : dncnt2(0,data2),d2(0,data2),dncnt3(0,data3),D3(0,data3); var : V2(0,data2),V3(0,data2); # data2 날짜변경되면 초기화 if data2(date != date[1]) Then dncnt2 = 0; #data2의 종가가 AA값을 하향이탈하면 if data2(CrossDown(C,AA)) Then{ #카운트 dncnt2 = dncnt2+1; #3번째부터 5번째까지 매도진입 if dncnt2 >= 3 and dncnt2 <= 5 and stime < 143000 Then{ sell("s1",OnClose,def,수량2); D2 = data2(c); } } # dat32 날짜변경되면 초기화 if data3(date != date[1]) Then dncnt3 = 0; #data3의 종가가 BB값을 하향이탈하면 if data3(CrossDown(C,BB)) Then{ #카운트 dncnt3 = dncnt3+1; #4번째부터 5번째까지 매도진입 if dncnt3 >= 4 and dncnt3 <= 5 and stime < 143000 Then{ sell("s2",OnClose,def,수량3); D3 = data3(c); } } if MarketPosition == -1 Then{ #평단가 대비 9틱 수익손실시 최대진입수량의 1/3 청산 if countif(LatestExitName(0) == "sp1",BarsSinceEntry) < 1 Then ExitShort("sp1",atlimit,AvgEntryPrice-PriceScale*9,"",max(1,floor(MaxContracts*(1/3))),1); #평단가 대비 17틱 수익손실시 최대진입수량의 1/3 청산 if countif(LatestExitName(0) == "sp2",BarsSinceEntry) < 1 Then ExitShort("sp2",atlimit,AvgEntryPrice-PriceScale*17,"",max(1,floor(MaxContracts*(1/3))),1); #평단가 대비 20틱 수익손실시 최대진입수량의 1/3 청산 if countif(LatestExitName(0) == "sp3",BarsSinceEntry) < 1 Then ExitShort("sp3",atlimit,AvgEntryPrice-PriceScale*20); #data2의 종가가 최근 진입당시 data2의 종가보다 10틱 반대로 가면 s1진입 모두 청산 if data2(c) >= AA+data2(PriceScale*5) Then ExitShort("sx1",OnClose,def,"s1"); #data3의 종가가 최근 진입당시 data3의 종가보다 10틱 반대로 가면 s2진입 모두 청산 if data3(c) >= BB+data3(PriceScale*5) Then ExitShort("sx2",OnClose,def,"s2"); } SetStopEndofday(151000);