커뮤니티

진입횟수

프로필 이미지
맘속의행복
2018-11-22 23:04:31
219
글번호 123836
답변완료
안녕하세요. 1. 합성시스템에서 모든 매수 신호를 망라하고 매수신호는 오직 1번만 발생하게 하려면 어떻게 하는지 궁금합니다 2. 그리고 아래와 같은 식을 사용해왔는데 var&#160;:&#160;B1count(0); if&#160;Bdate&#160;!=&#160;Bdate[1]&#160;Then &#160;&#160;&#160;&#160;&#160;&#160;B1count&#160;=&#160;0; if&#160;CurrentContracts&#160;>&#160;CurrentContracts[1]&#160;and&#160;LatestEntryName(0)&#160;==&#160;"매수"&#160;Then &#160;&#160;&#160;&#160;&#160;&#160;B1count&#160;=&#160;B1count+1; if&#160;B1count&#160;<&#160;1&#160;and&#160;매수조건&#160;Then &#160;&#160;&#160;&#160;&#160;&#160;buy("매수"); 이 식의 문제점은 매수조건이면 손절이 발생한 같은 봉에서 재진입을 한다는 것입니다. 이런 현상을 막으려고 if (MarketPosition == 0 and (IsEntryName("매수",1) == false or IsExitName("StopLoss",1) == false)) or (MarketPosition == 1 and LatestEntryName(0) != "매수") and 매수조건 then &#160;buy("매수"); 이렇게도 해봤는데 그것도 잘 안됩니다.ㅠㅠ 감사합니다
시스템
답변 3
프로필 이미지

맘속의행복

2018-11-23 10:42:13

진입하여 손절(Stoploss)이발생하면 같은 포지션의 신호는 20개봉 동안 진입을 안 시키는 수식이 궁금합니다. 즉, "매수1"이라는 이름의 매수신호가 진입 후 손절이 발생하면 다른 매수신호들도 20개 봉 내에선 발생하지 않게 하는 것입니다. 감사합니다 > 맘속의행복 님이 쓴 글입니다. > 제목 : 진입횟수 > 안녕하세요. 1. 합성시스템에서 모든 매수 신호를 망라하고 매수신호는 오직 1번만 발생하게 하려면 어떻게 하는지 궁금합니다 2. 그리고 아래와 같은 식을 사용해왔는데 var&#160;:&#160;B1count(0); if&#160;Bdate&#160;!=&#160;Bdate[1]&#160;Then &#160;&#160;&#160;&#160;&#160;&#160;B1count&#160;=&#160;0; if&#160;CurrentContracts&#160;>&#160;CurrentContracts[1]&#160;and&#160;LatestEntryName(0)&#160;==&#160;"매수"&#160;Then &#160;&#160;&#160;&#160;&#160;&#160;B1count&#160;=&#160;B1count+1; if&#160;B1count&#160;<&#160;1&#160;and&#160;매수조건&#160;Then &#160;&#160;&#160;&#160;&#160;&#160;buy("매수"); 이 식의 문제점은 매수조건이면 손절이 발생한 같은 봉에서 재진입을 한다는 것입니다. 이런 현상을 막으려고 if (MarketPosition == 0 and (IsEntryName("매수",1) == false or IsExitName("StopLoss",1) == false)) or (MarketPosition == 1 and LatestEntryName(0) != "매수") and 매수조건 then &#160;buy("매수"); 이렇게도 해봤는데 그것도 잘 안됩니다.ㅠㅠ 감사합니다
프로필 이미지

예스스탁 예스스탁 답변

2018-11-27 10:04:49

안녕하세요? 아래식은 당일 매수와 매도를 각각 1회씩만 진입하도록 제한하는 예제 식입니다. #당일 매수/매도 각 1회씩 제한 Condition1 = CountIF(MarketPosition==1,dayindex+1) <> 0; Condition2 = CountIF(MarketPosition==-1,dayindex+1) <> 0; if Condition1 == false Then { if CrossUp(ma(C,5), ma(C,20)) Then buy(); } if Condition2 == false Then { if CrossDown(ma(C,5), ma(C,20)) Then sell(); } 김사합니다. > 맘속의행복 님이 쓴 글입니다. > 제목 : 진입횟수 > 안녕하세요. 1. 합성시스템에서 모든 매수 신호를 망라하고 매수신호는 오직 1번만 발생하게 하려면 어떻게 하는지 궁금합니다 2. 그리고 아래와 같은 식을 사용해왔는데 var&nbsp;:&nbsp;B1count(0); if&nbsp;Bdate&nbsp;!=&nbsp;Bdate[1]&nbsp;Then &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B1count&nbsp;=&nbsp;0; if&nbsp;CurrentContracts&nbsp;>&nbsp;CurrentContracts[1]&nbsp;and&nbsp;LatestEntryName(0)&nbsp;==&nbsp;"매수"&nbsp;Then &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B1count&nbsp;=&nbsp;B1count+1; if&nbsp;B1count&nbsp;<&nbsp;1&nbsp;and&nbsp;매수조건&nbsp;Then &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buy("매수"); 이 식의 문제점은 매수조건이면 손절이 발생한 같은 봉에서 재진입을 한다는 것입니다. 이런 현상을 막으려고 if (MarketPosition == 0 and (IsEntryName("매수",1) == false or IsExitName("StopLoss",1) == false)) or (MarketPosition == 1 and LatestEntryName(0) != "매수") and 매수조건 then &nbsp;buy("매수"); 이렇게도 해봤는데 그것도 잘 안됩니다.ㅠㅠ 감사합니다
프로필 이미지

예스스탁 예스스탁 답변

2018-11-27 10:16:12

안녕하세요? 매수 포지션 손절 후 20봉 동안 매수진입 금지 예제 식입니다. if IsExitName("StopLoss",1) Then { if countif(MarketPosition == 1, 20) == 0 Then { if Crossup(ma(C,3), ma(C,10)) Then buy(); } } else if Crossup(ma(C,3), ma(C,10)) Then buy(); if Crossdown(ma(C,3), ma(C,10)) Then ExitLong(); setstoploss(1); 감사합니다. > 맘속의행복 님이 쓴 글입니다. > 제목 : 추가질문입니다 > 진입하여 손절(Stoploss)이발생하면 같은 포지션의 신호는 20개봉 동안 진입을 안 시키는 수식이 궁금합니다. 즉, "매수1"이라는 이름의 매수신호가 진입 후 손절이 발생하면 다른 매수신호들도 20개 봉 내에선 발생하지 않게 하는 것입니다. 감사합니다 > 맘속의행복 님이 쓴 글입니다. > 제목 : 진입횟수 > 안녕하세요. 1. 합성시스템에서 모든 매수 신호를 망라하고 매수신호는 오직 1번만 발생하게 하려면 어떻게 하는지 궁금합니다 2. 그리고 아래와 같은 식을 사용해왔는데 var&nbsp;:&nbsp;B1count(0); if&nbsp;Bdate&nbsp;!=&nbsp;Bdate[1]&nbsp;Then &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B1count&nbsp;=&nbsp;0; if&nbsp;CurrentContracts&nbsp;>&nbsp;CurrentContracts[1]&nbsp;and&nbsp;LatestEntryName(0)&nbsp;==&nbsp;"매수"&nbsp;Then &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B1count&nbsp;=&nbsp;B1count+1; if&nbsp;B1count&nbsp;<&nbsp;1&nbsp;and&nbsp;매수조건&nbsp;Then &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;buy("매수"); 이 식의 문제점은 매수조건이면 손절이 발생한 같은 봉에서 재진입을 한다는 것입니다. 이런 현상을 막으려고 if (MarketPosition == 0 and (IsEntryName("매수",1) == false or IsExitName("StopLoss",1) == false)) or (MarketPosition == 1 and LatestEntryName(0) != "매수") and 매수조건 then &nbsp;buy("매수"); 이렇게도 해봤는데 그것도 잘 안됩니다.ㅠㅠ 감사합니다