커뮤니티

초보 수식질문드립니다...

프로필 이미지
옵션
2008-11-04 08:47:55
868
글번호 17851
답변완료
Input : E1(25), E2(40), E3(60), E1Ex(70), E2Ex(100), E3Ex(115) ; if condition1 = true Then{ If DayIndex() == E1 Then Sell("S1"); If DayIndex() == E2 Then Sell("S2"); If DayIndex() == E3 Then Sell("S3"); } if condition1 = false Then{ If DayIndex() == E1 Then Buy("B1"); If DayIndex() == E2 Then Buy("B2"); If DayIndex() == E3 Then Buy("B3"); } /**** 청산식 ****/ If IsEntryName("S1") Then { If DayIndex() == E1Ex Then ExitShort("ExS-S1"); SetStopLoss(1,PointStop);} If IsEntryName("S2") Then { If DayIndex() == E2Ex Then ExitShort("ExS-S2"); SetStopLoss(1,PointStop);} If IsEntryName("S3") Then { If DayIndex() == E3Ex Then ExitShort("ExS-S3"); SetStopLoss(1,PointStop);} //==========================================================// If IsEntryName("B1") Then { If DayIndex()== E1Ex Then ExitLong("ExL-B1"); SetStopLoss(1,PointStop);} If IsEntryName("B2") Then { If DayIndex() == E2Ex Then ExitLong("ExL-B2"); SetStopLoss(1,PointStop); } If IsEntryName("B3") Then { If DayIndex() == E3Ex Then ExitLong("ExL-B3"); SetStopLoss(1,PointStop);} 안녕하세요. 항상 친절하고 자세한 답변에 감사드리고 있습니다.. 질문 1. 위 수식에서 진입 B1, B2, B3 또는 S1,S2,S3 에 따라 청산 시점을 달리하는데 둘다 모두 첫번째 청산식에서 ("ExS-S1", "ExL-B1") 한꺼번에 청산됩니다. 어떤점이 잘못되었을까요? 질문2. 피라미딩 주문을 허용 할려면 속성창에서 체크를 하고 있는데 이걸 수식으로 표현할수 있을까요? 왕초보라서 조금 자세한 설명 부탁드립니다. 정말 감사합니다. 즐거운 하루되세요
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2008-11-04 10:34:43

안녕하세요 예스스탁입니다. 피라미딩은 수식으로 그 옵션을 제어할 수 없습니다. 또한 피라미딩으로 여러 진입이 들어 갈 경우 IsEntryName등 포지션 함수는 그 첫번째 진입만을 기억합니다. 즉 피라미딩으로 B1,B1,B3로 차례로 진입하면 isentryname은 B1만을 기억하며. 그러므로 ("ExS-S1", "ExL-B1")만으로만 청산이 됩니다. 이경에는 isentryname함수로는 컨트롤 할 수 없습니다. 피라미딩은 중복진입과 관련된 옵션이므로 분할하여 청산하기 위해서는 식에따라 다르게 처리해야 합니다. Input : E1(25), E2(40), E3(60), E1Ex(70), E2Ex(100), E3Ex(115) ; if condition1 = true Then{ If DayIndex() == E1 Then Sell("S1",onclose,def,1); If DayIndex() == E2 Then Sell("S2",onclose,def,1); If DayIndex() == E3 Then Sell("S3",onclose,def,1); } if condition1 = false Then{ If DayIndex() == E1 Then Buy("B1",onclose,def,1); If DayIndex() == E2 Then Buy("B2",onclose,def,1); If DayIndex() == E3 Then Buy("B3",onclose,def,1); } /**** 청산식 ****/ If MarketPosition() == -1 Then { If DayIndex() == E1Ex Then ExitShort("ExS-S1",onclose,def,"",1,1); If DayIndex() == E2Ex Then ExitShort("ExS-S2",onclose,def,"",1,1); If DayIndex() == E3Ex Then ExitShort("ExS-S3",onclose,def,"",1,1); } If MarketPosition() == 1 Then { If DayIndex() == E1Ex Then ExitLong("ExL-B1",onclose,def,"",1,1); If DayIndex() == E2Ex Then ExitLong("ExL-B2",onclose,def,"",1,1); If DayIndex() == E3Ex Then ExitLong("ExL-B3",onclose,def,"",1,1); } SetStopLoss(1,PointStop); 분할진입시 분할청산되게 작성한 식입니다. 참고하시기 바랍니다. 즐거운 하루되세요 > 옵션 님이 쓴 글입니다. > 제목 : 초보 수식질문드립니다... > Input : E1(25), E2(40), E3(60), E1Ex(70), E2Ex(100), E3Ex(115) ; if condition1 = true Then{ If DayIndex() == E1 Then Sell("S1"); If DayIndex() == E2 Then Sell("S2"); If DayIndex() == E3 Then Sell("S3"); } if condition1 = false Then{ If DayIndex() == E1 Then Buy("B1"); If DayIndex() == E2 Then Buy("B2"); If DayIndex() == E3 Then Buy("B3"); } /**** 청산식 ****/ If IsEntryName("S1") Then { If DayIndex() == E1Ex Then ExitShort("ExS-S1"); SetStopLoss(1,PointStop);} If IsEntryName("S2") Then { If DayIndex() == E2Ex Then ExitShort("ExS-S2"); SetStopLoss(1,PointStop);} If IsEntryName("S3") Then { If DayIndex() == E3Ex Then ExitShort("ExS-S3"); SetStopLoss(1,PointStop);} //==========================================================// If IsEntryName("B1") Then { If DayIndex()== E1Ex Then ExitLong("ExL-B1"); SetStopLoss(1,PointStop);} If IsEntryName("B2") Then { If DayIndex() == E2Ex Then ExitLong("ExL-B2"); SetStopLoss(1,PointStop); } If IsEntryName("B3") Then { If DayIndex() == E3Ex Then ExitLong("ExL-B3"); SetStopLoss(1,PointStop);} 안녕하세요. 항상 친절하고 자세한 답변에 감사드리고 있습니다.. 질문 1. 위 수식에서 진입 B1, B2, B3 또는 S1,S2,S3 에 따라 청산 시점을 달리하는데 둘다 모두 첫번째 청산식에서 ("ExS-S1", "ExL-B1") 한꺼번에 청산됩니다. 어떤점이 잘못되었을까요? 질문2. 피라미딩 주문을 허용 할려면 속성창에서 체크를 하고 있는데 이걸 수식으로 표현할수 있을까요? 왕초보라서 조금 자세한 설명 부탁드립니다. 정말 감사합니다. 즐거운 하루되세요