커뮤니티

아래식에서 분할매수 가능하도록 변경부탁합니다

프로필 이미지
회원
2010-04-19 23:45:09
733
글번호 29450
답변완료
항상 답변 감사드립니다. 아래의 식은 몇가지 매수조건이 혼합되어 있는데요 먼저 아래식의 매수가 일어나는 조건에서 1차 지정된 매수 수량이 매수된 이후에 5%하락시에 매수수량의 50%를 추가매수하고, 추가 5% 더욱 하락시에 추가로 50% 추가매수하도록 부탁합니다. 단, 1차 진입이후에 상승시엔 추가매수가 되면 안됩니다. 손절은 최종 평균단가에서 5%하락시 손절처리되며, 매도는 아래식의 매도조건이 오면 일시에 매도할수있도록 부탁드립니다. Input: Length(20),StdVal(2), xpoint(0.1),shortPeriod(12), longPeriod(26), Period(9); Vars: NewMarketParadigm(0), NmpC(0),NmpE(0),NmpT(0),Trigger(0),value10(0); value10 = MACD_OSC(shortPeriod, longPeriod, Period); value1 = BollBandUp(Length,StdVal); //볼린져밴드 상단선 value2 = BollBandDown(Length,StdVal); //볼린져밴드 하단선 Condition1 = value1 < value1[1] and value2 > value2[1]; //밴드폭이 축소(상단선은 하락 하단선은 상승)되는 경우 true 이외의 경우 false를 저장 Condition2 = value1 > value1[1] and value2 < value2[1]; //밴드폭이 확대(상단선은 상승 하단선은 하락)되는 경우 true 이외의 경우 false를 저장 Condition3 = Condition1 == False and Condition2 == False; //같은 방향으로 움직이면 true 반대방향(확대되거나 축소되면)으로 움직이면 false IF Condition1 then NewMarketParadigm = 1; //A조건이 참이면 NewMarketParadigm에 1저장 IF Condition2 then NewMarketParadigm = 2; //B조건이 참이면 NewMarketParadigm에 2저장 IF Condition3 then NewMarketParadigm = 3; //C조건이 참이면 NewMarketParadigm에 3저장 #1 If NewMarketParadigm == 1 then NmpC = NmpC + 1; Else NmpC = 0; If NewMarketParadigm == 2 then //밴드폭이 확대(상단선은 상승 하단선은 하락)되면 NmpE = NmpE + 1 ; //NmpE에 1씩 증가 Else NmpE = 0; If NewMarketParadigm == 3 then NmpT = 1; Else NmpT = 0; #2 Condition4 = NmpE > 1; If Condition4 then begin //밴드가 연속 2봉 이상 확대되면 Trigger = 1; //Trigger에 1저장 End; #3 If value10 > 0 and value10 >=value10[1] and Trigger == 1 then begin //밴드가 연속 2봉 이상 확대되고 오실레이터 양선 Buy("B1", atstop, Highest(High,5) + Xpoint); //N봉고가 + X point도달시 매수 Sell("S1", atstop, Lowest(Low,20) - Xpoint); //N봉저가 - X point 도달시 매도 End; # 주가가 하단밴드를 하향이탈하면 Condition99는 true if CrossDown(c,value2) Then condition99 = true; if crossup(c,value2*1.01) and # 주가가 하단밴드+1%를 상향돌파 Condition99 == true and # Condition99는 true C >= C[1] Then{ #주가는 전봉대비 상승하거나 같음 buy("b"); #매수 Condition99 = false; #매수후 Condition99는 false } # 주가가 상단밴드를 돌파하면 Condition98는 true if crossup(c,value1) Then condition98 = true; if crossdown(c,value1*1.01) and condition98 == true and c <= c[1] then{ sell("d1"); condition98 = false; }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2010-04-20 14:47:26

안녕하세요 예스스탁입니다. Input: Length(20),StdVal(2), xpoint(0.1),shortPeriod(12), longPeriod(26), Period(9); Vars: NewMarketParadigm(0), NmpC(0),NmpE(0),NmpT(0),Trigger(0),value10(0); value10 = MACD_OSC(shortPeriod, longPeriod, Period); value1 = BollBandUp(Length,StdVal); //볼린져밴드 상단선 value2 = BollBandDown(Length,StdVal); //볼린져밴드 하단선 Condition1 = value1 < value1[1] and value2 > value2[1]; //밴드폭이 축소(상단선은 하락 하단선은 상승)되는 경우 true 이외의 경우 false를 저장 Condition2 = value1 > value1[1] and value2 < value2[1]; //밴드폭이 확대(상단선은 상승 하단선은 하락)되는 경우 true 이외의 경우 false를 저장 Condition3 = Condition1 == False and Condition2 == False; //같은 방향으로 움직이면 true 반대방향(확대되거나 축소되면)으로 움직이면 false IF Condition1 then NewMarketParadigm = 1; //A조건이 참이면 NewMarketParadigm에 1저장 IF Condition2 then NewMarketParadigm = 2; //B조건이 참이면 NewMarketParadigm에 2저장 IF Condition3 then NewMarketParadigm = 3; //C조건이 참이면 NewMarketParadigm에 3저장 #1 If NewMarketParadigm == 1 then NmpC = NmpC + 1; Else NmpC = 0; If NewMarketParadigm == 2 then //밴드폭이 확대(상단선은 상승 하단선은 하락)되면 NmpE = NmpE + 1 ; //NmpE에 1씩 증가 Else NmpE = 0; If NewMarketParadigm == 3 then NmpT = 1; Else NmpT = 0; #2 Condition4 = NmpE > 1; If Condition4 then begin //밴드가 연속 2봉 이상 확대되면 Trigger = 1; //Trigger에 1저장 End; #3 If value10 > 0 and value10 >=value10[1] and Trigger == 1 then begin //밴드가 연속 2봉 이상 확대되고 오실레이터 양선 Buy("B1", atstop, Highest(High,5) + Xpoint); //N봉고가 + X point도달시 매수 Sell("S1", atstop, Lowest(Low,20) - Xpoint); //N봉저가 - X point 도달시 매도 End; # 주가가 하단밴드를 하향이탈하면 Condition99는 true if CrossDown(c,value2) Then condition99 = true; if crossup(c,value2*1.01) and # 주가가 하단밴드+1%를 상향돌파 Condition99 == true and # Condition99는 true C >= C[1] Then{ #주가는 전봉대비 상승하거나 같음 buy("b"); #매수 Condition99 = false; #매수후 Condition99는 false } # 주가가 상단밴드를 돌파하면 Condition98는 true if crossup(c,value1) Then condition98 = true; if crossdown(c,value1*1.01) and condition98 == true and c <= c[1] then{ sell("d1"); condition98 = false; } if MarketPosition == 1 and CurrentContracts == MaxContracts Then{ if CurrentEntries == 1 Then buy("추가1",atlimit,EntryPrice*0.95,CurrentContracts*0.5); if CurrentEntries == 2 Then buy("추가2",atlimit,EntryPrice*0.90,CurrentContracts*0.5); } 즐거운 하루되세요 > WT_ruky753 님이 쓴 글입니다. > 제목 : 아래식에서 분할매수 가능하도록 변경부탁합니다 > 항상 답변 감사드립니다. 아래의 식은 몇가지 매수조건이 혼합되어 있는데요 먼저 아래식의 매수가 일어나는 조건에서 1차 지정된 매수 수량이 매수된 이후에 5%하락시에 매수수량의 50%를 추가매수하고, 추가 5% 더욱 하락시에 추가로 50% 추가매수하도록 부탁합니다. 단, 1차 진입이후에 상승시엔 추가매수가 되면 안됩니다. 손절은 최종 평균단가에서 5%하락시 손절처리되며, 매도는 아래식의 매도조건이 오면 일시에 매도할수있도록 부탁드립니다. Input: Length(20),StdVal(2), xpoint(0.1),shortPeriod(12), longPeriod(26), Period(9); Vars: NewMarketParadigm(0), NmpC(0),NmpE(0),NmpT(0),Trigger(0),value10(0); value10 = MACD_OSC(shortPeriod, longPeriod, Period); value1 = BollBandUp(Length,StdVal); //볼린져밴드 상단선 value2 = BollBandDown(Length,StdVal); //볼린져밴드 하단선 Condition1 = value1 < value1[1] and value2 > value2[1]; //밴드폭이 축소(상단선은 하락 하단선은 상승)되는 경우 true 이외의 경우 false를 저장 Condition2 = value1 > value1[1] and value2 < value2[1]; //밴드폭이 확대(상단선은 상승 하단선은 하락)되는 경우 true 이외의 경우 false를 저장 Condition3 = Condition1 == False and Condition2 == False; //같은 방향으로 움직이면 true 반대방향(확대되거나 축소되면)으로 움직이면 false IF Condition1 then NewMarketParadigm = 1; //A조건이 참이면 NewMarketParadigm에 1저장 IF Condition2 then NewMarketParadigm = 2; //B조건이 참이면 NewMarketParadigm에 2저장 IF Condition3 then NewMarketParadigm = 3; //C조건이 참이면 NewMarketParadigm에 3저장 #1 If NewMarketParadigm == 1 then NmpC = NmpC + 1; Else NmpC = 0; If NewMarketParadigm == 2 then //밴드폭이 확대(상단선은 상승 하단선은 하락)되면 NmpE = NmpE + 1 ; //NmpE에 1씩 증가 Else NmpE = 0; If NewMarketParadigm == 3 then NmpT = 1; Else NmpT = 0; #2 Condition4 = NmpE > 1; If Condition4 then begin //밴드가 연속 2봉 이상 확대되면 Trigger = 1; //Trigger에 1저장 End; #3 If value10 > 0 and value10 >=value10[1] and Trigger == 1 then begin //밴드가 연속 2봉 이상 확대되고 오실레이터 양선 Buy("B1", atstop, Highest(High,5) + Xpoint); //N봉고가 + X point도달시 매수 Sell("S1", atstop, Lowest(Low,20) - Xpoint); //N봉저가 - X point 도달시 매도 End; # 주가가 하단밴드를 하향이탈하면 Condition99는 true if CrossDown(c,value2) Then condition99 = true; if crossup(c,value2*1.01) and # 주가가 하단밴드+1%를 상향돌파 Condition99 == true and # Condition99는 true C >= C[1] Then{ #주가는 전봉대비 상승하거나 같음 buy("b"); #매수 Condition99 = false; #매수후 Condition99는 false } # 주가가 상단밴드를 돌파하면 Condition98는 true if crossup(c,value1) Then condition98 = true; if crossdown(c,value1*1.01) and condition98 == true and c <= c[1] then{ sell("d1"); condition98 = false; }