커뮤니티
구동이 않되고, 하루 한번만 진입하게 하려면은
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);
}