커뮤니티

문의

프로필 이미지
송아지
2009-02-12 14:44:27
914
글번호 20190
답변완료
안녕하세요? ========= 아래식으로 트레이딩을 하면 분할청산횟수는 항상 진입 회수만큼만 일어나는군요. 만일 10회 진입신호가 발생하여 100계약을 매수했다면 청산을 10회보다 많은 횟수로 나누어 분할청산하고 싶습니다. 예로 2계약씩 50회 청산하거나 1계약씩 100회 청산 하는거지요. 수정 부탁드립니다. 미리 감사드립니다. ====================== input : N(10); var : value(0); var15 = date - int(date/100)*100; var16 = DayOfWeek(date); if var15 >= 8 and var15 <= 14 and var16 == 4 then value = 1; else value = 0; #1.진입 If CurrentEntries < N and stime >= 090000 and stime < 130000 and c>daylow*1.1 and c>o then { Buy("a1",OnClose,def,10); } #2.당일청산 if value == 1 then{ SetStopEndofday(144500); } Else { SetStopEndofday(150300); } #3.청산 if MarketPosition() == 1 Then{ if CurrentContracts > CurrentContracts[1] Then{ value1 = CurrentContracts(); var55 = round(value1*0.02,0); var66 = value1-round(value1*0.04,0)*24; } for count = 1 to 25 { if C < O Then exitlong("w1",OnClose,def,"",round(var55*0.5,0),1); if value1 < 25 and C < O Then exitlong("w1**",OnClose,def,"",1,1); } } ===========================
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2009-02-12 16:43:10

안녕하세요 예스스탁입니다. 청산은 자동으로 분할해서 청산을 발동할 수 없습니다. 하나의 진입에서 하나의 exitlong은 1번만 발동합니다. 100회로 분할하기 위해서는 exitlong이 100번이 작성되어야 합니다. if MarketPosition() == 1 Then{ if CurrentContracts == 100 Then{ If C < O Then exitlong("w1",OnClose,def,"",1,1); if value1 < 25 and C < O Then exitlong("w1**",OnClose,def,"",1,1); } if CurrentContracts == 99 Then{ if C < O Then exitlong("w2",OnClose,def,"",1,1); if value1 < 25 and C < O Then exitlong("w2**",OnClose,def,"",1,1); } if CurrentContracts == 99 Then{ if C < O Then exitlong("w3",OnClose,def,"",1,1); if value1 < 25 and C < O Then exitlong("w3**",OnClose,def,"",1,1); } if CurrentContracts == 99 Then{ if C < O Then exitlong("w4",OnClose,def,"",1,1); if value1 < 25 and C < O Then exitlong("w4**",OnClose,def,"",1,1); } ## 분할청산하고자 하는 횟수만큰 작성해 주셔야 합니다.~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if CurrentContracts == 1 Then{ if C < O Then exitlong("w4",OnClose,def,"",1,1); if value1 < 25 and C < O Then exitlong("w4**",OnClose,def,"",1,1); } } 참고하시기 바랍니다. 즐거운 하루되세요 > 송아지 님이 쓴 글입니다. > 제목 : 문의 > 안녕하세요? ========= 아래식으로 트레이딩을 하면 분할청산횟수는 항상 진입 회수만큼만 일어나는군요. 만일 10회 진입신호가 발생하여 100계약을 매수했다면 청산을 10회보다 많은 횟수로 나누어 분할청산하고 싶습니다. 예로 2계약씩 50회 청산하거나 1계약씩 100회 청산 하는거지요. 수정 부탁드립니다. 미리 감사드립니다. ====================== input : N(10); var : value(0); var15 = date - int(date/100)*100; var16 = DayOfWeek(date); if var15 >= 8 and var15 <= 14 and var16 == 4 then value = 1; else value = 0; #1.진입 If CurrentEntries < N and stime >= 090000 and stime < 130000 and c>daylow*1.1 and c>o then { Buy("a1",OnClose,def,10); } #2.당일청산 if value == 1 then{ SetStopEndofday(144500); } Else { SetStopEndofday(150300); } #3.청산 if MarketPosition() == 1 Then{ if CurrentContracts > CurrentContracts[1] Then{ value1 = CurrentContracts(); var55 = round(value1*0.02,0); var66 = value1-round(value1*0.04,0)*24; } for count = 1 to 25 { if C < O Then exitlong("w1",OnClose,def,"",round(var55*0.5,0),1); if value1 < 25 and C < O Then exitlong("w1**",OnClose,def,"",1,1); } } ===========================