커뮤니티

추가 문의 드립니다.

프로필 이미지
크레용빠
2015-01-07 10:43:09
129
글번호 81973
답변완료
안녕하세요? 답변 감사드립니다. 추가적으로 문의 드립니다. 아래와 동일한 피라미딩 조건하에서 ... 개별 진입후 1포인트 이상 2포인트 미만 상승시에는 0.5포인트 되돌림 있으면 개별 익절 개별 진입후 2포인트 이상 3포인트 미만 상승시에는 1포인트 되돌림 있으면 개별 익절... 하는 수식 부탁드립니다. 혹시 아래 알려주신 대로 setstoptrailing(0.5,1,PointStop); setstoptrailing(1,2,PointStop); 이렇게 쓰면 단계별로 청산이 되는건가요? > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식 문의 드립니다. > 안녕하세요 예스스탁입니다. 1. 청산에 수량을 따로 지정하지 않으면 전량청산입니다. 분할로 청산하기 위해서는 청산함수에 수량이 지정이 되어야 합니다. 2. 진입별로 트레일링스탑을 걸기위해서는 강제청산함수중 SetStopTrailing함수를 이용하면 간단히 작성됩니다. 다만 SetStopTrailing함수는 최소수익과 수익감소를 모두 %나 혹은 모두 pt로만 지정이 됩니다. SetStopTrailing(0.5,1,PointStop);#1포인트 이상 수익이후에 0.5포인트 수익감소하면 청산 SetStopTrailing(50,1,PointStop);#1%이상 수익이후에 50% 수익감소하면 청산 3. pt와 %를 혼합하면 수식에서 풀어서 작성해야 하는데 피라미딩횟수별로 나열해서 작성하셔야 합니다. 3회까지만 작성해 드립니다. var : H1(0),E1(0),H2(0),E2(0),H3(0),E3(0); if dayindex == 0 Then buy(); if dayindex == 2 Then buy(); if dayindex == 4 Then buy(); if MarketPosition == 1 Then{ #첫번째진입 if MaxEntries == 1 and CurrentContracts > CurrentContracts[1] Then{ H1 = H; E1 = LatestEntryPrice(0); Condition1 = false; } if H > H1 Then H1 = H; if MaxEntries >= 1 and H1 >= E1+1 Then{ if L <= H1-(H1-E1)*0.5 Then Condition1 = true; if Condition1 == false then ExitLong("bx1",AtStop,H1-(H1-E1)*0.5,"",1,1); } #두번째진입 if MaxEntries == 2 and CurrentContracts > CurrentContracts[1] Then{ H2 = H; E2 = LatestEntryPrice(0); Condition2 = false; } if H > H2 Then H2 = H; if MaxEntries >= 2 and H2 >= E2+1 Then{ if L <= H2-(H2-E2)*0.5 Then Condition2 = true; if Condition2 == false Then ExitLong("bx2",AtStop,H2-(H2-E2)*0.5,"",1,1); } #세번째진입 if MaxEntries == 3 and CurrentContracts > CurrentContracts[1] Then{ H3 = H; E3 = LatestEntryPrice(0); Condition3 = false; } if H > H3 Then H3 = H; if MaxEntries >= 3 and H3 >= E3+1 Then{ if L <= H3-(H3-E3)*0.5 Then Condition3 = true; if Condition3 == false Then ExitLong("bx3",AtStop,H3-(H3-E3)*0.5,"",1,1); } } Else{ Condition1 = false; Condition2 = false; Condition3 = false; } 즐거운 하루되시고 새해 좋은일만 가득하시기 바랍니다. > 크레용빠 님이 쓴 글입니다. > 제목 : 수식 문의 드립니다. > if 매수조건 then buy() 이런 조건 하에 피라미딩 매수 3계약 이루어졌다고 가정한 후, 각각의 진입 가격별로 1포인트 상승시 고점대비 50% 되돌아오면 청산하게끔 하는 식을 부탁드립니다. 부연 설명 드리면, 첫번째 진입 가격은 250, 두번째 진입 가격은 250.30, 세번째 진입 가격은 251 이고.. 그 후 가격 움직임이 251을 찍고 250.50이라고 하면 첫번째 진입은 청산이 되고 두번째, 세번째 진입은 미청산이 되도록 하고 싶습니다. 제가 만든 아래의 수식으로는 if MarketPosition == 1 Then{ var1 = highest(H,BarsSinceEntry); if var1 >= EntryPrice+1.0 Then ExitLong("bx1",AtStop,var1-(var1-EntryPrice)*0.5); 250.50에서 첫번째 진입 뿐 아니라, 두번째 세번째 진입도 한꺼번에 다 청산이 되네요. - - a 아. 그리고 새해 복 많이 받으세요. ^^
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-01-07 13:52:38

안녕하세요 예스스탁입니다. 문의하신 부분은 이전에 나열한 식과 같이 작성해야 합니다. 강제청산은 한가지 옵션으로만 적용이 됩니다. var : H1(0),E1(0),H2(0),E2(0),H3(0),E3(0); if dayindex == 0 Then buy(); if dayindex == 2 Then buy(); if dayindex == 4 Then buy(); if MarketPosition == 1 Then{ #첫번째진입 if MaxEntries == 1 and CurrentContracts > CurrentContracts[1] Then{ H1 = H; E1 = LatestEntryPrice(0); Condition1 = false; } if H > H1 Then H1 = H; if MaxEntries >= 1 and H1 >= E1+1 and H1 <= E1+2 Then{ if L <= H1-0.5 Then Condition1 = true; if Condition1 == false then ExitLong("bx11",AtStop,H1-0.5,"",1,1); } if MaxEntries >= 1 and H1 >= E1+2 Then{ if L <= H1-1.0 Then Condition1 = true; if Condition1 == false then ExitLong("bx12",AtStop,H1-1.0,"",1,1); } #두번째진입 if MaxEntries == 2 and CurrentContracts > CurrentContracts[1] Then{ H2 = H; E2 = LatestEntryPrice(0); Condition2 = false; } if H > H2 Then H2 = H; if MaxEntries >= 1 and H2 >= E2+1 and H2 <= E2+2 Then{ if L <= H2-0.5 Then Condition2 = true; if Condition2 == false then ExitLong("bx21",AtStop,H2-0.5,"",1,1); } if MaxEntries >= 1 and H2 >= E2+2 Then{ if L <= H2-1.0 Then Condition2 = true; if Condition2 == false then ExitLong("bx22",AtStop,H2-1.0,"",1,1); } #세번째진입 if MaxEntries == 3 and CurrentContracts > CurrentContracts[1] Then{ H3 = H; E3 = LatestEntryPrice(0); Condition3 = false; } if H > H3 Then H3 = H; if MaxEntries >= 1 and H3 >= E3+1 and H3 <= E3+2 Then{ if L <= H3-0.5 Then Condition3 = true; if Condition3 == false then ExitLong("bx31",AtStop,H3-0.5,"",1,1); } if MaxEntries >= 1 and H3 >= E3+2 Then{ if L <= H3-1.0 Then Condition3 = true; if Condition3 == false then ExitLong("bx32",AtStop,H3-1.0,"",1,1); } } Else{ Condition1 = false; Condition2 = false; Condition3 = false; } 즐거운 하루되세요 > 크레용빠 님이 쓴 글입니다. > 제목 : 추가 문의 드립니다. > 안녕하세요? 답변 감사드립니다. 추가적으로 문의 드립니다. 아래와 동일한 피라미딩 조건하에서 ... 개별 진입후 1포인트 이상 2포인트 미만 상승시에는 0.5포인트 되돌림 있으면 개별 익절 개별 진입후 2포인트 이상 3포인트 미만 상승시에는 1포인트 되돌림 있으면 개별 익절... 하는 수식 부탁드립니다. 혹시 아래 알려주신 대로 setstoptrailing(0.5,1,PointStop); setstoptrailing(1,2,PointStop); 이렇게 쓰면 단계별로 청산이 되는건가요? > 예스스탁 님이 쓴 글입니다. > 제목 : Re : 수식 문의 드립니다. > 안녕하세요 예스스탁입니다. 1. 청산에 수량을 따로 지정하지 않으면 전량청산입니다. 분할로 청산하기 위해서는 청산함수에 수량이 지정이 되어야 합니다. 2. 진입별로 트레일링스탑을 걸기위해서는 강제청산함수중 SetStopTrailing함수를 이용하면 간단히 작성됩니다. 다만 SetStopTrailing함수는 최소수익과 수익감소를 모두 %나 혹은 모두 pt로만 지정이 됩니다. SetStopTrailing(0.5,1,PointStop);#1포인트 이상 수익이후에 0.5포인트 수익감소하면 청산 SetStopTrailing(50,1,PointStop);#1%이상 수익이후에 50% 수익감소하면 청산 3. pt와 %를 혼합하면 수식에서 풀어서 작성해야 하는데 피라미딩횟수별로 나열해서 작성하셔야 합니다. 3회까지만 작성해 드립니다. var : H1(0),E1(0),H2(0),E2(0),H3(0),E3(0); if dayindex == 0 Then buy(); if dayindex == 2 Then buy(); if dayindex == 4 Then buy(); if MarketPosition == 1 Then{ #첫번째진입 if MaxEntries == 1 and CurrentContracts > CurrentContracts[1] Then{ H1 = H; E1 = LatestEntryPrice(0); Condition1 = false; } if H > H1 Then H1 = H; if MaxEntries >= 1 and H1 >= E1+1 Then{ if L <= H1-(H1-E1)*0.5 Then Condition1 = true; if Condition1 == false then ExitLong("bx1",AtStop,H1-(H1-E1)*0.5,"",1,1); } #두번째진입 if MaxEntries == 2 and CurrentContracts > CurrentContracts[1] Then{ H2 = H; E2 = LatestEntryPrice(0); Condition2 = false; } if H > H2 Then H2 = H; if MaxEntries >= 2 and H2 >= E2+1 Then{ if L <= H2-(H2-E2)*0.5 Then Condition2 = true; if Condition2 == false Then ExitLong("bx2",AtStop,H2-(H2-E2)*0.5,"",1,1); } #세번째진입 if MaxEntries == 3 and CurrentContracts > CurrentContracts[1] Then{ H3 = H; E3 = LatestEntryPrice(0); Condition3 = false; } if H > H3 Then H3 = H; if MaxEntries >= 3 and H3 >= E3+1 Then{ if L <= H3-(H3-E3)*0.5 Then Condition3 = true; if Condition3 == false Then ExitLong("bx3",AtStop,H3-(H3-E3)*0.5,"",1,1); } } Else{ Condition1 = false; Condition2 = false; Condition3 = false; } 즐거운 하루되시고 새해 좋은일만 가득하시기 바랍니다. > 크레용빠 님이 쓴 글입니다. > 제목 : 수식 문의 드립니다. > if 매수조건 then buy() 이런 조건 하에 피라미딩 매수 3계약 이루어졌다고 가정한 후, 각각의 진입 가격별로 1포인트 상승시 고점대비 50% 되돌아오면 청산하게끔 하는 식을 부탁드립니다. 부연 설명 드리면, 첫번째 진입 가격은 250, 두번째 진입 가격은 250.30, 세번째 진입 가격은 251 이고.. 그 후 가격 움직임이 251을 찍고 250.50이라고 하면 첫번째 진입은 청산이 되고 두번째, 세번째 진입은 미청산이 되도록 하고 싶습니다. 제가 만든 아래의 수식으로는 if MarketPosition == 1 Then{ var1 = highest(H,BarsSinceEntry); if var1 >= EntryPrice+1.0 Then ExitLong("bx1",AtStop,var1-(var1-EntryPrice)*0.5); 250.50에서 첫번째 진입 뿐 아니라, 두번째 세번째 진입도 한꺼번에 다 청산이 되네요. - - a 아. 그리고 새해 복 많이 받으세요. ^^