커뮤니티

안녕하세요 질문드립니다.

프로필 이미지
말라
2021-07-23 00:52:28
1096
글번호 151006
답변완료
안녕하세요 항상 답변에 감사함을 느낍니다. 질문드리겠습니다. 허접합니다 ㅍ.ㅍ 질문은 총 4개라 많은데요 단순한 질문들이니 길어도 답변 부탁드려봅니다 질문1. 그전 질문에 대한 답변을 받았는데 다른부분은 이해가 잘 갑니다. 근데 이부분이 이해가 잘 안되는데요 왜 앞에는 소문자 b를 쓰고 뒤는 대문자 B를 썼는지요... 뭐가 다른건지 아니면 아무상관없는건지요 알려주세요 ----------------------------- var : bidx1(0),Bidx2(0); 이하 청산관련 내용 그리고 bidx1 = 0; Bidx2 = 0; ---------------------------- 질문2. 보통 시스템식은 1회진입으로 알고있는데요 진입후 청산이 되기전에 재진입이 안되게 하고싶어요 즉, 청산후에만 재진입이 되겠금하고 싶어요 이렇게 작성 하면 청산전 재진입이 안되나요? 만약 틀렸다면 고쳐주세요 제가 쓰는 식입니다. var : A1(False),A2(False),A3(False),A4(False),A5(False),A6(False),A7(False),A8(False),A9(False),A10(False),A11(False),A12(False),A13(False),A14(False),A15(False),A16(False), A17(False),A18(False),A19(False),A20(False),A21(False),A22(False),A23(False),A24(False),A25(False),A26(False),A27(False),A28(False),A29(False),A30(False),A31(False), A32(False),A33(False),A34(False),A35(False),A36(False),A37(False),A38(False),A39(False),A40(False),A41(False),A42(False),A43(False),A44(False),A45(False),A46(False), A47(False),A48(False),A49(False),A50(False),A51(False),A52(False),A53(False),A54(False),A55(False),A56(False),A57(False),A58(False),A59(False),A60(False),A61(False), A62(False),A63(False),A64(False),A65(False),A66(False),A67(False),A68(False),A69(False),A70(False),A71(False),A72(False),A73(False),A74(False),A75(False),A76(False), A77(False),A78(False),A79(False),A80(False),A81(False),A82(False),A83(False),A84(False),A85(False),A86(False),A87(False),A88(False),A89(False),A90(False),A91(False), A92(False),A93(False),A94(False),A95(False),A96(False),A97(False),A98(False),A99(False),A100(False),A101(False),A102(False),A103(False),A104(False),A105(False),A106(False); A1= 매수식(길어서생략) A2= 상동 . . . A106=상동 IF A1 or A2 or A3 or A4 or A5 or A6 or A7 or A8 or A9 or A10 or A11 or A12 or A13 or A14 or A15 or A16 or A17 or A18 or A19 or A20 or A21 or A22 or A23 or A24 or A25 or A26 or A27 or A28 or A29 or A30 or A31 or A32 or A33 or A34 or A35 or A36 or A37 or A38 or A39 or A40 or A41 or A42 or A43 or A44 or A45 or A46 or A47 or A48 or A49 or A50 or A51 or A52 or A53 or A54 or A55 or A56 or A57 or A58 or A59 or A60 or A61 or A62 or A63 or A64 or A65 or A66 or A67 or A68 or A69 or A70 or A71 or A72 or A73 or A74 or A75 or A76 or A77 or A78 or A79 or A80 or A81 or A82 or A83 or A84 or A85 or A86 or A87 or A88 or A89 or A90 or A91 or A92 or A93 or A94 or A95 or A96 or A97 or A98 or A99 or A100 or A101 or A102 or A103 or A104 or A105 or A106 then Buy("Z"); Var : ZPrice(0),Zhigh(0); Var : Bidx1(0); if MarketPosition == 1 Then { #Z진입 발생 #보유수량이 증가하고 최근 발생한 진입명이 Z이면 if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "Z" Then { #진입가 저장 ZPrice = LatestEntryPrice(0); #진입이후 최고가의 초기값으로 현재봉 고가저장 Zhigh = H; } #새로운 고가가 발생하면 변수의 값을 새로운 고가를 변경 if Zhigh > 0 and H > Zhigh Then Zhigh = H; if A1.3Price > 0 Then { #45% 수익이면 청산 ExitLong("C1",AtLimit,ZPrice*1.45,"Z"); #35% 이상 수익이후에 10% 하락하면 청산 if Zhigh >= ZPrice*1.35 Then ExitLong("C2",AtStop,A1high*0.90,"Z"); #6% 손실시 청산 ExitLong("C3",AtStop,ZPrice*0.94,"Z"); } if ZPrice > 0 Then { Bidx1 = Bidx1+1; if Bidx1 == 1540 Then ExitLong("bx1",OnClose,DEf,"Z"); } } Else { ZPrice = 0; Zhigh = 0; Bidx1 = 0; } 질문3. 1540봉뒤에 청산하라는 식이 이걸로 알고있는데요 if MarketPosition == 1 and BarsSinceEntry == 1540 Then ExitLong("청산명칭"); 아래의 식도 1540봉뒤에 청산하라는 식으로 알고있습니다. { Bidx1 = Bidx1+1; if Bidx1 == 1540 Then ExitLong("청산명칭",OnClose,DEf,"Z"); } 현재 질문2에서 작성한 것처럼 저는 아래의 식으로 작성해서 쓰려고하는데 위의 식이 아닌 아래의 식으로 쓰는게 맞는건가요? 질문4. 질문3에 적어논 청산명칭은 중복되는 명칭이 아닌한 제 임의로 적어도 되나요?
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2021-07-23 10:21:42

안녕하세요 예스스탁입니다. 1 다른 부분은 없습니다. 랭귀지는 대소문자 구분을 하지 않습니다. 단지 작성상에 다르게 작성된것일뿐입니다. 모두 소문자나 대문자로 변경하셔도 됩니다. 2 진입식에 MarketPosition == 0 조건을 추가하시면 됩니다. 추가진입을 하는 경우에는 추가진입하는 로직을 만들고 차트에 적용할 때 시스템 트레이딩 설정창의 피라미딩탭에서 피라미딩을 설정을 해야만 추가진입을 합니다. 시스템은 기본설정이 추가진입을 하지 않습니다. 3 위에 식은 단지 첫진입이후에 1540번째 봉에 청산한다는 내용입니다. 각 진입별로 1540봉째에 청산하고자 하시면 아래식으로 지정하셔야 합니다. 즉 1회 매수진입후 청산으로 전략을 구현하시면 위의식이나 아래식 아무거나 사용하시면 되지만 매수를 분할해서 여러번 진입하고 각 진입별로 구현하시면 아래식 개념을 사용해서 각 진입별로 지정되게 구현하셔야 합니다. 4 각 신호의 명은 임의로 지정하시면 됩니다. 즐거운 하루되세요 > 말라 님이 쓴 글입니다. > 제목 : 안녕하세요 질문드립니다. > 안녕하세요 항상 답변에 감사함을 느낍니다. 질문드리겠습니다. 허접합니다 ㅍ.ㅍ 질문은 총 4개라 많은데요 단순한 질문들이니 길어도 답변 부탁드려봅니다 질문1. 그전 질문에 대한 답변을 받았는데 다른부분은 이해가 잘 갑니다. 근데 이부분이 이해가 잘 안되는데요 왜 앞에는 소문자 b를 쓰고 뒤는 대문자 B를 썼는지요... 뭐가 다른건지 아니면 아무상관없는건지요 알려주세요 ----------------------------- var : bidx1(0),Bidx2(0); 이하 청산관련 내용 그리고 bidx1 = 0; Bidx2 = 0; ---------------------------- 질문2. 보통 시스템식은 1회진입으로 알고있는데요 진입후 청산이 되기전에 재진입이 안되게 하고싶어요 즉, 청산후에만 재진입이 되겠금하고 싶어요 이렇게 작성 하면 청산전 재진입이 안되나요? 만약 틀렸다면 고쳐주세요 제가 쓰는 식입니다. var : A1(False),A2(False),A3(False),A4(False),A5(False),A6(False),A7(False),A8(False),A9(False),A10(False),A11(False),A12(False),A13(False),A14(False),A15(False),A16(False), A17(False),A18(False),A19(False),A20(False),A21(False),A22(False),A23(False),A24(False),A25(False),A26(False),A27(False),A28(False),A29(False),A30(False),A31(False), A32(False),A33(False),A34(False),A35(False),A36(False),A37(False),A38(False),A39(False),A40(False),A41(False),A42(False),A43(False),A44(False),A45(False),A46(False), A47(False),A48(False),A49(False),A50(False),A51(False),A52(False),A53(False),A54(False),A55(False),A56(False),A57(False),A58(False),A59(False),A60(False),A61(False), A62(False),A63(False),A64(False),A65(False),A66(False),A67(False),A68(False),A69(False),A70(False),A71(False),A72(False),A73(False),A74(False),A75(False),A76(False), A77(False),A78(False),A79(False),A80(False),A81(False),A82(False),A83(False),A84(False),A85(False),A86(False),A87(False),A88(False),A89(False),A90(False),A91(False), A92(False),A93(False),A94(False),A95(False),A96(False),A97(False),A98(False),A99(False),A100(False),A101(False),A102(False),A103(False),A104(False),A105(False),A106(False); A1= 매수식(길어서생략) A2= 상동 . . . A106=상동 IF A1 or A2 or A3 or A4 or A5 or A6 or A7 or A8 or A9 or A10 or A11 or A12 or A13 or A14 or A15 or A16 or A17 or A18 or A19 or A20 or A21 or A22 or A23 or A24 or A25 or A26 or A27 or A28 or A29 or A30 or A31 or A32 or A33 or A34 or A35 or A36 or A37 or A38 or A39 or A40 or A41 or A42 or A43 or A44 or A45 or A46 or A47 or A48 or A49 or A50 or A51 or A52 or A53 or A54 or A55 or A56 or A57 or A58 or A59 or A60 or A61 or A62 or A63 or A64 or A65 or A66 or A67 or A68 or A69 or A70 or A71 or A72 or A73 or A74 or A75 or A76 or A77 or A78 or A79 or A80 or A81 or A82 or A83 or A84 or A85 or A86 or A87 or A88 or A89 or A90 or A91 or A92 or A93 or A94 or A95 or A96 or A97 or A98 or A99 or A100 or A101 or A102 or A103 or A104 or A105 or A106 then Buy("Z"); Var : ZPrice(0),Zhigh(0); Var : Bidx1(0); if MarketPosition == 1 Then { #Z진입 발생 #보유수량이 증가하고 최근 발생한 진입명이 Z이면 if CurrentContracts > CurrentContracts[1] and LatestEntryName(0) == "Z" Then { #진입가 저장 ZPrice = LatestEntryPrice(0); #진입이후 최고가의 초기값으로 현재봉 고가저장 Zhigh = H; } #새로운 고가가 발생하면 변수의 값을 새로운 고가를 변경 if Zhigh > 0 and H > Zhigh Then Zhigh = H; if A1.3Price > 0 Then { #45% 수익이면 청산 ExitLong("C1",AtLimit,ZPrice*1.45,"Z"); #35% 이상 수익이후에 10% 하락하면 청산 if Zhigh >= ZPrice*1.35 Then ExitLong("C2",AtStop,A1high*0.90,"Z"); #6% 손실시 청산 ExitLong("C3",AtStop,ZPrice*0.94,"Z"); } if ZPrice > 0 Then { Bidx1 = Bidx1+1; if Bidx1 == 1540 Then ExitLong("bx1",OnClose,DEf,"Z"); } } Else { ZPrice = 0; Zhigh = 0; Bidx1 = 0; } 질문3. 1540봉뒤에 청산하라는 식이 이걸로 알고있는데요 if MarketPosition == 1 and BarsSinceEntry == 1540 Then ExitLong("청산명칭"); 아래의 식도 1540봉뒤에 청산하라는 식으로 알고있습니다. { Bidx1 = Bidx1+1; if Bidx1 == 1540 Then ExitLong("청산명칭",OnClose,DEf,"Z"); } 현재 질문2에서 작성한 것처럼 저는 아래의 식으로 작성해서 쓰려고하는데 위의 식이 아닌 아래의 식으로 쓰는게 맞는건가요? 질문4. 질문3에 적어논 청산명칭은 중복되는 명칭이 아닌한 제 임의로 적어도 되나요?