커뮤니티

구동이 않되고, 하루 한번만 진입하게 하려면은

프로필 이미지
구다이전설
2013-01-11 17:45:14
245
글번호 58078
답변완료
분봉에 구동을 했을때 한번 단계별로 매도청산 또는 또는 매수청산 했다가 바로 청산 됩니다 원하는 식은 10계약을 매수 또는 매도한후 0.1 포인트 마다 청산하는하고 만약에 청산 했을 때 남은 계약수에서 마지막 청산 했을 때 보다 0.25포인트 빠지면 모두 청산해 버리는 식입니다 ,,,, 그리고 하루 한번씩 만 매도 , 매수 가 들어가게 추가도 부탁합니다 Input : P(10), P1(13),진입수량(10) ; var : MMT(0),MMTSig(0); MMT = Momentum(P); MMTSig = ma(MMT,p1); if crossup (mmt,mmtsig) Then buy("bMom", OnClose,진입수량); if CrossDown(mmt,mmtsig) Then sell("SMom", onclose,진입수량); if MarketPosition == 1 Then { ExitLong("Bx1",AtLimit,EntryPrice+0.1,"",1,1); ExitLong("Bx2",AtLimit,EntryPrice+0.2,"",1,1); ExitLong("Bx3",AtLimit,EntryPrice+0.3,"",1,1); ExitLong("Bx4",AtLimit,EntryPrice+0.4,"",1,1); ExitLong("Bx5",AtLimit,EntryPrice+0.5,"",1,1); ExitLong("Bx6",AtLimit,EntryPrice+0.6,"",1,1); ExitLong("Bx7",AtLimit,EntryPrice+0.7,"",1,1); ExitLong("Bx8",AtLimit,EntryPrice+0.8,"",1,1); ExitLong("Bx9",AtLimit,EntryPrice+0.9,"",1,1); ExitLong("Bx10",AtLimit,EntryPrice+1,"",1,1); if CurrentContracts == 9 Then ExitLong("x1",AtStop,(EntryPrice+0.1)-0.25); if CurrentContracts == 8 Then ExitLong("x2",AtStop,(EntryPrice+0.2)-0.25); if CurrentContracts == 7 Then ExitLong("x3",AtStop,(EntryPrice+0.3)-0.25); if CurrentContracts == 6 Then ExitLong("x4",AtStop,(EntryPrice+0.4)-0.25); if CurrentContracts == 5 Then ExitLong("x5",AtStop,(EntryPrice+0.5)-0.25); if CurrentContracts == 4 Then ExitLong("x6",AtStop,(EntryPrice+0.6)-0.25); if CurrentContracts == 3 Then ExitLong("x7",AtStop,(EntryPrice+0.7)-0.25); if CurrentContracts == 2 Then ExitLong("x8",AtStop,(EntryPrice+0.8)-0.25); if CurrentContracts ==1 Then ExitLong("x9",AtStop,(EntryPrice+0.9)-0.25); } If MarketPosition == -1 Then{ ExitShort("Sx1",AtLimit,EntryPrice-0.1,"",1,1); ExitShort("Sx2",AtLimit,EntryPrice-0.2,"",1,1); ExitShort("Sx3",AtLimit,EntryPrice-0.3,"",1,1); ExitShort("Sx4",AtLimit,EntryPrice-0.4,"",1,1); ExitShort("Sx5",AtLimit,EntryPrice-0.5,"",1,1); ExitShort("Sx6",AtLimit,EntryPrice-0.6,"",1,1); ExitShort("Sx7",AtLimit,EntryPrice-0.7,"",1,1); ExitShort("Sx8",AtLimit,EntryPrice-0.8,"",1,1); ExitShort("Sx9",AtLimit,EntryPrice-0.9,"",1,1); ExitShort("Sx10",AtLimit,EntryPrice-1,"",1,1); if CurrentContracts == 9 Then ExitShort("xs1",AtStop,(EntryPrice-0.1)+0.25); if CurrentContracts == 8 Then ExitShort("xs2",AtStop,(EntryPrice-0.2)+0.25); if CurrentContracts == 7 Then ExitShort("xs3",AtStop,(EntryPrice-0.3)+0.25); if CurrentContracts == 6 Then ExitShort("xs4",AtStop,(EntryPrice-0.4)+0.25); if CurrentContracts == 5 Then ExitShort("xs5",AtStop,(EntryPrice-0.5)+0.25); if CurrentContracts == 4 Then ExitShort("xs6",AtStop,(EntryPrice-0.6)+0.25); if CurrentContracts == 3 Then ExitShort("xs7",AtStop,(EntryPrice-0.7)+0.25); if CurrentContracts == 2 Then ExitShort("xs8",AtStop,(EntryPrice-0.8)+0.25); if CurrentContracts ==1 Then ExitShort("xs9",AtStop,(EntryPrice-0.9)+0.25); }
시스템
답변 1
프로필 이미지

예스스탁 예스스탁 답변

2013-01-11 18:50:18

안녕하세요 예스스탁입니다. 매수나 매도주문은(진입명,신호타입,신호가격, 수량) 입니다. 신호타입은 onclose이고 수량이 신호가격에 있으므로 수량이 10이 아닌 설정창에 지정된 수량으로 나가므로 분할청산도 되지 않았습니다. 식을 수정했습니다. 매수와 매도가 각 한번씩만 나가게 했습니다 최대한 짧은주기에 적용하시기 바랍니다. Input : P(10), P1(13),진입수량(10) ; var : MMT(0),MMTSig(0); MMT = Momentum(P); MMTSig = ma(MMT,p1); if date != date[1] Then{ Condition1 = false; Condition2 = false; } if Condition1 == false and crossup (mmt,mmtsig) Then buy("bMom", OnClose,def,진입수량); if Condition2 == false and CrossDown(mmt,mmtsig) Then sell("SMom", onclose,def,진입수량); if MarketPosition == 1 Then { Condition1 = true; ExitLong("Bx1",AtLimit,EntryPrice+0.1,"",1,1); ExitLong("Bx2",AtLimit,EntryPrice+0.2,"",1,1); ExitLong("Bx3",AtLimit,EntryPrice+0.3,"",1,1); ExitLong("Bx4",AtLimit,EntryPrice+0.4,"",1,1); ExitLong("Bx5",AtLimit,EntryPrice+0.5,"",1,1); ExitLong("Bx6",AtLimit,EntryPrice+0.6,"",1,1); ExitLong("Bx7",AtLimit,EntryPrice+0.7,"",1,1); ExitLong("Bx8",AtLimit,EntryPrice+0.8,"",1,1); ExitLong("Bx9",AtLimit,EntryPrice+0.9,"",1,1); ExitLong("Bx10",AtLimit,EntryPrice+1,"",1,1); if CurrentContracts == 9 Then ExitLong("x1",AtStop,(EntryPrice+0.1)-0.25); if CurrentContracts == 8 Then ExitLong("x2",AtStop,(EntryPrice+0.2)-0.25); if CurrentContracts == 7 Then ExitLong("x3",AtStop,(EntryPrice+0.3)-0.25); if CurrentContracts == 6 Then ExitLong("x4",AtStop,(EntryPrice+0.4)-0.25); if CurrentContracts == 5 Then ExitLong("x5",AtStop,(EntryPrice+0.5)-0.25); if CurrentContracts == 4 Then ExitLong("x6",AtStop,(EntryPrice+0.6)-0.25); if CurrentContracts == 3 Then ExitLong("x7",AtStop,(EntryPrice+0.7)-0.25); if CurrentContracts == 2 Then ExitLong("x8",AtStop,(EntryPrice+0.8)-0.25); if CurrentContracts ==1 Then ExitLong("x9",AtStop,(EntryPrice+0.9)-0.25); } If MarketPosition == -1 Then{ Condition2 = false; ExitShort("Sx1",AtLimit,EntryPrice-0.1,"",1,1); ExitShort("Sx2",AtLimit,EntryPrice-0.2,"",1,1); ExitShort("Sx3",AtLimit,EntryPrice-0.3,"",1,1); ExitShort("Sx4",AtLimit,EntryPrice-0.4,"",1,1); ExitShort("Sx5",AtLimit,EntryPrice-0.5,"",1,1); ExitShort("Sx6",AtLimit,EntryPrice-0.6,"",1,1); ExitShort("Sx7",AtLimit,EntryPrice-0.7,"",1,1); ExitShort("Sx8",AtLimit,EntryPrice-0.8,"",1,1); ExitShort("Sx9",AtLimit,EntryPrice-0.9,"",1,1); ExitShort("Sx10",AtLimit,EntryPrice-1,"",1,1); if CurrentContracts == 9 Then ExitShort("xs1",AtStop,(EntryPrice-0.1)+0.25); if CurrentContracts == 8 Then ExitShort("xs2",AtStop,(EntryPrice-0.2)+0.25); if CurrentContracts == 7 Then ExitShort("xs3",AtStop,(EntryPrice-0.3)+0.25); if CurrentContracts == 6 Then ExitShort("xs4",AtStop,(EntryPrice-0.4)+0.25); if CurrentContracts == 5 Then ExitShort("xs5",AtStop,(EntryPrice-0.5)+0.25); if CurrentContracts == 4 Then ExitShort("xs6",AtStop,(EntryPrice-0.6)+0.25); if CurrentContracts == 3 Then ExitShort("xs7",AtStop,(EntryPrice-0.7)+0.25); if CurrentContracts == 2 Then ExitShort("xs8",AtStop,(EntryPrice-0.8)+0.25); if CurrentContracts ==1 Then ExitShort("xs9",AtStop,(EntryPrice-0.9)+0.25); } 즐거운 하루되세요 > 구다이전설 님이 쓴 글입니다. > 제목 : 구동이 않되고, 하루 한번만 진입하게 하려면은 > 분봉에 구동을 했을때 한번 단계별로 매도청산 또는 또는 매수청산 했다가 바로 청산 됩니다 원하는 식은 10계약을 매수 또는 매도한후 0.1 포인트 마다 청산하는하고 만약에 청산 했을 때 남은 계약수에서 마지막 청산 했을 때 보다 0.25포인트 빠지면 모두 청산해 버리는 식입니다 ,,,, 그리고 하루 한번씩 만 매도 , 매수 가 들어가게 추가도 부탁합니다 Input : P(10), P1(13),진입수량(10) ; var : MMT(0),MMTSig(0); MMT = Momentum(P); MMTSig = ma(MMT,p1); if crossup (mmt,mmtsig) Then buy("bMom", OnClose,진입수량); if CrossDown(mmt,mmtsig) Then sell("SMom", onclose,진입수량); if MarketPosition == 1 Then { ExitLong("Bx1",AtLimit,EntryPrice+0.1,"",1,1); ExitLong("Bx2",AtLimit,EntryPrice+0.2,"",1,1); ExitLong("Bx3",AtLimit,EntryPrice+0.3,"",1,1); ExitLong("Bx4",AtLimit,EntryPrice+0.4,"",1,1); ExitLong("Bx5",AtLimit,EntryPrice+0.5,"",1,1); ExitLong("Bx6",AtLimit,EntryPrice+0.6,"",1,1); ExitLong("Bx7",AtLimit,EntryPrice+0.7,"",1,1); ExitLong("Bx8",AtLimit,EntryPrice+0.8,"",1,1); ExitLong("Bx9",AtLimit,EntryPrice+0.9,"",1,1); ExitLong("Bx10",AtLimit,EntryPrice+1,"",1,1); if CurrentContracts == 9 Then ExitLong("x1",AtStop,(EntryPrice+0.1)-0.25); if CurrentContracts == 8 Then ExitLong("x2",AtStop,(EntryPrice+0.2)-0.25); if CurrentContracts == 7 Then ExitLong("x3",AtStop,(EntryPrice+0.3)-0.25); if CurrentContracts == 6 Then ExitLong("x4",AtStop,(EntryPrice+0.4)-0.25); if CurrentContracts == 5 Then ExitLong("x5",AtStop,(EntryPrice+0.5)-0.25); if CurrentContracts == 4 Then ExitLong("x6",AtStop,(EntryPrice+0.6)-0.25); if CurrentContracts == 3 Then ExitLong("x7",AtStop,(EntryPrice+0.7)-0.25); if CurrentContracts == 2 Then ExitLong("x8",AtStop,(EntryPrice+0.8)-0.25); if CurrentContracts ==1 Then ExitLong("x9",AtStop,(EntryPrice+0.9)-0.25); } If MarketPosition == -1 Then{ ExitShort("Sx1",AtLimit,EntryPrice-0.1,"",1,1); ExitShort("Sx2",AtLimit,EntryPrice-0.2,"",1,1); ExitShort("Sx3",AtLimit,EntryPrice-0.3,"",1,1); ExitShort("Sx4",AtLimit,EntryPrice-0.4,"",1,1); ExitShort("Sx5",AtLimit,EntryPrice-0.5,"",1,1); ExitShort("Sx6",AtLimit,EntryPrice-0.6,"",1,1); ExitShort("Sx7",AtLimit,EntryPrice-0.7,"",1,1); ExitShort("Sx8",AtLimit,EntryPrice-0.8,"",1,1); ExitShort("Sx9",AtLimit,EntryPrice-0.9,"",1,1); ExitShort("Sx10",AtLimit,EntryPrice-1,"",1,1); if CurrentContracts == 9 Then ExitShort("xs1",AtStop,(EntryPrice-0.1)+0.25); if CurrentContracts == 8 Then ExitShort("xs2",AtStop,(EntryPrice-0.2)+0.25); if CurrentContracts == 7 Then ExitShort("xs3",AtStop,(EntryPrice-0.3)+0.25); if CurrentContracts == 6 Then ExitShort("xs4",AtStop,(EntryPrice-0.4)+0.25); if CurrentContracts == 5 Then ExitShort("xs5",AtStop,(EntryPrice-0.5)+0.25); if CurrentContracts == 4 Then ExitShort("xs6",AtStop,(EntryPrice-0.6)+0.25); if CurrentContracts == 3 Then ExitShort("xs7",AtStop,(EntryPrice-0.7)+0.25); if CurrentContracts == 2 Then ExitShort("xs8",AtStop,(EntryPrice-0.8)+0.25); if CurrentContracts ==1 Then ExitShort("xs9",AtStop,(EntryPrice-0.9)+0.25); }