커뮤니티

글번호47186번 재질문

프로필 이미지
통큰베팅
2016-04-19 07:08:29
105
글번호 97213
답변완료
안녕하세요? 글번호 47186번 재질문입니다. 답변 주신 아래의 스크립트에서 첫진입때 "if TT-T1 == 0 and var3 < 102"와 "if TT-T1 == 0 and var3 > 98" 일 때만 진입을 제거하고 싶습니다. 기존에 작성해주신 식으로는 나중에 나오는 신호까지 바뀌어 버립니다. 첫진입의 수량을 0으로 하여 나중에 나오는 신호에 대해서는 신호가 왜곡되지 않게 하고 싶습니다. 수량으로 컨트롤이 되지 않는다면 체결이 되지 않는 지정가 가격으로 주문을 생성하면 될 것 같습니다. (가령 유로화를 사자는 0.1달로로, 팔자는 10달러로) input : starttime(70000), xtime(60000); var : tcond(false),cond1(false),cond2(false),TT(0),T1(0); if stime == starttime or (stime > starttime and stime[1] < starttime) Then{ Tcond = true; Condition1 = false; Condition2 = false; } if stime == xtime or (stime > xtime and stime[1] < Xtime) Then{ Tcond = false; } var1 = ma(c,5); var2 = ma(c,20); var3 = Disparity(20); cond1 = C > var1 and var1 > var2; cond2 = C < var1 and var1 < var2; if MarketPosition == 0 Then TT = TotalTrades; Else TT = TotalTrades+1; if crossup(var1,var2) or CrossDown(var1,var2) Then T1 = TT; if cond1 == true and cond1[1] == false then Condition1 = true; if cond2 == true and cond2[1] == false then Condition2 = true; if Tcond == true And Condition1 == true and cond1 == true and var1 > var1[1] and var2 > var2[1] Then{ if TT-T1 == 0 and var3 < 102 Then buy(); #첫진입이 아닐때 if TT-T1 > 0 Then buy(); } if Tcond == true And Condition2 == true and Cond2 == true and var1 < var1[1] and var2 < var2[1] Then{ if TT-T1 == 0 and var3 > 98 Then sell(); if TT-TT == 0 Then sell(); }
시스템
답변 2
프로필 이미지

통큰베팅

2016-04-19 07:05:59

통큰베팅 님에 의해 삭제된 답변입니다.
프로필 이미지

예스스탁 예스스탁 답변

2016-04-19 11:48:44

안녕하세요 예스스탁입니다. 문의하신 내용은 가능하지 않습니다 주문함수의 수량이 0이면 신호가 발생되지 않고 신호가 발생하면 설정창의 매매가격으로 주문이 되므로 수식안에서 주문가격으로 컨트롤도 가능하지 않습니다. 신호가 발생하지 않으면 신호로 산정되는 거래횟수도 증감이 없게 되어 수식이 동작하지 않게 됩니다. 가상으로 체크하는 방법뿐이 없는데 해당 부분은 신호를 하나 건너뛰므로 이전과 같이 이후의 신호에 영향을 주어 변경되는 것을 막을수 없습니다. 즐거운 하루되세요 > 통큰베팅 님이 쓴 글입니다. > 제목 : 글번호47186번 재질문 > 안녕하세요? 글번호 47186번 재질문입니다. 답변 주신 아래의 스크립트에서 첫진입때 "if TT-T1 == 0 and var3 < 102"와 "if TT-T1 == 0 and var3 > 98" 일 때만 진입을 제거하고 싶습니다. 기존에 작성해주신 식으로는 나중에 나오는 신호까지 바뀌어 버립니다. 첫진입의 수량을 0으로 하여 나중에 나오는 신호에 대해서는 신호가 왜곡되지 않게 하고 싶습니다. 수량으로 컨트롤이 되지 않는다면 체결이 되지 않는 지정가 가격으로 주문을 생성하면 될 것 같습니다. (가령 유로화를 사자는 0.1달로로, 팔자는 10달러로) input : starttime(70000), xtime(60000); var : tcond(false),cond1(false),cond2(false),TT(0),T1(0); if stime == starttime or (stime > starttime and stime[1] < starttime) Then{ Tcond = true; Condition1 = false; Condition2 = false; } if stime == xtime or (stime > xtime and stime[1] < Xtime) Then{ Tcond = false; } var1 = ma(c,5); var2 = ma(c,20); var3 = Disparity(20); cond1 = C > var1 and var1 > var2; cond2 = C < var1 and var1 < var2; if MarketPosition == 0 Then TT = TotalTrades; Else TT = TotalTrades+1; if crossup(var1,var2) or CrossDown(var1,var2) Then T1 = TT; if cond1 == true and cond1[1] == false then Condition1 = true; if cond2 == true and cond2[1] == false then Condition2 = true; if Tcond == true And Condition1 == true and cond1 == true and var1 > var1[1] and var2 > var2[1] Then{ if TT-T1 == 0 and var3 < 102 Then buy(); #첫진입이 아닐때 if TT-T1 > 0 Then buy(); } if Tcond == true And Condition2 == true and Cond2 == true and var1 < var1[1] and var2 < var2[1] Then{ if TT-T1 == 0 and var3 > 98 Then sell(); if TT-TT == 0 Then sell(); }