커뮤니티
수식 문의
2017-01-29 09:46:56
117
글번호 106341
안녕하세요
늘 많은 도움 주셔서 감사드리며, 새해 복 많이 받으시기 바랍니다.
하기 확인 부탁드립니다.
input : P(14),BBP(20),dv(2),MAP(60);
input : short(12),long(26),sig(9);
var : ADXV(0),DP(0),DM(0),T(0),BBup(0),BBdn(0),mav(0);
var : MACDV(0),MACDS(0),Bcond(false),Scond(False),bbmd(0),diff(0),cnt(0),count(0);
ADXV = ADX(P);
DP = Diplus(P);
DM = DiMinus(P);
bbmd = ma(c,BBP);
BBup = BollBandUp(BBP,dv);
BBdn = BollBandDown(BBP,dv);
mav = ma(C,MAP);
MACDV = MACD(short,long);
MACDS = ema(MACDV,sig);
diff = C-O;
if MarketPosition == 0 Then{
if MarketPosition(1) == 1 and IsExitName("StopTrailing",1) == true and H > BBdn
then {
buy("bb",AtStop,C-PriceScale);
}
if MarketPosition(1) == -1 and IsExitName("StopTrailing",1) == true and L < BBup
then {
sell("ss",AtStop,C+PriceScale);
}
}
1. 상기 수식에서 청산 방법을 하기와 같이 구현하고 싶습니다.
bb 진입후 진입봉 포함 음봉이 2개 이상 발생하면, 두번째 음봉에서 청산하는 것으로
수식 부탁드립니다.
ss 진입루 진입봉 포함 양봉이 2개 이상 발생하면, 두번째 양봉에서 청산하는 것으로
수식 부탁드립니다.
2. bb 진입후 진입봉 포함 볼린져 상단 밴드에 접촉하지 않는 봉이 3개 이상 발생하면,
세번째 음봉에서 청산하는 것으로 수식 부탁드립니다.
ss 진입루 진입봉 포함 볼린져 하단 밴드에 접촉하지 않는 봉이 3개 이상 발생하면,
세번째 양봉에서 청산하는 것으로 수식 부탁드립니다.
3. 매수 매도 모두 ADX 지수 37 이상이면, 반대매매 금지 부탁드립니다.
상기 1,2번의 청산식이 작동되지 않도록 부탁드립니다.
4. DP/DM의 격차가 20 이상이면 상기 1,2번의 청산식이 작동되지 않도록 부탁드립니다.
5. ADX 라인이 DP/DM 위에 있을때, 상기 1,2번의 청산식이 작동되지 않도록 부탁드립니다.
if MarketPosition <= 0 and diff+diff[1] >= PriceScale*40 and Scond == true and macdv >= macds
Then
buy("b7");
if MarketPosition >= 0 and diff+diff[1] <= -PriceScale*40 and Bcond == true and macdv <= macds
Then
sell("s7");
6.상기 수식은 연속 두개의 봉이 40틱이상이면, 41틱 되는 순간 음봉이면 매도로
양봉이면 매수로 진입하는 수식으로 알고 있습니다.
그런데 봉완성 후 진입이 되는 것 같습니다.
41틱 될 때 바로 진입할 수 있는 수식으로 바꾸어 주실 수 있으신지요?
확인 부탁드립니다.
7. 매수든 매도든 stoploss가 되면 바로 반대매매를 진입하는 수식 부탁드립니다.
저는 시스템 트레이딩 설정의 강제 청산을 사용하고 있는데,
강제 손절매 당하면 즉시 그가격에 반대매매 들어가게끔 부탁드립니다.
감사합니다.
답변 1
예스스탁 예스스탁 답변
2017-01-31 11:33:18
안녕하세요
예스스탁입니다.
1
input : P(14),BBP(20),dv(2),MAP(60);
input : short(12),long(26),sig(9);
var : ADXV(0),DP(0),DM(0),T(0),BBup(0),BBdn(0),mav(0);
var : MACDV(0),MACDS(0),Bcond(false),Scond(False),bbmd(0),diff(0),cnt(0),count(0);
ADXV = ADX(P);
DP = Diplus(P);
DM = DiMinus(P);
bbmd = ma(c,BBP);
BBup = BollBandUp(BBP,dv);
BBdn = BollBandDown(BBP,dv);
mav = ma(C,MAP);
MACDV = MACD(short,long);
MACDS = ema(MACDV,sig);
diff = C-O;
if MarketPosition == 0 Then{
if MarketPosition(1) == 1 and IsExitName("StopTrailing",1) == true and H > BBdn
then {
buy("bb",AtStop,C-PriceScale);
}
if MarketPosition(1) == -1 and IsExitName("StopTrailing",1) == true and L < BBup
then {
sell("ss",AtStop,C+PriceScale);
}
}
if MarketPosition == 1 and IsEntryName("bb") == true and ADXV < 37 and abs(DP-DM) < 20 and ADXv < max(DP,DM) Then{
if countif(C<O,2) == 2 Then
exitlong();
if BarsSinceEntry >= 2 and countif(H<BBp,3) == 3 Then
exitlong();
}
if MarketPosition == -1 and IsEntryName("ss") == true and ADXV < 37 and abs(DP-DM) < 20 and ADXv < max(DP,DM) then{
if countif(C>O,2) == 2 Then
ExitShort();
if BarsSinceEntry >= 2 and countif(L>BBdn,2) == 2 Then
ExitShort();
}
if MarketPosition == 1 Then
sell("bs",AtStop,EntryPrice-1);
if MarketPosition == -1 Then
buy("sb",AtStop,EntryPrice+1);
6
if MarketPosition <= 0 and diff+diff[1] >= PriceScale*40 and Scond == true and macdv >= macds
Then
buy("b7");
if MarketPosition >= 0 and diff+diff[1] <= -PriceScale*40 and Bcond == true and macdv <= macds
Then
sell("s7");
위 내용은 봉길이 외에 다른조건이 있는데 해당 조건까지 체크하려면
봉완성시로만 작성이 가능합니다.
7
stoploss함수를 사용하시면 바로 역방향 진입은 가능하지 않습니다.
위 1번 답변식에 1포인트 손실이면 역방향으로 진입하는 내용을 추가했습니다.
해당 내용 참고하시기 바랍니다.
즐거운 하루되세요
> softtoug 님이 쓴 글입니다.
> 제목 : 수식 문의
> 안녕하세요
늘 많은 도움 주셔서 감사드리며, 새해 복 많이 받으시기 바랍니다.
하기 확인 부탁드립니다.
input : P(14),BBP(20),dv(2),MAP(60);
input : short(12),long(26),sig(9);
var : ADXV(0),DP(0),DM(0),T(0),BBup(0),BBdn(0),mav(0);
var : MACDV(0),MACDS(0),Bcond(false),Scond(False),bbmd(0),diff(0),cnt(0),count(0);
ADXV = ADX(P);
DP = Diplus(P);
DM = DiMinus(P);
bbmd = ma(c,BBP);
BBup = BollBandUp(BBP,dv);
BBdn = BollBandDown(BBP,dv);
mav = ma(C,MAP);
MACDV = MACD(short,long);
MACDS = ema(MACDV,sig);
diff = C-O;
if MarketPosition == 0 Then{
if MarketPosition(1) == 1 and IsExitName("StopTrailing",1) == true and H > BBdn
then {
buy("bb",AtStop,C-PriceScale);
}
if MarketPosition(1) == -1 and IsExitName("StopTrailing",1) == true and L < BBup
then {
sell("ss",AtStop,C+PriceScale);
}
}
1. 상기 수식에서 청산 방법을 하기와 같이 구현하고 싶습니다.
bb 진입후 진입봉 포함 음봉이 2개 이상 발생하면, 두번째 음봉에서 청산하는 것으로
수식 부탁드립니다.
ss 진입루 진입봉 포함 양봉이 2개 이상 발생하면, 두번째 양봉에서 청산하는 것으로
수식 부탁드립니다.
2. bb 진입후 진입봉 포함 볼린져 상단 밴드에 접촉하지 않는 봉이 3개 이상 발생하면,
세번째 음봉에서 청산하는 것으로 수식 부탁드립니다.
ss 진입루 진입봉 포함 볼린져 하단 밴드에 접촉하지 않는 봉이 3개 이상 발생하면,
세번째 양봉에서 청산하는 것으로 수식 부탁드립니다.
3. 매수 매도 모두 ADX 지수 37 이상이면, 반대매매 금지 부탁드립니다.
상기 1,2번의 청산식이 작동되지 않도록 부탁드립니다.
4. DP/DM의 격차가 20 이상이면 상기 1,2번의 청산식이 작동되지 않도록 부탁드립니다.
5. ADX 라인이 DP/DM 위에 있을때, 상기 1,2번의 청산식이 작동되지 않도록 부탁드립니다.
if MarketPosition <= 0 and diff+diff[1] >= PriceScale*40 and Scond == true and macdv >= macds
Then
buy("b7");
if MarketPosition >= 0 and diff+diff[1] <= -PriceScale*40 and Bcond == true and macdv <= macds
Then
sell("s7");
6.상기 수식은 연속 두개의 봉이 40틱이상이면, 41틱 되는 순간 음봉이면 매도로
양봉이면 매수로 진입하는 수식으로 알고 있습니다.
그런데 봉완성 후 진입이 되는 것 같습니다.
41틱 될 때 바로 진입할 수 있는 수식으로 바꾸어 주실 수 있으신지요?
확인 부탁드립니다.
7. 매수든 매도든 stoploss가 되면 바로 반대매매를 진입하는 수식 부탁드립니다.
저는 시스템 트레이딩 설정의 강제 청산을 사용하고 있는데,
강제 손절매 당하면 즉시 그가격에 반대매매 들어가게끔 부탁드립니다.
감사합니다.
다음글
이전글