커뮤니티

수식 문의드립니다.

프로필 이미지
라떼처럼
2018-05-21 01:15:03
136
글번호 119062
답변완료
***아래식을 1번,2번 과 같이 수정하고 싶습니다. 부탁드립니다. 1. 당일 해당 거래시간동안 (거래시간 해외선물 07:00 ~ 06:00) "당일거래청산으로인한손익+현재포지션손익 >= 10pt(조정가능)" 10pt 이상이면 보유 포지션 있으면 청산, 해당시간 매매 중단. 다음날 시작시간(07:00)에 다시 거래시작 "당일거래청산으로인한손익+현재포지션손익 < 10pt(조정가능)" 이면 보유 포지션 있으면 다음날로 이월하여 계속 거래. 없으면 시작시간(07:00) 다시 거래시작 2. (1번과 다른점은 10Pt 이하시 05:30 보유포지션 청산 입니다.) "당일거래청산으로인한손익+현재포지션손익 < 10pt(조정가능)" 이면 05:30 에 보유 포지션 청산. 다음날 시작시간(07:00)에 다시 거래시작 3. (가능한지 문의드립니다.) 당일 해당 거래시간동안 (거래시간 해외선물 07:00 ~ 06:00) 지정 계좌의 "당일거래발생으로인한손익+현재포지션손익 >= 10$ 이상이면 시스템1,2 해당 포지션 청산, 당일매매 중단. 다음날 시작 시간에 새로 거래를 시작 한계좌에서 두종목 이상 거래하고 있으며(시스뎀1+종목1, 시스템2+종목2) 기준입니다 ***아래식 input : P1(10), P2(200); var1 = ma(c,P1); var2 = ma(C,P2); input : 익절1(21),익절1하락(1),손절(15); var : BH(0),SL(0),HE(0),LE(0); if crossup(var1, var2) and var2 > var2[1] Then{ buy("BB"); } if crossdown(var1, var2) and var2 < var2[1] Then{ sell("SS"); } //청산 if MarketPosition == 1 Then{ BH = highest(H,BarsSinceEntry); if MaxEntries == 1 Then HE = LatestEntryPrice(0); if MaxEntries >= 2 and LatestEntryPrice(0) > HE Then HE = LatestEntryPrice(0); if BH >= EntryPrice+PriceScale*익절1 Then{ ExitLong("B익절1",AtStop,BH-PriceScale*익절1하락); } ExitLong("B손절",AtStop,HE-PriceScale*손절); } if MarketPosition == -1 Then{ SL = Lowest(L,BarsSinceEntry); if MaxEntries == 1 Then LE = LatestEntryPrice(0); if MaxEntries >= 2 and LatestEntryPrice(0) < LE Then LE = LatestEntryPrice(0); if SL <= EntryPrice-PriceScale*익절1 Then{ ExitShort("S익절1",AtStop,SL+PriceScale*익절1하락); } ExitShort("S손절",AtStop,LE+PriceScale*손절); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2018-05-23 10:41:11

안녕하세요 예스스탁입니다. 1. input : P1(10), P2(200); input : 익절1(21),익절1하락(1),손절(15); Input : 당일수익(10); var : BH(0),SL(0),HE(0),LE(0),N1(0),daypl(0),Xcond(false); if Bdate != Bdate[1] Then { N1 = NetProfit; Xcond = false; } if TotalTrades > TotalTrades[1] and (IsExitName("dbp",1) == true or IsExitName("dsp",1) == true) then Xcond = true; daypl = NetProfit-N1; var1 = ma(c,P1); var2 = ma(C,P2); if crossup(var1, var2) and var2 > var2[1] and Xcond == false Then { buy("BB"); } if crossdown(var1, var2) and var2 < var2[1] and Xcond == false Then { sell("SS"); } //청산 if MarketPosition == 1 Then { BH = highest(H,BarsSinceEntry); if MaxEntries == 1 Then HE = LatestEntryPrice(0); if MaxEntries >= 2 and LatestEntryPrice(0) > HE Then HE = LatestEntryPrice(0); if BH >= EntryPrice+PriceScale*익절1 Then { ExitLong("B익절1",AtStop,BH-PriceScale*익절1하락); } ExitLong("B손절",AtStop,HE-PriceScale*손절); ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts)); } if MarketPosition == -1 Then { SL = Lowest(L,BarsSinceEntry); if MaxEntries == 1 Then LE = LatestEntryPrice(0); if MaxEntries >= 2 and LatestEntryPrice(0) < LE Then LE = LatestEntryPrice(0); if SL <= EntryPrice-PriceScale*익절1 Then { ExitShort("S익절1",AtStop,SL+PriceScale*익절1하락); } ExitShort("S손절",AtStop,LE+PriceScale*손절); ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts)); } 2 input : P1(10), P2(200); input : 익절1(21),익절1하락(1),손절(15); Input : 당일수익(10); var : BH(0),SL(0),HE(0),LE(0),N1(0),daypl(0),Xcond(false); if Bdate != Bdate[1] Then { N1 = NetProfit; Xcond = false; } if (sdate != sdate[1] and stime >= 053000) or (sdate == sdate[1] and stime >= 053000 and stime[1] < 053000) Then { Xcond = true; if MarketPosition == 1 Then exitlong(); if MarketPosition == -1 Then ExitShort(); } if TotalTrades > TotalTrades[1] and (IsExitName("dbp",1) == true or IsExitName("dsp",1) == true) then Xcond = true; daypl = NetProfit-N1; var1 = ma(c,P1); var2 = ma(C,P2); if crossup(var1, var2) and var2 > var2[1] and Xcond == false Then { buy("BB"); } if crossdown(var1, var2) and var2 < var2[1] and Xcond == false Then { sell("SS"); } //청산 if MarketPosition == 1 Then { BH = highest(H,BarsSinceEntry); if MaxEntries == 1 Then HE = LatestEntryPrice(0); if MaxEntries >= 2 and LatestEntryPrice(0) > HE Then HE = LatestEntryPrice(0); if BH >= EntryPrice+PriceScale*익절1 Then { ExitLong("B익절1",AtStop,BH-PriceScale*익절1하락); } ExitLong("B손절",AtStop,HE-PriceScale*손절); ExitLong("dbp",atlimit,EntryPrice+((당일수익-daypl)/CurrentContracts)); } if MarketPosition == -1 Then { SL = Lowest(L,BarsSinceEntry); if MaxEntries == 1 Then LE = LatestEntryPrice(0); if MaxEntries >= 2 and LatestEntryPrice(0) < LE Then LE = LatestEntryPrice(0); if SL <= EntryPrice-PriceScale*익절1 Then { ExitShort("S익절1",AtStop,SL+PriceScale*익절1하락); } ExitShort("S손절",AtStop,LE+PriceScale*손절); ExitShort("dsp",atlimit,EntryPrice-((당일수익-daypl)/CurrentContracts)); } 3 3번은 가능한 내용이 아닙니다. 즐거운 하루되세요 > 라떼처럼 님이 쓴 글입니다. > 제목 : 수식 문의드립니다. > ***아래식을 1번,2번 과 같이 수정하고 싶습니다. 부탁드립니다. 1. 당일 해당 거래시간동안 (거래시간 해외선물 07:00 ~ 06:00) "당일거래청산으로인한손익+현재포지션손익 >= 10pt(조정가능)" 10pt 이상이면 보유 포지션 있으면 청산, 해당시간 매매 중단. 다음날 시작시간(07:00)에 다시 거래시작 "당일거래청산으로인한손익+현재포지션손익 < 10pt(조정가능)" 이면 보유 포지션 있으면 다음날로 이월하여 계속 거래. 없으면 시작시간(07:00) 다시 거래시작 2. (1번과 다른점은 10Pt 이하시 05:30 보유포지션 청산 입니다.) "당일거래청산으로인한손익+현재포지션손익 < 10pt(조정가능)" 이면 05:30 에 보유 포지션 청산. 다음날 시작시간(07:00)에 다시 거래시작 3. (가능한지 문의드립니다.) 당일 해당 거래시간동안 (거래시간 해외선물 07:00 ~ 06:00) 지정 계좌의 "당일거래발생으로인한손익+현재포지션손익 >= 10$ 이상이면 시스템1,2 해당 포지션 청산, 당일매매 중단. 다음날 시작 시간에 새로 거래를 시작 한계좌에서 두종목 이상 거래하고 있으며(시스뎀1+종목1, 시스템2+종목2) 기준입니다 ***아래식 input : P1(10), P2(200); var1 = ma(c,P1); var2 = ma(C,P2); input : 익절1(21),익절1하락(1),손절(15); var : BH(0),SL(0),HE(0),LE(0); if crossup(var1, var2) and var2 > var2[1] Then{ buy("BB"); } if crossdown(var1, var2) and var2 < var2[1] Then{ sell("SS"); } //청산 if MarketPosition == 1 Then{ BH = highest(H,BarsSinceEntry); if MaxEntries == 1 Then HE = LatestEntryPrice(0); if MaxEntries >= 2 and LatestEntryPrice(0) > HE Then HE = LatestEntryPrice(0); if BH >= EntryPrice+PriceScale*익절1 Then{ ExitLong("B익절1",AtStop,BH-PriceScale*익절1하락); } ExitLong("B손절",AtStop,HE-PriceScale*손절); } if MarketPosition == -1 Then{ SL = Lowest(L,BarsSinceEntry); if MaxEntries == 1 Then LE = LatestEntryPrice(0); if MaxEntries >= 2 and LatestEntryPrice(0) < LE Then LE = LatestEntryPrice(0); if SL <= EntryPrice-PriceScale*익절1 Then{ ExitShort("S익절1",AtStop,SL+PriceScale*익절1하락); } ExitShort("S손절",AtStop,LE+PriceScale*손절); }