커뮤니티
부탁합니다
2017-05-01 19:09:49
119
글번호 109306
input : Period11(20),익절틱수(50),손절틱수(30);
input : Period1(30),Period2(18),signal(20);
Input : Period(50),sigPeriod(51);
Input : Period50(50),maPeriod51(51);
var : mav11(0),SROC(0),SROCsig(0),value1(0),value2(0),value50(0),value51(0);
mav11 = ma(c, Period11);
SROC = ema(C,Period1)/ema(c,Period1)[Period2]*100;
SROCsig = ema(SROC,signal);
value1 = TRIX(Period);
value2 = ema(value1, sigPeriod);
value50 = SONAR(Period50);
value51 = ema(value50, maPeriod51);
if MarketPosition <= 0 and
(SROC > SROCsig and value1 > value2 and value50 > value51) Then
buy("b",OnClose,def,1);
if MarketPosition == 1 Then{
if mav11 > mav11[1] and CurrentContracts < 5 Then
buy("bb",OnClose,def,1);
if (CrossDown(SROC,SROCsig)) or (CrossDown(value1,value2)) or (CrossDown(value50, value51)) Then{
ExitLong("bx");
}
ExitLong("bp",atlimit,AvgEntryPrice+PriceScale*익절틱수);
ExitLong("bl",AtStop,AvgEntryPrice-PriceScale*손절틱수);
}
if MarketPosition >= 0 and
(SROC < SROCsig and value1 < value2 and value50 < value51) Then
sell("s",OnClose,def,1);
if MarketPosition == -1 then{
if mav11 < mav11[1] and CurrentContracts < 5 Then
sell("ss",OnClose,def,1);
if (crossup(SROC,SROCsig)) or (crossup(value1,value2)) or (CrossUP(value50, value51)) Then{
ExitShort("sx");
}
ExitShort("sp",atlimit,AvgEntryPrice-PriceScale*익절틱수);
ExitShort("sl",AtStop,AvgEntryPrice+PriceScale*손절틱수);
}
혼자 작성하였으나 도저히 수식작성이 안되네요 수식 부탁합니다
1. == 직전에 진입한 포지션과 반대 방향으로만 진입을 허용하는 식을 부탁합니다===
즉 직전에 매수로 포지션에 들어 갔었으면 이번 거래는 매도로만 포지션 진입할 수 있고, 그 다음 거래는 매수로만 포지션 진입할 수 있도록 부탁합니다
최초 매수진입하면(SROC > SROCsig and value1 > value2 and value50 > value51)
이후 "bb" 또는 "bp" 또는 "bl"에 의거 진입청산되고
반드시 다음은 매도진입(SROC < SROCsig and value1 < value2 and value50 < value51)하고 이후 "sx" 또는 "sp" 또는 "sl"에 의거 매도청산순이 반복되도록 수식 부탁합니다
1번수식 삽입시 2번(최대수익대비 하락 또는 상승)도 넣어 주시기 바랍니다
2. 매수진입후 최대수익대비(평단가) 하락 하면 일괄청산(input : 최대수익대비청산 틱수 20틱)
매도진입후 최대수익대비(평단가) 상승 하면 일괄청산(input : 최대수익대비청산 틱수 20틱)
감사합니다
답변 1
예스스탁 예스스탁 답변
2017-05-08 14:36:27
안녕하세요
예스스탁입니다.
input : Period11(20),익절틱수(50),손절틱수(30);
input : Period1(30),Period2(18),signal(20);
Input : Period(50),sigPeriod(51);
Input : Period50(50),maPeriod51(51);
input : 최대수익대비청산틱수(20);
var : mav11(0),SROC(0),SROCsig(0),value1(0),value2(0),value50(0),value51(0),T(0), HH(0),LL(0);
mav11 = ma(c, Period11);
SROC = ema(C,Period1)/ema(c,Period1)[Period2]*100;
SROCsig = ema(SROC,signal);
value1 = TRIX(Period);
value2 = ema(value1, sigPeriod);
value50 = SONAR(Period50);
value51 = ema(value50, maPeriod51);
if T <= 0 and SROC > SROCsig and value1 > value2 and value50 > value51 Then {
T = 1;
if MarketPosition <= 0 then
buy("b",OnClose,def,1);
}
if T >= 0 and SROC < SROCsig and value1 < value2 and value50 < value51 Then {
T = -1;
if MarketPosition >= 0 then
sell("s",OnClose,def,1);
}
if MarketPosition == 1 Then{
if mav11 > mav11[1] and CurrentContracts < 5 Then
buy("bb",OnClose,def,1);
if (CrossDown(SROC,SROCsig)) or (CrossDown(value1,value2)) or (CrossDown(value50, value51)) Then{
ExitLong("bx");
}
ExitLong("bp",atlimit,AvgEntryPrice+PriceScale*익절틱수);
ExitLong("bl",AtStop,AvgEntryPrice-PriceScale*손절틱수);
if CurrentContracts > CurrentContracts[1] Then
HH = H;
if H > HH Then
HH = H;
exitlong("bxx",AtStop,HH-PriceScale*최대수익대비청산틱수);
}
if MarketPosition == -1 then{
if mav11 < mav11[1] and CurrentContracts < 5 Then
sell("ss",OnClose,def,1);
if (crossup(SROC,SROCsig)) or (crossup(value1,value2)) or (CrossUP(value50, value51)) Then{
ExitShort("sx");
}
ExitShort("sp",atlimit,AvgEntryPrice-PriceScale*익절틱수);
ExitShort("sl",AtStop,AvgEntryPrice+PriceScale*손절틱수);
if CurrentContracts > CurrentContracts[1] Then
LL = L;
if L < LL Then
LL = L;
ExitShort("sxx",AtStop,LL+PriceScale*최대수익대비청산틱수);
}
즐거운 하루되세요
> 남산 님이 쓴 글입니다.
> 제목 : 부탁합니다
> input : Period11(20),익절틱수(50),손절틱수(30);
input : Period1(30),Period2(18),signal(20);
Input : Period(50),sigPeriod(51);
Input : Period50(50),maPeriod51(51);
var : mav11(0),SROC(0),SROCsig(0),value1(0),value2(0),value50(0),value51(0);
mav11 = ma(c, Period11);
SROC = ema(C,Period1)/ema(c,Period1)[Period2]*100;
SROCsig = ema(SROC,signal);
value1 = TRIX(Period);
value2 = ema(value1, sigPeriod);
value50 = SONAR(Period50);
value51 = ema(value50, maPeriod51);
if MarketPosition <= 0 and
(SROC > SROCsig and value1 > value2 and value50 > value51) Then
buy("b",OnClose,def,1);
if MarketPosition == 1 Then{
if mav11 > mav11[1] and CurrentContracts < 5 Then
buy("bb",OnClose,def,1);
if (CrossDown(SROC,SROCsig)) or (CrossDown(value1,value2)) or (CrossDown(value50, value51)) Then{
ExitLong("bx");
}
ExitLong("bp",atlimit,AvgEntryPrice+PriceScale*익절틱수);
ExitLong("bl",AtStop,AvgEntryPrice-PriceScale*손절틱수);
}
if MarketPosition >= 0 and
(SROC < SROCsig and value1 < value2 and value50 < value51) Then
sell("s",OnClose,def,1);
if MarketPosition == -1 then{
if mav11 < mav11[1] and CurrentContracts < 5 Then
sell("ss",OnClose,def,1);
if (crossup(SROC,SROCsig)) or (crossup(value1,value2)) or (CrossUP(value50, value51)) Then{
ExitShort("sx");
}
ExitShort("sp",atlimit,AvgEntryPrice-PriceScale*익절틱수);
ExitShort("sl",AtStop,AvgEntryPrice+PriceScale*손절틱수);
}
혼자 작성하였으나 도저히 수식작성이 안되네요 수식 부탁합니다
1. == 직전에 진입한 포지션과 반대 방향으로만 진입을 허용하는 식을 부탁합니다===
즉 직전에 매수로 포지션에 들어 갔었으면 이번 거래는 매도로만 포지션 진입할 수 있고, 그 다음 거래는 매수로만 포지션 진입할 수 있도록 부탁합니다
최초 매수진입하면(SROC > SROCsig and value1 > value2 and value50 > value51)
이후 "bb" 또는 "bp" 또는 "bl"에 의거 진입청산되고
반드시 다음은 매도진입(SROC < SROCsig and value1 < value2 and value50 < value51)하고 이후 "sx" 또는 "sp" 또는 "sl"에 의거 매도청산순이 반복되도록 수식 부탁합니다
1번수식 삽입시 2번(최대수익대비 하락 또는 상승)도 넣어 주시기 바랍니다
2. 매수진입후 최대수익대비(평단가) 하락 하면 일괄청산(input : 최대수익대비청산 틱수 20틱)
매도진입후 최대수익대비(평단가) 상승 하면 일괄청산(input : 최대수익대비청산 틱수 20틱)
감사합니다
다음글
이전글