커뮤니티
아래식에서 분할매수 가능하도록 변경부탁합니다
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;
}