커뮤니티

수식 문의드립니다.

프로필 이미지
만법귀일
2015-03-27 15:04:50
202
글번호 84489
답변완료
안녕하세요.. 늘 친절한 답변에 감사드립니다. 다름이 아니라 아래와 같이 식을 작성하고 시스템트레이딩 설정창에서 피라미딩을 모든 진입 신호 허용으로 하고 강제청산에서 손절을 48핍 그리고 익절을 34핍 설정해주었습니다. 조건만족 즉시로 해주었습니다. Input : Period(9), LPercent(48), LPercent1(32); Var : value(0); value = RSI(Period); # 매수 If CrossDown(value, LPercent) Then { Buy(); } If CrossUp(value, LPercent1) Then { ExitLong(); } 질문은 다음과 같습니다. 1. 진입조건이 되었을 때 해당 봉의 종가로 매수주문이 나가면서 동시에 지정가로 해당 봉의 종가보다 50핍 아래로 주문이 나가게 하려면 어떻게 수식을 작성해야 하나요? 아니면 해당 봉의 종가보다 50핍 아래 하락이 발생한 봉의 종가로 주문이 나가게 하려면 어떻게 해야 하나요? 2. 시스템설정창에서 설정하는 것 말고 수식으로 익절과 손절을 설정해주려면 어떻게 코딩을 해야 하는지요? 수식으로 익절과 손절을 설정해주는 경우에는 조건가격이 되었을 때 즉시청산되게 할 수는 없나요? 꼭 해당 봉이 완성된 다음에 주문이 나가야 하나요? 3. 그리고 매수1번, 매수2번, 매수3번이 피라미딩으로 계속 진입이 되었을 때 매수1번과 매수2번은 익절 조건이 되지 않았지만 매수3번이 매수1번이나 매수2번보다 난은 가격으로 진입이 되어 익절 조건이 먼저 되어 청산할 때 아직 익절조건이 되지 않은 모든 매수진입을 다 함께 매수3번의 청산가격으로 같이 청산되게 하려면 어떻게 수식을 작성해야 하는지요? 이렇게 하려면 시스템트레이딩 설정창에서 손절과 익절을 설정하면 안 되고 손절과 익절을 모두 수식으로 작성을 해주어야 하나요? 감사합니다...
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-03-27 16:02:57

안녕하세요 예스스탁입니다. 1. 피라미딩상 모든 신호에 대해 50틱 이하를 감시하게 할수는 없습니다. 매수조건 만족하면 진입하고 다음 매수조건으로 추가매수 되기 전까지만 50틱이하를 감시합니다. Input : Period(9), LPercent(48), LPercent1(32); Var : LL(0),value(0); value = RSI(Period); # 매수 If CrossDown(value, LPercent) Then { Buy("B1"); Buy("B2",atlimit,C-PriceScale*50); } if MarketPosition == 1 Then{ if CurrentContracts > CurrentContracts[1] Then LL = L; if L < LL Then LL = L; if LL > LatestEntryPrice(0)-PriceScale*50 Then buy("b",atlimit,LatestEntryPrice(0)-PriceScale*50); } If CrossUp(value, LPercent1) Then { ExitLong(); } 2. 일반청산함수로도 특정가격 터치시 신호를 발생할수 있습니다. 다만 피라미딩을 이용하시고 진입별로 청산을 해야 하므로 설정창이나 강제청산함수를 이용하셔야 합니다. 일반청산함수(exitlong,exitshort)로는 가능하지 않습니다. 설정창에서 설정하시거나 혹은 수식안에서 아래와 같이 강제청산함수로 지정하시면 됩니다. SetStopProfittarget(PriceScale*34,PointStop); SetStoploss(PriceScale*48,PointStop); 즉 강제청산은 수식안에서 강제청산함수를 이용하거나 설정창에서 설정하거나 두가지 중 하나를 선택하시면 됩니다,. 수식에서 강제청산함수를 사용하시면 설정창에서 해당 강제청산은 설정을 하지 못하게 막히게 됩니다. 3. 3번 내용은 피라미딩상 가장 낮은 진입가격에서 일정이상 상승하면 전체 청산하는것과 같습니다 강제청산함수로는 해당 내용 설정이 되지 않고 아래와 같이 풀어서 작성하셔야 합니다. if MarketPosition == 1 Then{ #피라미딩되는 진입중 가장 낮은 진입가격 계산 if MaxEntries == 1 and CurrentContracts > CurrentContracts[1] Then lowEntry = LatestEntryPrice(0); if MaxEntries >= 2 and CurrentContracts > CurrentContracts and LatestEntryPrice(0) < lowEntry Then lowEntry = LatestEntryPrice(0); #가장 낮은 진입가격대비 34틱 상승하면 즉시 전량 청산 ExitLong("bx",atlimit,LowEntry+PriceScale*34); } 즐거운 하루되세요 > 만법귀일 님이 쓴 글입니다. > 제목 : 수식 문의드립니다. > 안녕하세요.. 늘 친절한 답변에 감사드립니다. 다름이 아니라 아래와 같이 식을 작성하고 시스템트레이딩 설정창에서 피라미딩을 모든 진입 신호 허용으로 하고 강제청산에서 손절을 48핍 그리고 익절을 34핍 설정해주었습니다. 조건만족 즉시로 해주었습니다. Input : Period(9), LPercent(48), LPercent1(32); Var : value(0); value = RSI(Period); # 매수 If CrossDown(value, LPercent) Then { Buy(); } If CrossUp(value, LPercent1) Then { ExitLong(); } 질문은 다음과 같습니다. 1. 진입조건이 되었을 때 해당 봉의 종가로 매수주문이 나가면서 동시에 지정가로 해당 봉의 종가보다 50핍 아래로 주문이 나가게 하려면 어떻게 수식을 작성해야 하나요? 아니면 해당 봉의 종가보다 50핍 아래 하락이 발생한 봉의 종가로 주문이 나가게 하려면 어떻게 해야 하나요? 2. 시스템설정창에서 설정하는 것 말고 수식으로 익절과 손절을 설정해주려면 어떻게 코딩을 해야 하는지요? 수식으로 익절과 손절을 설정해주는 경우에는 조건가격이 되었을 때 즉시청산되게 할 수는 없나요? 꼭 해당 봉이 완성된 다음에 주문이 나가야 하나요? 3. 그리고 매수1번, 매수2번, 매수3번이 피라미딩으로 계속 진입이 되었을 때 매수1번과 매수2번은 익절 조건이 되지 않았지만 매수3번이 매수1번이나 매수2번보다 난은 가격으로 진입이 되어 익절 조건이 먼저 되어 청산할 때 아직 익절조건이 되지 않은 모든 매수진입을 다 함께 매수3번의 청산가격으로 같이 청산되게 하려면 어떻게 수식을 작성해야 하는지요? 이렇게 하려면 시스템트레이딩 설정창에서 손절과 익절을 설정하면 안 되고 손절과 익절을 모두 수식으로 작성을 해주어야 하나요? 감사합니다...