커뮤니티

수식 수정 문의드립니다.

프로필 이미지
탄젠트80
2016-06-07 02:17:08
115
글번호 98753
답변완료
안녕하세요 항상 답변 감사합니다. 아래 수식은 당일매수 1회, 매도 1회 발생하는 수식입니다. 여기에 9시 1분에 매수식을 추가하고 싶습니다.(2계약 피라미딩) 그리하여 매수(9시1분) ---> 매수(조건 만족시) ----> 청산(모두) 주의할점은 첫번째 매수와 두번째 매수사이에서는(첫번째 매수만 있을때) 청산이 이루어지면 안되고 두번째 매수까지 진행된 후에 청산이 되어야 합니다. 만약 두번째 매수신호가 지정시간까지 조건을 만족하지 못할때는 첫번째 매수한것만 청산식에 의해 당일 청산합니다. 수식 정중히 부탁드립니다. 몇시간동안 해봤지만 의도대로 식이 나오지 않습니다. 아래는 수식입니다. ================================================================================= var : sum(0,data1), S1(0,data1), S2(0,data1), HH(0), LL(0), cnt(0), count(0); sum = (data2(c)+data3(c)); count = 0; for cnt = 0 to 20 { if sdate == EntryDate(cnt) Then count = count+1; } if date != date[1] Then { S1 = sum; HH = sum; } #양합 당일 최고값 if sum > HH Then HH = sum; if MarketPosition == 0 and count == 0 and stime <= 125000 and HH > S1*1.065 and sum <= HH*0.99 Then { buy("b1"); S2 = sum; LL = sum; } if MarketPosition == 1 and count == 1 Then { #매수진입 이후 양합 최저값 if sum < LL Then LL = sum; #양합이 매수시점양합보다 4% 상승하면 청산 if sum >= S2*1.04 Then ExitLong("bx1"); #양합이 매수시점양합보다 10% 하락하면 청산 if sum <= S2*0.90 Then ExitLong("bx2"); #매수이후 최저양합이 매수시점 양합보다 4%이상 하락후 #현재 양합이 매수이후 최저양합보다 1.5% 상승하면 청산 if LL <= S2*0.96 and sum >= LL*1.015 Then Exitlong("bx3"); if stime == 150100 Then ExitLong("bx4"); } ================================================================================
시스템
답변 3
프로필 이미지

예스스탁 예스스탁 답변

2016-06-07 17:08:09

안녕하세요 예스스탁입니다. 피라미딩을 다른진입신호만 허용으로 설정하고 적용하시면 됩니다. 9시1분이 당일 첫봉이면 b1조건을 stime == 90000으로 변경하시면 됩니다. 수식에서는 stime을 사용하는데 첫봉의 시간이 9시 입니다. var : sum(0,data1), S1(0,data1), S2(0,data1), HH(0), LL(0), cnt(0), count(0); sum = (data2(c)+data3(c)); count = 0; for cnt = 0 to 20 { if sdate == EntryDate(cnt) Then count = count+1; } if date != date[1] Then { S1 = sum; HH = sum; } #양합 당일 최고값 if sum > HH Then HH = sum; if MarketPosition == 0 and stime == 90100 Then{ buy("b1"); S2 = sum; LL = sum; } if MarketPosition == 1 and count == 1 and stime <= 125000 and HH > S1*1.065 and sum <= HH*0.99 Then { buy("b2"); } if MarketPosition == 1 and count == 1 Then { #매수진입 이후 양합 최저값 if sum < LL Then LL = sum; #양합이 매수시점양합보다 4% 상승하면 청산 if MaxEntries == 2 and sum >= S2*1.04 Then ExitLong("bx1"); #양합이 매수시점양합보다 10% 하락하면 청산 if MaxEntries == 2 and sum <= S2*0.90 Then ExitLong("bx2"); #매수이후 최저양합이 매수시점 양합보다 4%이상 하락후 #현재 양합이 매수이후 최저양합보다 1.5% 상승하면 청산 if MaxEntries == 2 and LL <= S2*0.96 and sum >= LL*1.015 Then Exitlong("bx3"); } if MarketPosition == 1 and stime == 150100 Then ExitLong("bx4"); 즐거운 하루되세요 > 탄젠트80 님이 쓴 글입니다. > 제목 : 수식 수정 문의드립니다. > 안녕하세요 항상 답변 감사합니다. 아래 수식은 당일매수 1회, 매도 1회 발생하는 수식입니다. 여기에 9시 1분에 매수식을 추가하고 싶습니다.(2계약 피라미딩) 그리하여 매수(9시1분) ---> 매수(조건 만족시) ----> 청산(모두) 주의할점은 첫번째 매수와 두번째 매수사이에서는(첫번째 매수만 있을때) 청산이 이루어지면 안되고 두번째 매수까지 진행된 후에 청산이 되어야 합니다. 만약 두번째 매수신호가 지정시간까지 조건을 만족하지 못할때는 첫번째 매수한것만 청산식에 의해 당일 청산합니다. 수식 정중히 부탁드립니다. 몇시간동안 해봤지만 의도대로 식이 나오지 않습니다. 아래는 수식입니다. ================================================================================= var : sum(0,data1), S1(0,data1), S2(0,data1), HH(0), LL(0), cnt(0), count(0); sum = (data2(c)+data3(c)); count = 0; for cnt = 0 to 20 { if sdate == EntryDate(cnt) Then count = count+1; } if date != date[1] Then { S1 = sum; HH = sum; } #양합 당일 최고값 if sum > HH Then HH = sum; if MarketPosition == 0 and count == 0 and stime <= 125000 and HH > S1*1.065 and sum <= HH*0.99 Then { buy("b1"); S2 = sum; LL = sum; } if MarketPosition == 1 and count == 1 Then { #매수진입 이후 양합 최저값 if sum < LL Then LL = sum; #양합이 매수시점양합보다 4% 상승하면 청산 if sum >= S2*1.04 Then ExitLong("bx1"); #양합이 매수시점양합보다 10% 하락하면 청산 if sum <= S2*0.90 Then ExitLong("bx2"); #매수이후 최저양합이 매수시점 양합보다 4%이상 하락후 #현재 양합이 매수이후 최저양합보다 1.5% 상승하면 청산 if LL <= S2*0.96 and sum >= LL*1.015 Then Exitlong("bx3"); if stime == 150100 Then ExitLong("bx4"); } ================================================================================
프로필 이미지

탄젠트80

2016-06-08 12:53:11

안녕하세요 답변감사합니다. 작성해 주신 수식으로 테스트했는데 몇가지 수정사항이 있어 재차 질문드리오니 번거로우시더라도 부탁드립니다. 1) 피라미딩시스템이지만 매수신호는 b1, b2 한번씩만 나오게 해주세요 시뮬레이션 해보니 b2가 계속 피라미딩 쌓입니다. b2 신호가 한번만 나오게 해주세요 2) 청산 수정 - 청산신호 bx1 이 먼저 진입한 b1 기준으로 나옵니다. bx1 이 나중에 진입한 b2 매수시점의 양합기준으로 청산되게 해주세요 - 시뮬해보니 청산신호 bx3 가 두번째 진입(b2) 기준에서 양합이 4%이상 하락한 이후 1.5% 이상 상승시 청산신호가 나와야 하는데 매수기준(b2)의 양합에서 4% 이상 하락하지 않았는데 청산신호가 나옵니다. 수정부탁드립니다. 늘 답변 감사히 받고 있습니다. 수정 부탁드립니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식 수정 문의드립니다. > 안녕하세요 예스스탁입니다. 피라미딩을 다른진입신호만 허용으로 설정하고 적용하시면 됩니다. 9시1분이 당일 첫봉이면 b1조건을 stime == 90000으로 변경하시면 됩니다. 수식에서는 stime을 사용하는데 첫봉의 시간이 9시 입니다. var : sum(0,data1), S1(0,data1), S2(0,data1), HH(0), LL(0), cnt(0), count(0); sum = (data2(c)+data3(c)); count = 0; for cnt = 0 to 20 { if sdate == EntryDate(cnt) Then count = count+1; } if date != date[1] Then { S1 = sum; HH = sum; } #양합 당일 최고값 if sum > HH Then HH = sum; if MarketPosition == 0 and stime == 90100 Then{ buy("b1"); S2 = sum; LL = sum; } if MarketPosition == 1 and count == 1 and stime <= 125000 and HH > S1*1.065 and sum <= HH*0.99 Then { buy("b2"); } if MarketPosition == 1 and count == 1 Then { #매수진입 이후 양합 최저값 if sum < LL Then LL = sum; #양합이 매수시점양합보다 4% 상승하면 청산 if MaxEntries == 2 and sum >= S2*1.04 Then ExitLong("bx1"); #양합이 매수시점양합보다 10% 하락하면 청산 if MaxEntries == 2 and sum <= S2*0.90 Then ExitLong("bx2"); #매수이후 최저양합이 매수시점 양합보다 4%이상 하락후 #현재 양합이 매수이후 최저양합보다 1.5% 상승하면 청산 if MaxEntries == 2 and LL <= S2*0.96 and sum >= LL*1.015 Then Exitlong("bx3"); } if MarketPosition == 1 and stime == 150100 Then ExitLong("bx4"); 즐거운 하루되세요 > 탄젠트80 님이 쓴 글입니다. > 제목 : 수식 수정 문의드립니다. > 안녕하세요 항상 답변 감사합니다. 아래 수식은 당일매수 1회, 매도 1회 발생하는 수식입니다. 여기에 9시 1분에 매수식을 추가하고 싶습니다.(2계약 피라미딩) 그리하여 매수(9시1분) ---> 매수(조건 만족시) ----> 청산(모두) 주의할점은 첫번째 매수와 두번째 매수사이에서는(첫번째 매수만 있을때) 청산이 이루어지면 안되고 두번째 매수까지 진행된 후에 청산이 되어야 합니다. 만약 두번째 매수신호가 지정시간까지 조건을 만족하지 못할때는 첫번째 매수한것만 청산식에 의해 당일 청산합니다. 수식 정중히 부탁드립니다. 몇시간동안 해봤지만 의도대로 식이 나오지 않습니다. 아래는 수식입니다. ================================================================================= var : sum(0,data1), S1(0,data1), S2(0,data1), HH(0), LL(0), cnt(0), count(0); sum = (data2(c)+data3(c)); count = 0; for cnt = 0 to 20 { if sdate == EntryDate(cnt) Then count = count+1; } if date != date[1] Then { S1 = sum; HH = sum; } #양합 당일 최고값 if sum > HH Then HH = sum; if MarketPosition == 0 and count == 0 and stime <= 125000 and HH > S1*1.065 and sum <= HH*0.99 Then { buy("b1"); S2 = sum; LL = sum; } if MarketPosition == 1 and count == 1 Then { #매수진입 이후 양합 최저값 if sum < LL Then LL = sum; #양합이 매수시점양합보다 4% 상승하면 청산 if sum >= S2*1.04 Then ExitLong("bx1"); #양합이 매수시점양합보다 10% 하락하면 청산 if sum <= S2*0.90 Then ExitLong("bx2"); #매수이후 최저양합이 매수시점 양합보다 4%이상 하락후 #현재 양합이 매수이후 최저양합보다 1.5% 상승하면 청산 if LL <= S2*0.96 and sum >= LL*1.015 Then Exitlong("bx3"); if stime == 150100 Then ExitLong("bx4"); } ================================================================================
프로필 이미지

예스스탁 예스스탁 답변

2016-06-08 13:56:07

안녕하세요 예스스탁입니다. b2진입이 1번만 추가매수되게 수정했습니다. 청산도 b2진입기준으로 변경했습니다. var : sum(0,data1), S1(0,data1), S2(0,data1), HH(0), LL(0), cnt(0), count(0); sum = (data2(c)+data3(c)); count = 0; for cnt = 0 to 20 { if sdate == EntryDate(cnt) Then count = count+1; } if date != date[1] Then { S1 = sum; HH = sum; } #양합 당일 최고값 if sum > HH Then HH = sum; if MarketPosition == 0 and stime == 90100 Then{ buy("b1"); } if MarketPosition == 1 and MaxEntries == 1 and count == 1 and stime <= 125000 and HH > S1*1.065 and sum <= HH*0.99 Then { buy("b2"); S2 = sum; LL = sum; } if MarketPosition == 1 and count == 1 and MaxEntries == 2 Then { #매수진입 이후 양합 최저값 if sum < LL Then LL = sum; #양합이 매수시점양합보다 4% 상승하면 청산 if MaxEntries == 2 and sum >= S2*1.04 Then ExitLong("bx1"); #양합이 매수시점양합보다 10% 하락하면 청산 if MaxEntries == 2 and sum <= S2*0.90 Then ExitLong("bx2"); #매수이후 최저양합이 매수시점 양합보다 4%이상 하락후 #현재 양합이 매수이후 최저양합보다 1.5% 상승하면 청산 if MaxEntries == 2 and LL <= S2*0.96 and sum >= LL*1.015 Then Exitlong("bx3"); } if MarketPosition == 1 and stime == 150100 Then ExitLong("bx4"); 즐거운 하루되세요 > 탄젠트80 님이 쓴 글입니다. > 제목 : 재문의) Re : Re : 수식 수정 문의드립니다. > 안녕하세요 답변감사합니다. 작성해 주신 수식으로 테스트했는데 몇가지 수정사항이 있어 재차 질문드리오니 번거로우시더라도 부탁드립니다. 1) 피라미딩시스템이지만 매수신호는 b1, b2 한번씩만 나오게 해주세요 시뮬레이션 해보니 b2가 계속 피라미딩 쌓입니다. b2 신호가 한번만 나오게 해주세요 2) 청산 수정 - 청산신호 bx1 이 먼저 진입한 b1 기준으로 나옵니다. bx1 이 나중에 진입한 b2 매수시점의 양합기준으로 청산되게 해주세요 - 시뮬해보니 청산신호 bx3 가 두번째 진입(b2) 기준에서 양합이 4%이상 하락한 이후 1.5% 이상 상승시 청산신호가 나와야 하는데 매수기준(b2)의 양합에서 4% 이상 하락하지 않았는데 청산신호가 나옵니다. 수정부탁드립니다. 늘 답변 감사히 받고 있습니다. 수정 부탁드립니다. > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식 수정 문의드립니다. > 안녕하세요 예스스탁입니다. 피라미딩을 다른진입신호만 허용으로 설정하고 적용하시면 됩니다. 9시1분이 당일 첫봉이면 b1조건을 stime == 90000으로 변경하시면 됩니다. 수식에서는 stime을 사용하는데 첫봉의 시간이 9시 입니다. var : sum(0,data1), S1(0,data1), S2(0,data1), HH(0), LL(0), cnt(0), count(0); sum = (data2(c)+data3(c)); count = 0; for cnt = 0 to 20 { if sdate == EntryDate(cnt) Then count = count+1; } if date != date[1] Then { S1 = sum; HH = sum; } #양합 당일 최고값 if sum > HH Then HH = sum; if MarketPosition == 0 and stime == 90100 Then{ buy("b1"); S2 = sum; LL = sum; } if MarketPosition == 1 and count == 1 and stime <= 125000 and HH > S1*1.065 and sum <= HH*0.99 Then { buy("b2"); } if MarketPosition == 1 and count == 1 Then { #매수진입 이후 양합 최저값 if sum < LL Then LL = sum; #양합이 매수시점양합보다 4% 상승하면 청산 if MaxEntries == 2 and sum >= S2*1.04 Then ExitLong("bx1"); #양합이 매수시점양합보다 10% 하락하면 청산 if MaxEntries == 2 and sum <= S2*0.90 Then ExitLong("bx2"); #매수이후 최저양합이 매수시점 양합보다 4%이상 하락후 #현재 양합이 매수이후 최저양합보다 1.5% 상승하면 청산 if MaxEntries == 2 and LL <= S2*0.96 and sum >= LL*1.015 Then Exitlong("bx3"); } if MarketPosition == 1 and stime == 150100 Then ExitLong("bx4"); 즐거운 하루되세요 > 탄젠트80 님이 쓴 글입니다. > 제목 : 수식 수정 문의드립니다. > 안녕하세요 항상 답변 감사합니다. 아래 수식은 당일매수 1회, 매도 1회 발생하는 수식입니다. 여기에 9시 1분에 매수식을 추가하고 싶습니다.(2계약 피라미딩) 그리하여 매수(9시1분) ---> 매수(조건 만족시) ----> 청산(모두) 주의할점은 첫번째 매수와 두번째 매수사이에서는(첫번째 매수만 있을때) 청산이 이루어지면 안되고 두번째 매수까지 진행된 후에 청산이 되어야 합니다. 만약 두번째 매수신호가 지정시간까지 조건을 만족하지 못할때는 첫번째 매수한것만 청산식에 의해 당일 청산합니다. 수식 정중히 부탁드립니다. 몇시간동안 해봤지만 의도대로 식이 나오지 않습니다. 아래는 수식입니다. ================================================================================= var : sum(0,data1), S1(0,data1), S2(0,data1), HH(0), LL(0), cnt(0), count(0); sum = (data2(c)+data3(c)); count = 0; for cnt = 0 to 20 { if sdate == EntryDate(cnt) Then count = count+1; } if date != date[1] Then { S1 = sum; HH = sum; } #양합 당일 최고값 if sum > HH Then HH = sum; if MarketPosition == 0 and count == 0 and stime <= 125000 and HH > S1*1.065 and sum <= HH*0.99 Then { buy("b1"); S2 = sum; LL = sum; } if MarketPosition == 1 and count == 1 Then { #매수진입 이후 양합 최저값 if sum < LL Then LL = sum; #양합이 매수시점양합보다 4% 상승하면 청산 if sum >= S2*1.04 Then ExitLong("bx1"); #양합이 매수시점양합보다 10% 하락하면 청산 if sum <= S2*0.90 Then ExitLong("bx2"); #매수이후 최저양합이 매수시점 양합보다 4%이상 하락후 #현재 양합이 매수이후 최저양합보다 1.5% 상승하면 청산 if LL <= S2*0.96 and sum >= LL*1.015 Then Exitlong("bx3"); if stime == 150100 Then ExitLong("bx4"); } ================================================================================