커뮤니티
수정해주세요---------
2012-05-12 11:54:11
345
글번호 50958
input:매매구분(0),진입가(261.35),진입점(091000),손절(1);
if 매매구분 == 1 Then{
#시가가 진입가보다 아래에서 생성되면 시장가 매수
if NextBarOpen < 진입가 Then
buy("b1",AtMarket);
#시가가 진입가보다 위에서 생성되면 진입가까지 시세하락하면 매수
if NextBarOpen > 진입가 Then
buy("b2",Atlimit,진입가);
}
if 매매구분 == -1 Then{
#시가가 진입가보다 위에서 생성되면 시장가 매도
if NextBarOpen >= 진입가 Then
sell("s1",AtMarket);
#시가가 진입가보다 아래에서 생성되면 진입가까지 시세상승하면 매도
if NextBarOpen < 진입가 Then
sell("s2",Atlimit,진입가);
}
if ExitDate(1) == sdate and MarketPosition == 0 Then{
if IsExitName("bx",1) == true Then
buy("rebuy",AtStop,lowest(L,BarsSinceExit(1))+0.2);
if IsExitName("sx",1) == true Then
sell("resell",AtStop,Highest(H,BarsSinceExit(1))-0.2);
}
if MarketPosition == 1 Then{
var1 = highest(H,BarsSinceEntry);
if var1 >= EntryPrice+0.2 Then
exitlong("bx",AtStop,EntryPrice);
if var1 >= EntryPrice+1 Then
exitlong("btr",AtStop,var1-(var1-EntryPrice)*0.3);
}
if MarketPosition == -1 Then{
var2 = lowest(L,BarsSinceEntry);
if var2 <= EntryPrice-0.2 Then
ExitShort("sx",AtStop,EntryPrice);
if var2 <= EntryPrice-1 Then
ExitShort("str",AtStop,var2+(EntryPrice-var2)*0.3);
}
SetStopLoss(손절,PointStop);
//시간청산------------------------------------------------------------
var91 = int(date/100)-int(date/10000)*100; //월
var92 = date - int(date/100)*100; //일
var93 = DayOfWeek(date); //요일
if var91%1 == 0 and var92 >= 8 and var92 <= 14 and var93 == 4 then {
SetStopEndofday(144800);
}
else {
SetStopEndofday(150100);
}
진입점 이후에만 진입하게해주시고요
b1 이나 b2 하루한번진입(b1 진입했으면 그날은 다시 b1,b2 진입없음 b2도 마찬가지)
s1 이나 s2 도 하루한번진입(s1 진입했으면 그날은 다시 s1,s2 진입없음 s2도 마찬가지)
부탁드립니다
답변 1
예스스탁 예스스탁 답변
2012-05-14 10:19:02
안녕하세요
예스스탁입니다.
input:매매구분(0),진입가(261.35),진입점(091000),손절(1);
var : Cnt(0),Bcount(0),Scount(0);
Bcount = 0;
Scount = 0;
for cnt = 0 to 10{
if sdate == EntryDate(cnt) and MarketPosition(cnt) == 1 Then
Bcount = Bcount+1;
if sdate == EntryDate(cnt) and MarketPosition(cnt) == -1 Then
Scount = Scount+1;
}
if 매매구분 == 1 and Bcount < 1 Then{
#시가가 진입가보다 아래에서 생성되면 시장가 매수
if NextBarOpen < 진입가 Then
buy("b1",AtMarket);
#시가가 진입가보다 위에서 생성되면 진입가까지 시세하락하면 매수
if NextBarOpen > 진입가 Then
buy("b2",Atlimit,진입가);
}
if 매매구분 == -1 and Scount < 1 Then{
#시가가 진입가보다 위에서 생성되면 시장가 매도
if NextBarOpen >= 진입가 Then
sell("s1",AtMarket);
#시가가 진입가보다 아래에서 생성되면 진입가까지 시세상승하면 매도
if NextBarOpen < 진입가 Then
sell("s2",Atlimit,진입가);
}
if ExitDate(1) == sdate and MarketPosition == 0 Then{
if IsExitName("bx",1) == true Then
buy("rebuy",AtStop,lowest(L,BarsSinceExit(1))+0.2);
if IsExitName("sx",1) == true Then
sell("resell",AtStop,Highest(H,BarsSinceExit(1))-0.2);
}
if MarketPosition == 1 Then{
var1 = highest(H,BarsSinceEntry);
if var1 >= EntryPrice+0.2 Then
exitlong("bx",AtStop,EntryPrice);
if var1 >= EntryPrice+1 Then
exitlong("btr",AtStop,var1-(var1-EntryPrice)*0.3);
}
if MarketPosition == -1 Then{
var2 = lowest(L,BarsSinceEntry);
if var2 <= EntryPrice-0.2 Then
ExitShort("sx",AtStop,EntryPrice);
if var2 <= EntryPrice-1 Then
ExitShort("str",AtStop,var2+(EntryPrice-var2)*0.3);
}
SetStopLoss(손절,PointStop);
//시간청산------------------------------------------------------------
var91 = int(date/100)-int(date/10000)*100; //월
var92 = date - int(date/100)*100; //일
var93 = DayOfWeek(date); //요일
if var91%1 == 0 and var92 >= 8 and var92 <= 14 and var93 == 4 then {
SetStopEndofday(144800);
}
else {
SetStopEndofday(150100);
}
즐거운 하루되세요
> leekss1 님이 쓴 글입니다.
> 제목 : 수정해주세요---------
> input:매매구분(0),진입가(261.35),진입점(091000),손절(1);
if 매매구분 == 1 Then{
#시가가 진입가보다 아래에서 생성되면 시장가 매수
if NextBarOpen < 진입가 Then
buy("b1",AtMarket);
#시가가 진입가보다 위에서 생성되면 진입가까지 시세하락하면 매수
if NextBarOpen > 진입가 Then
buy("b2",Atlimit,진입가);
}
if 매매구분 == -1 Then{
#시가가 진입가보다 위에서 생성되면 시장가 매도
if NextBarOpen >= 진입가 Then
sell("s1",AtMarket);
#시가가 진입가보다 아래에서 생성되면 진입가까지 시세상승하면 매도
if NextBarOpen < 진입가 Then
sell("s2",Atlimit,진입가);
}
if ExitDate(1) == sdate and MarketPosition == 0 Then{
if IsExitName("bx",1) == true Then
buy("rebuy",AtStop,lowest(L,BarsSinceExit(1))+0.2);
if IsExitName("sx",1) == true Then
sell("resell",AtStop,Highest(H,BarsSinceExit(1))-0.2);
}
if MarketPosition == 1 Then{
var1 = highest(H,BarsSinceEntry);
if var1 >= EntryPrice+0.2 Then
exitlong("bx",AtStop,EntryPrice);
if var1 >= EntryPrice+1 Then
exitlong("btr",AtStop,var1-(var1-EntryPrice)*0.3);
}
if MarketPosition == -1 Then{
var2 = lowest(L,BarsSinceEntry);
if var2 <= EntryPrice-0.2 Then
ExitShort("sx",AtStop,EntryPrice);
if var2 <= EntryPrice-1 Then
ExitShort("str",AtStop,var2+(EntryPrice-var2)*0.3);
}
SetStopLoss(손절,PointStop);
//시간청산------------------------------------------------------------
var91 = int(date/100)-int(date/10000)*100; //월
var92 = date - int(date/100)*100; //일
var93 = DayOfWeek(date); //요일
if var91%1 == 0 and var92 >= 8 and var92 <= 14 and var93 == 4 then {
SetStopEndofday(144800);
}
else {
SetStopEndofday(150100);
}
진입점 이후에만 진입하게해주시고요
b1 이나 b2 하루한번진입(b1 진입했으면 그날은 다시 b1,b2 진입없음 b2도 마찬가지)
s1 이나 s2 도 하루한번진입(s1 진입했으면 그날은 다시 s1,s2 진입없음 s2도 마찬가지)
부탁드립니다
다음글
이전글