커뮤니티

문의드립니다

프로필 이미지
가이츠
2015-11-02 23:01:24
189
글번호 91930
답변완료
바쁘실거 같아 게시판 문의로 남깁니다 저번 문의에서 보충하여 재문의 드립니다 아래 시스템은 진입가격에서 1 2 3 % 상승시 30% 40% 전량익절 진입가격에서 1 2 3 % 하락시 30% 40% 전량손절 입니다 여기에 추가하여 진입가격대비 설정한 수익률이상(a 초기값 5%)이 나오면 다시 진입가격에서 6 7 8 % 상승시 30% 40% 전량익절 진입가격에서 5% 미만 상승시 전량 익절 의 조건을 추가하고 싶습니다 (편의상 첫 매도조건을 1차 매도조건 추가하고자 하는 조건을 2차 매도조건이라 하겠습니다) (1차매도조건으로 매매하다가 설정한 수익률이상의 캔들이 발생하면 2차매도조건에 의한 매매 예를들어 진입가보다 5%이상 상승하면 2차매도조건으로 매도가 되고 진입가보다 1%상승하여 30% 매도가 된 이후 5%이상 상승하면 2차 매도조건인 7,8%에서 각각 매도가 되고 진입가보다 1,2% 상승하여 30 40 % 매도가 된 이후 5%이상 상승하면 2차 매도조건인 8%에서 전량매도가 되고 5%이상 상승이 일어났다가 다시 5%미만으로 상승이 둔화된경우 잔고수량 불문 나머지 전량 익절 5%이상의 상승이 일어났다 함은 진입가격에서 5%이상 상승이 일어나 진입가 대비 시가가 1차 매도조건의 상승폭을 상회함을 뜻합니다) 매번 감사합니다 가능한지 문의드리며 시간이 많이 걸린다면 가이드 라인이라도 알려주시면 감사드리겠습니다 input : 매수금액(1000000); var : Evol(0),Xcnt(0); if stime == 090000 and NextBarOpen <= C*1.00 and NextBarOpen >= C*1.00 Then{ buy("b",AtMarket,def,Floor(매수금액/C)); } if MarketPosition == 1 Then{ if CurrentContracts < CurrentContracts[1] Then Xcnt = Xcnt+1; if Xcnt == 0 /*and TimeToMinutes(stime) >= TimeToMinutes(EntryTime)+30*/ Then ExitLong("Bx11",atlimit,EntryPrice+(EntryPrice*0.01),"",floor(MaxContracts*0.4),1); if Xcnt == 0 /* and TimeToMinutes(stime) >= TimeToMinutes(EntryTime)+5*/ Then ExitLong("Bx12",AtStop,EntryPrice-(EntryPrice*0.01),"",floor(MaxContracts*0.4),1); if Xcnt == 1 and CurrentContracts < MaxContracts Then{ ExitLong("Bx21",atlimit,LatestExitPrice(0)+(EntryPrice*0.01),"",floor(MaxContracts*0.3),1); ExitLong("BL22",AtStop,LatestExitPrice(0)-(EntryPrice*0.01),"",floor(MaxContracts*0.3),1); } if Xcnt == 2 and CurrentContracts < MaxContracts Then{ ExitLong("Bx31",atlimit,LatestExitPrice(0)+(EntryPrice*0.01)); ExitLong("BL32",AtStop,LatestExitPrice(0)-(EntryPrice*0.01)); } } Else Xcnt = 0;
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2015-11-03 09:58:35

안녕하세요 예스스탁입니다. 아내 내용 참고하셔서 수정보완해 사용하시기 바랍니다. input : 매수금액(1000000); input : Per(5); var : OpenCond(false),Xcond1(false),Xcond2(false),Xcond3(false); if stime == 090000 and NextBarOpen <= C*1.00 and NextBarOpen >= C*1.00 Then{ buy("b",AtMarket,def,Floor(매수금액/C)); } if MarketPosition == 1 Then{ #봉완성시 다음봉 시가가 진입가 대비 5% 이상 상승하면 true if NextBarOpen >= EntryPrice*(1+Per/100) Then OpenCond = true; #BP1 청산이 발생하면 Xcond1은 true if LatestExitName(0) == "BP1" Then Xcond1 = true; #BP2 청산이 발생하면 Xcond2은 true if LatestExitName(0) == "BP2" Then Xcond2 = true; #BP3 청산이 발생하면 Xcond3은 true if LatestExitName(0) == "BP3" Then Xcond3 = True; #OpenCond가 false일때 if OpenCond == false Then{ if Xcond1 == false then ExitLong("BP1",atlimit,EntryPrice(0)*1.01,"",Floor(MaxContracts*0.3),1); if Xcond2 == false then ExitLong("BP2",atlimit,EntryPrice(0)*1.02,"",Floor(MaxContracts*0.4),1); if Xcond3 == false then ExitLong("BP3",atlimit,EntryPrice(0)*1.03); } #OpenCond가 true일&#46468; if OpenCond == true Then{ #BP1로 청산이 안된 경우만 발생 if Xcond1 == false Then ExitLong("BP6",atlimit,EntryPrice*(1+(Per+1)/100),"",Floor(MaxContracts*0.3),1); #BP2로 청산이 안된 경우만 발생 if Xcond2 == false Then ExitLong("BP7",atlimit,EntryPrice*(1+(Per+2)/100),"",Floor(MaxContracts*0.4),1); #BP3로 청산이 안된 경우만 발생 if Xcond3 == false Then ExitLong("BP8",atlimit,EntryPrice*(1+(Per+3)/100)); #5%이하로 가격하락하면 전량처산 exitlong("BP5",AtStop,EntryPrice*(1+Per/100)); } } #매수포지션이 아니면 모두 false로 초기화 if MarketPosition != 1 Then{ OpenCond = false; Xcond1 = false; Xcond2 = false; Xcond3 = false; } 즐거운 하루되세요 > 가이츠 님이 쓴 글입니다. > 제목 : 문의드립니다 > 바쁘실거 같아 게시판 문의로 남깁니다 저번 문의에서 보충하여 재문의 드립니다 아래 시스템은 진입가격에서 1 2 3 % 상승시 30% 40% 전량익절 진입가격에서 1 2 3 % 하락시 30% 40% 전량손절 입니다 여기에 추가하여 진입가격대비 설정한 수익률이상(a 초기값 5%)이 나오면 다시 진입가격에서 6 7 8 % 상승시 30% 40% 전량익절 진입가격에서 5% 미만 상승시 전량 익절 의 조건을 추가하고 싶습니다 (편의상 첫 매도조건을 1차 매도조건 추가하고자 하는 조건을 2차 매도조건이라 하겠습니다) (1차매도조건으로 매매하다가 설정한 수익률이상의 캔들이 발생하면 2차매도조건에 의한 매매 예를들어 진입가보다 5%이상 상승하면 2차매도조건으로 매도가 되고 진입가보다 1%상승하여 30% 매도가 된 이후 5%이상 상승하면 2차 매도조건인 7,8%에서 각각 매도가 되고 진입가보다 1,2% 상승하여 30 40 % 매도가 된 이후 5%이상 상승하면 2차 매도조건인 8%에서 전량매도가 되고 5%이상 상승이 일어났다가 다시 5%미만으로 상승이 둔화된경우 잔고수량 불문 나머지 전량 익절 5%이상의 상승이 일어났다 함은 진입가격에서 5%이상 상승이 일어나 진입가 대비 시가가 1차 매도조건의 상승폭을 상회함을 뜻합니다) 매번 감사합니다 가능한지 문의드리며 시간이 많이 걸린다면 가이드 라인이라도 알려주시면 감사드리겠습니다 input : 매수금액(1000000); var : Evol(0),Xcnt(0); if stime == 090000 and NextBarOpen <= C*1.00 and NextBarOpen >= C*1.00 Then{ buy("b",AtMarket,def,Floor(매수금액/C)); } if MarketPosition == 1 Then{ if CurrentContracts < CurrentContracts[1] Then Xcnt = Xcnt+1; if Xcnt == 0 /*and TimeToMinutes(stime) >= TimeToMinutes(EntryTime)+30*/ Then ExitLong("Bx11",atlimit,EntryPrice+(EntryPrice*0.01),"",floor(MaxContracts*0.4),1); if Xcnt == 0 /* and TimeToMinutes(stime) >= TimeToMinutes(EntryTime)+5*/ Then ExitLong("Bx12",AtStop,EntryPrice-(EntryPrice*0.01),"",floor(MaxContracts*0.4),1); if Xcnt == 1 and CurrentContracts < MaxContracts Then{ ExitLong("Bx21",atlimit,LatestExitPrice(0)+(EntryPrice*0.01),"",floor(MaxContracts*0.3),1); ExitLong("BL22",AtStop,LatestExitPrice(0)-(EntryPrice*0.01),"",floor(MaxContracts*0.3),1); } if Xcnt == 2 and CurrentContracts < MaxContracts Then{ ExitLong("Bx31",atlimit,LatestExitPrice(0)+(EntryPrice*0.01)); ExitLong("BL32",AtStop,LatestExitPrice(0)-(EntryPrice*0.01)); } } Else Xcnt = 0;