커뮤니티

문의드립니다.

프로필 이미지
강태공3
2010-12-13 00:04:29
2158
글번호 34237
답변완료
안녕하세요. 좀 복잡한데 수식 좀 부탁드립니다. <매수조건> 1. 금일 5번째봉 종가로 선물과 데이타2가 각각 시초가보다 크고 선물은 금일의 (종가로 최고가+종가로 최저가)/2 보다 크고 금일시초가+1.5 보다 크면 매수 금일 여섯째봉에서 선물이 음봉이고 데이타 3, 5 ,6 이 양봉이 2개이상이고 음봉이 없으면 매수 금일 여섯째봉에서 선물이 음봉이고 데이타5, 6이 양봉이고 데이타3 이나 4가 양봉이면 매수 금일 여섯째봉에서 선물이 음봉이고 데이타5, 6이 양봉이고 데이타2 나 3 이 양봉이면 매수 2. 현재 무포이고 12시 30분부터 13시 30분까지 종가로 선물이 최고가이고 데이타 3도 종가로 최고가이면 매수 (단 금일 매수1번조건과 매도1번 조건으로 진입이 한번도 없었거나 금일 진입후 총수익이 0.7p(변수) 이하일때만 진입) 이때 2번 매수진입 조건으로 매수진입은 하루에 한번만 하고 목표가는 2.2p이상일때 스탑으로 하고 손절은 진입후 연속 음봉이 3개이상 나오면서 손실이거나 20이평 상향돌파시 손실이면 청산하고 금일 매매종료. <매수진입후 청산조건> 1. 선물과 데이타2가 각각 시초가보다 작고 데이타3 이 40이평이나 150이평보다 작거나 시초가보다 작으면 청산 2. 진입후 3시간 이후는 종가로 진입가보다 작고 데이타7,8, 9 중에서 데이타7이 가장 크고 데이타3 이 시초가보다 작거나 데이타3 이 40이평이나 150 이평보다 작으면 청산 --------------------------------------------------------------------------------- <매도조건> 1. 금일 5번째봉 종가로 선물과 데이타2가 각각 시초가보다 작고 선물은 금일의 (종가로 최고가+종가로 최저가)/2 보다 작고 금일시초가-1.5 보다 작으면 매도 금일 여섯째봉에서 선물이 양봉이고 데이타 3,5,6 이 음봉이 2개이상이고 양봉이 없으면 매수 금일 여섯째봉에서 선물이 양봉이고 데이타5, 6이 음봉이고 데이타3 이나 4 가 음봉이면 매수 금일 여섯째봉에서 선물이 양봉이고 데이타5, 6이 음봉이고 데이타2 나 3 이 음봉이면 매수 2. 현재 무포이고 12시 30분부터 13시 30분까지 종가로 선물이 최저가이고 데이타 3도 종가로 최저가이면 매도 (단 금일 매수1번조건과 매도1번 조건으로 진입이 한번도 없었거나 금일 진입후 총수익이 0.7p(변수) 이하일때만 진입) 이때 2번 진입조건으로 매도진입은 하루에 한번만 하고 목표가는 2.2p이상일때 스탑으로 하고 손절은 진입후 연속 양봉이 3개이상 나오면서 손실이거나 20이평 상향돌파시 손실이면 청산하고 금일 매매종료. <매도진입후 청산조건> 1. 선물과 데이타2가 각각 시초가보다 크고 데이타3 이 40이평이나 150 이평보다 크거나 시초가보다 크면 청산 2. 진입후 3시간 이후는 종가로 진입가보다 크고 데이타7,8, 9 중에서 데이타7이 가장 작고 데이타3 이 시초가보다 크거나 데이타3 이 40이평이나 150이평보다 크면 청산 -------------------------------------------------------------------------------- <진입 제한 조건> 위에서 매수조건 1번과 매도조건 1번을 합해서 금일 장시작후 20봉이내에는 매수가 되든지 매도가 되든지 한번만 진입이 이루어져야하고 매수조건 1번으로는 하루에 매수는 한번만 진입하고 매도조건 1번으로도 하루에 매도는 한번만 진입하고 금일봉 40봉 이후네는신규진입 금지. (반대 청산과 매수조건 2번과 매도조건 2번만 진입가능) <공통적용 청산조건> 1. 진입후부터 15봉이내에 최고값-최저값이 2.7p(변수) 이상이고 현재 수익이 2.2p(변수) 이상이면 스탑으로 수익실현하고 금일매매종료 2. 진입후부터 10봉이내에 수익이 1.1p 이상이면 스탑으로 수익실현하고 금일매매종료 4. 진입후 2.5p(변수) 이상 수익시 스탑으로 청산하고 금일 매매종료 5. 진입후 금일시초가*0.0045(변수) 이상 수익후는 봉의 종가로 본절이나 손실시 청산 6. 진입후 1시간 10분이후는 봉이 진행되면서 현재 기준으로 그이전 15봉 동안의 최고값-최저값이 3.3p(변수) 이상이고 현재 2.5p(변수)이상 수익이면 스탑으로 청산하고 금일 매매종료. 7. 14시 30분부터는 현포지션이 매수이면 20 이평 하향돌파시 청산, 포지션이 있으면 14시 45분봉이 음봉이나 음도지이면 청산후 매매종료하고 양봉이거나 양도지이면 15시에 청산후 금일 매매종료 현포지션이 매도이면 20 이평 상향돌파시 청산, 포지션이 있으면 14시 45분봉이 양봉이나 양도지이면 청산후 매매종료하고 음봉이거나 음도지이면 15시에 청산후 금일 매매종료 잘 부탁드립니다. 혹시 이해안되는 부분 있으면 연락주세요 (010-3044-6622) 답변이 조금 늦어도 좋으니 재문의 드리지 않게 신중히 부탁드립니다.
시스템
답변 2
프로필 이미지

예스스탁 예스스탁 답변

2010-12-13 11:26:32

질문이 많아 밀린내용 처리후 답변 올려드리도록 하겠습니다. > 강태공3 님이 쓴 글입니다. > 제목 : 문의드립니다. > 안녕하세요. 좀 복잡한데 수식 좀 부탁드립니다. <매수조건> 1. 금일 5번째봉 종가로 선물과 데이타2가 각각 시초가보다 크고 선물은 금일의 (종가로 최고가+종가로 최저가)/2 보다 크고 금일시초가+1.5 보다 크면 매수 금일 여섯째봉에서 선물이 음봉이고 데이타 3, 5 ,6 이 양봉이 2개이상이고 음봉이 없으면 매수 금일 여섯째봉에서 선물이 음봉이고 데이타5, 6이 양봉이고 데이타3 이나 4가 양봉이면 매수 금일 여섯째봉에서 선물이 음봉이고 데이타5, 6이 양봉이고 데이타2 나 3 이 양봉이면 매수 2. 현재 무포이고 12시 30분부터 13시 30분까지 종가로 선물이 최고가이고 데이타 3도 종가로 최고가이면 매수 (단 금일 매수1번조건과 매도1번 조건으로 진입이 한번도 없었거나 금일 진입후 총수익이 0.7p(변수) 이하일때만 진입) 이때 2번 매수진입 조건으로 매수진입은 하루에 한번만 하고 목표가는 2.2p이상일때 스탑으로 하고 손절은 진입후 연속 음봉이 3개이상 나오면서 손실이거나 20이평 상향돌파시 손실이면 청산하고 금일 매매종료. <매수진입후 청산조건> 1. 선물과 데이타2가 각각 시초가보다 작고 데이타3 이 40이평이나 150이평보다 작거나 시초가보다 작으면 청산 2. 진입후 3시간 이후는 종가로 진입가보다 작고 데이타7,8, 9 중에서 데이타7이 가장 크고 데이타3 이 시초가보다 작거나 데이타3 이 40이평이나 150 이평보다 작으면 청산 --------------------------------------------------------------------------------- <매도조건> 1. 금일 5번째봉 종가로 선물과 데이타2가 각각 시초가보다 작고 선물은 금일의 (종가로 최고가+종가로 최저가)/2 보다 작고 금일시초가-1.5 보다 작으면 매도 금일 여섯째봉에서 선물이 양봉이고 데이타 3,5,6 이 음봉이 2개이상이고 양봉이 없으면 매수 금일 여섯째봉에서 선물이 양봉이고 데이타5, 6이 음봉이고 데이타3 이나 4 가 음봉이면 매수 금일 여섯째봉에서 선물이 양봉이고 데이타5, 6이 음봉이고 데이타2 나 3 이 음봉이면 매수 2. 현재 무포이고 12시 30분부터 13시 30분까지 종가로 선물이 최저가이고 데이타 3도 종가로 최저가이면 매도 (단 금일 매수1번조건과 매도1번 조건으로 진입이 한번도 없었거나 금일 진입후 총수익이 0.7p(변수) 이하일때만 진입) 이때 2번 진입조건으로 매도진입은 하루에 한번만 하고 목표가는 2.2p이상일때 스탑으로 하고 손절은 진입후 연속 양봉이 3개이상 나오면서 손실이거나 20이평 상향돌파시 손실이면 청산하고 금일 매매종료. <매도진입후 청산조건> 1. 선물과 데이타2가 각각 시초가보다 크고 데이타3 이 40이평이나 150 이평보다 크거나 시초가보다 크면 청산 2. 진입후 3시간 이후는 종가로 진입가보다 크고 데이타7,8, 9 중에서 데이타7이 가장 작고 데이타3 이 시초가보다 크거나 데이타3 이 40이평이나 150이평보다 크면 청산 -------------------------------------------------------------------------------- <진입 제한 조건> 위에서 매수조건 1번과 매도조건 1번을 합해서 금일 장시작후 20봉이내에는 매수가 되든지 매도가 되든지 한번만 진입이 이루어져야하고 매수조건 1번으로는 하루에 매수는 한번만 진입하고 매도조건 1번으로도 하루에 매도는 한번만 진입하고 금일봉 40봉 이후네는신규진입 금지. (반대 청산과 매수조건 2번과 매도조건 2번만 진입가능) <공통적용 청산조건> 1. 진입후부터 15봉이내에 최고값-최저값이 2.7p(변수) 이상이고 현재 수익이 2.2p(변수) 이상이면 스탑으로 수익실현하고 금일매매종료 2. 진입후부터 10봉이내에 수익이 1.1p 이상이면 스탑으로 수익실현하고 금일매매종료 4. 진입후 2.5p(변수) 이상 수익시 스탑으로 청산하고 금일 매매종료 5. 진입후 금일시초가*0.0045(변수) 이상 수익후는 봉의 종가로 본절이나 손실시 청산 6. 진입후 1시간 10분이후는 봉이 진행되면서 현재 기준으로 그이전 15봉 동안의 최고값-최저값이 3.3p(변수) 이상이고 현재 2.5p(변수)이상 수익이면 스탑으로 청산하고 금일 매매종료. 7. 14시 30분부터는 현포지션이 매수이면 20 이평 하향돌파시 청산, 포지션이 있으면 14시 45분봉이 음봉이나 음도지이면 청산후 매매종료하고 양봉이거나 양도지이면 15시에 청산후 금일 매매종료 현포지션이 매도이면 20 이평 상향돌파시 청산, 포지션이 있으면 14시 45분봉이 양봉이나 양도지이면 청산후 매매종료하고 음봉이거나 음도지이면 15시에 청산후 금일 매매종료 잘 부탁드립니다. 혹시 이해안되는 부분 있으면 연락주세요 (010-3044-6622) 답변이 조금 늦어도 좋으니 재문의 드리지 않게 신중히 부탁드립니다.
프로필 이미지

예스스탁 예스스탁 답변

2010-12-15 16:06:55

수정한 식입니다. input : 금일총손익(0.7); var : cnt(0,data1),PLR(0,data1),XCommission(0,data1),XSlippage(0,data1),OpenPL(0,data1),dayPL(0,data1); var : Bcnt(0,data1),Scnt(0,data1),count(0,data1),B2cnt(0,data1),S2cnt(0,data1),idx1(0,data1); var : D3W(0,data3),D3B(0,data3),D5W(0,data5),D5B(0,data5),D6W(0,data6),D6B(0,data6); XCommission = ((C*ExitCommission)/100)*CurrentContracts; #%설정 XSlippage = (ExitSlippage)*CurrentContracts; #Pt설정 #당일총손익 및 b2진입,B3진입 카운트 count = 0; PLR = 0; B2cnt = 0; S2cnt = 0; Bcnt = 0; Scnt = 0; for cnt = 0 to 10{ if sdate == EntryDate(cnt) Then{ count = count+1; if MarketPosition(cnt) == 1 Then Bcnt = Bcnt+1; if MarketPosition(cnt) == -1 Then Scnt = Scnt+1; if IsEntryName("B2",cnt) == true Then B2cnt = B2cnt+1; if IsEntryName("S2",cnt) == true Then S2cnt = S2cnt+1; } if cnt >= 1 and sdate == EntryDate(cnt) Then{ PLR = PLR+PositionProfit(cnt); } } if MarketPosition() == 0 Then{ OpenPL = 0; DayPL = PLR; } Else{ OpenPL = (PositionProfit-(XCommission+XSlippage)); DayPL = PLR+OpenPL; } #data3,5,6 양봉음봉 갯수 카운트 if data3(date!=date[1]) Then{ D3W = 0; D3B = 0;} if data5(date!=date[1]) Then{ D5W = 0; D5B = 0;} if data6(date!=date[1]) Then{ D6W = 0; D6B = 0;} if data3(C > O) Then D3W = D3W+1; if data3(C < O) Then D3B = D3B+1; if data5(C > O) Then D5W = D5W+1; if data5(C < O) Then D5B = D5B+1; if data6(C > O) Then D6W = D6W+1; if data6(C < O) Then D6B = D6B+1; Condition1 = ExitDate(1) == sdate And (IsExitName("b0x1",1) or IsExitName("b0x2",1) or IsExitName("b0x4",1) or IsExitName("b0x6",1) or IsExitName("b0x7",1) Or IsExitName("s0x1",1) or IsExitName("s0x2",1) or IsExitName("s0x4",1) or IsExitName("s0x6",1) or IsExitName("s0x7",1) Or IsExitName("b2x1",1) or IsExitName("b2x2",1) or IsExitName("s2x1",1) or IsExitName("s2x2",1)); #매수1(20개봉 이전) if (dayindex+1) < 20 and count == 0 and Condition1 == False Then{ if data1(dayindex+1) >= 5 And data1(c> dayopen) and data2(C> OpenD(0)) And data1(C >(highest(H,dayindex+1)+Lowest(C,dayindex+1))/2) And data1(C > DayOpen+0.5) Then buy("b1_1"); if data1(dayindex+1) == 6 and data1(C<O) and D3W >= 2 and D5W >= 2 and D6W >= 2 And D3B == 0 and D5B == 0 and D6B == 0 Then buy("b1_2"); if data1(dayindex+1) == 6 and data1(C<O) and Data5(C>O) and DAta6(C>O) and (DAta3(C>O) or Data4(C>O)) Then buy("b1_3"); if data1(dayindex+1) == 6 and data1(C<O) and Data5(C>O) and DAta6(C>O) and (DAta2(C>O) or Data3(C>O)) Then buy("b1_4"); } #매수1(20~40개봉 사이) if (dayindex+1) >= 20 and (dayindex+1) <= 40 and Bcnt < 1 and Condition1 == False Then{ if data1(dayindex+1) >= 5 And data1(c> dayopen) and data2(C> OpenD(0)) And data1(C >(highest(H,dayindex+1)+Lowest(C,dayindex+1))/2) And data1(C > DayOpen+1.5) Then buy("b1_1."); if data1(dayindex+1) == 6 and data1(C<O) and D3W >= 2 and D5W >= 2 and D6W >= 2 And D3B == 0 and D5B == 0 and D6B == 0 Then buy("b1_2."); if data1(dayindex+1) == 6 and data1(C<O) and Data5(C>O) and DAta6(C>O) and (DAta3(C>O) or Data4(C>O)) Then buy("b1_3."); if data1(dayindex+1) == 6 and data1(C<O) and Data5(C>O) and DAta6(C>O) and (DAta2(C>O) or Data3(C>O)) Then buy("b1_4."); } #매수2 if MarketPosition == 0 And Condition1 == False and data1(dayindex+1) >= 50 and data1(dayindex+1) <= 70 And highest(C,dayindex+1) == C and data3(C==highest(H,dayindex+1)) and (dayPL <= 금일총손익 or count < 1) and B2cnt < 1 Then buy("b2"); #b2전용 청산 if MarketPosition == 1 and IsEntryName("b2") Then{ exitlong("b2x1",AtLimit,EntryPrice+2.2); if C < EntryPrice Then{ if data1(countif(C<O,3)) == 3 or data1(CrossDown(c,ma(c,20))) Then ExitLong("b2x2"); } } #매수진입 후 청산조건 if MarketPosition == 1 and IsEntryName("b2") == false Then{ if data1(C< dayopen) and Data2(C< Opend(0)) And data3(C< ma(c,40) or C < ma(c,150) or C < OpenD(0)) Then exitlong("Bx1"); if TimeToMinutes(stime) >= TimeToMinutes(EntryTime)+180 And C < EntryPrice And max(data7(c),data8(c),data9(c)) == data7(c) And data3(C< OpenD(0) or C < ma(c,40) or C < ma(C,150)) Then exitlong("bx2"); } ######################################### #매도1(20개봉 이전) if (dayindex+1) < 20 and count == 0 and (dayindex+1) <= 40 and Condition1 == False Then{ if data1(dayindex+1) >= 5 And data1(c < dayopen) and data2(C < OpenD(0)) And data1(C < (highest(H,dayindex+1)+Lowest(C,dayindex+1))/2) And data1(C < DayOpen-0.5) Then Sell("S1_1"); if data1(dayindex+1) == 6 and data1(C>O) and D3B >= 2 and D5B >= 2 and D6B >= 2 And D3W == 0 and D5W == 0 and D6W == 0 Then Sell("S1_2"); if data1(dayindex+1) == 6 and data1(C>O) and Data5(C<O) and DAta6(C<O) and (DAta3(C<O) or Data4(C<O)) Then Sell("S1_3"); if data1(dayindex+1) == 6 and data1(C>O) and Data5(C<O) and DAta6(C<O) and (DAta2(C<O) or Data3(C<O)) Then Sell("S1_4"); } #매도1(20~40사이) if (dayindex+1) >= 20 and (dayindex+1) >= 40 and Scnt < 1 and Condition1 == False Then{ if data1(dayindex+1) >= 5 And data1(c < dayopen) and data2(C < OpenD(0)) And data1(C < (highest(H,dayindex+1)+Lowest(C,dayindex+1))/2) And data1(C < DayOpen-1.5) Then Sell("S1_1."); if data1(dayindex+1) == 6 and data1(C>O) and D3B >= 2 and D5B >= 2 and D6B >= 2 And D3W == 0 and D5W == 0 and D6W == 0 Then Sell("S1_2."); if data1(dayindex+1) == 6 and data1(C>O) and Data5(C<O) and DAta6(C<O) and (DAta3(C<O) or Data4(C<O)) Then Sell("S1_3."); if data1(dayindex+1) == 6 and data1(C>O) and Data5(C<O) and DAta6(C<O) and (DAta2(C<O) or Data3(C<O)) Then Sell("S1_4."); } #매도2 if MarketPosition == 0 And Condition1 == False and data1(dayindex+1) >= 50 and data1(dayindex+1) <= 70 And data1(Lowest(C,dayindex+1) == C) and data3(C==Lowest(C,dayindex+1)) and (dayPL <= 금일총손익 or count < 1) and S2cnt < 1 Then Sell("S2"); #S2전용 청산 if MarketPosition == -1 and IsEntryName("S2") Then{ ExitShort("S2x1",AtLimit,EntryPrice-2.2); if C > EntryPrice Then{ if data1(countif(C>O,3)) == 3 or data1(CrossUp(c,ma(c,20))) Then ExitShort("S2x2"); } } #매도진입 후 청산조건 if MarketPosition == -1 and IsEntryName("S2") == false Then{ if data1(C > dayopen) and Data2(C> Opend(0)) And data3(C> ma(c,40) or C > ma(c,150) or C > OpenD(0)) Then ExitShort("Sx1"); if TimeToMinutes(stime) >= TimeToMinutes(EntryTime)+180 And C > EntryPrice And min(data7(c),data8(c),data9(c)) == data7(c) And data3(C> OpenD(0) or C > ma(c,40) or C > ma(C,150)) Then ExitShort("Sx2"); } ############################## #공통적용청산1 input: R1(2.7),Profit1(2.2); if BarsSinceEntry <= 15 And highest(H,BarsSinceEntry+1)-Lowest(L,BarsSinceEntry) >= R1 Then{ if MarketPosition == 1 Then exitlong("b0x1",atlimit,EntryPrice+Profit1); if MarketPosition == -1 Then ExitShort("S0x1",atlimit,EntryPrice-Profit1); } #공통적용청산2 if MarketPosition == 1 Then{ if BarsSinceEntry < 10 Then exitlong("b0x2",atlimit,EntryPrice+1.1); } if MarketPosition == -1 Then{ if BarsSinceEntry < 10 Then ExitShort("s0x2",atlimit,EntryPrice-1.1); } #공통적용청산4 input : Profit4(2.5); SetStopProfittarget(Profit4,PointStop); #공통적용청산5 input : P1(0.0045); if MarketPosition == 1 Then{ if highest(H,BarsSinceEntry) >= EntryPrice+(dayopen*P1) and CrossDown(c,EntryPrice) Then exitlong("b0x5"); } if MarketPosition == -1 Then{ if Lowest(L,BarsSinceEntry) <= EntryPrice-(dayopen*P1) and Crossup(C,EntryPrice) Then ExitShort("s0x5"); } #공통적용청산6 input : R6(3.3),Profit6(2.5); if MarketPosition == 1 and TimeToMinutes(stime) >= TimeToMinutes(EntryTime)+70 Then{ if highest(H,15)-Lowest(L,15) >= R6 Then exitlong("b0x6",Atlimit,EntryPrice+Profit6); } if MarketPosition == -1 and TimeToMinutes(stime) >= TimeToMinutes(EntryTime)+70 Then{ if highest(H,15)-Lowest(L,15) >= R6 Then ExitShort("s0x6",Atlimit,EntryPrice-Profit6); } if (dayindex+1) == 1 Then idx1 = stime; #공통적용청산7 if MarketPosition == 1 and ((idx1 == 90000 and stime >= 143000) or (idx1 == 100000 and stime >= 153000)) Then{ if CrossDown(c,ma(C,20)) or (stime == 144500 and (C<O or (C==O and C<C[1]))) Then ExitLong("b0x7"); } if MarketPosition == -1 and ((idx1 == 90000 and stime >= 143000) or (idx1 == 100000 and stime >= 153000)) Then{ if CrossUp(c,ma(C,20)) or (stime == 144500 and (C>O or (C==O and C>=C[1]))) Then ExitShort("s0x7"); } if idx1 == 90000 then SetStopEndofday(150000); Else SetStopEndofday(160000); 즐거운 하루되세요