커뮤니티
수정 요청
2013-09-11 16:25:38
153
글번호 67466
안녕하세요
아래식을 하루에 두번 만 매매하도록 바꾸면 어떻게 수정하지요
신호가 너무많아 하루 두번으로 하고싶습니다
1,
var29 = ma(c,1);
var31 = ma(C,3);
var32 = ma(C,5);
var33 = ma(C,7);
var34 = ma(C,8);
var35 = ma(C,9);
var36 = ma(C,10);
var37 = ma(C,15);
var38 = ma(C,20);
var39 = ma(C,30);
var40 = ma(C,45);
var41 = ma(C,60);
var42 = ma(C,90);
var43 = ma(C,100);
var44 = ma(C,120);
Condition1 = ExitDate(1) == sdate and IsExitName("StopProfittarget",1) == true;
if Condition1 == false Then{
if (var31 > var37 and var32 >var38) and !(var31[1] > var37[1] and var32[1] >var38[1]) then
buy("b1",OnClose,def);
if MarketPosition == 0 And #현재 무포지션
MarketPosition(1) == 1 And #직전거래 매수포지션
crossup(C,ExitPrice(1)) Then #진전거래의 청산가격을 상향돌파하면 재매수
buy("rebuy");
if (var31 < var37 and var33 < var37) and !(var31[1] < var37[1] and var33[1] < var37[1]) then
Sell("ss",OnClose,def);
if MarketPosition == 0 And #현재 무포지션
MarketPosition(1) == -1 And #직전거래 매도포지션
CrossDown(C,ExitPrice(1)) Then #직전거래의 청산가격을 상향돌파하면 재매도
sell("resell");
}
//---------------------이익실현-----------------------------------
If (stime >= 90000 and stime < 100000) THEN
SetStopTrailing(0.05,1.0,PointStop,0);
else If (stime > 95000 and stime < 120000) THEN
SetStopTrailing(0.05,1,PointStop,0);
else If (stime > 114000 and stime < 135000) THEN
SetStopTrailing(0.05,1,PointStop,0);
else If (stime > 120000 and stime < 143000) THEN
SetStopTrailing(0.05,1,PointStop,0);
else If (stime > 142000 and stime < 150000) THEN
SetStopTrailing(0.05,1,PointStop,0);
Else
SetStopTrailing(0,0,0);
SetStopProfittarget(2.0,PercentStop);
SetStopInactivity(0.1,20,PointStop);
SetStopLoss(1.0,PercentStop);
SetStopEndofday(150000);
감사^^
답변 1
예스스탁 예스스탁 답변
2013-09-11 17:03:55
안녕하세요
예스스탁입니다.
input : N(2);
var : cnt(0),count(0);
count = 0;
for cnt = 0 to 20{
if sdate == EntryDate(cnt) Then
count = count+1;
}
var29 = ma(c,1);
var31 = ma(C,3);
var32 = ma(C,5);
var33 = ma(C,7);
var34 = ma(C,8);
var35 = ma(C,9);
var36 = ma(C,10);
var37 = ma(C,15);
var38 = ma(C,20);
var39 = ma(C,30);
var40 = ma(C,45);
var41 = ma(C,60);
var42 = ma(C,90);
var43 = ma(C,100);
var44 = ma(C,120);
Condition1 = ExitDate(1) == sdate and IsExitName("StopProfittarget",1) == true;
if Condition1 == false and count < N Then{
if (var31 > var37 and var32 >var38) and !(var31[1] > var37[1] and var32[1] >var38[1]) then
buy("b1",OnClose,def);
if MarketPosition == 0 And #현재 무포지션
MarketPosition(1) == 1 And #직전거래 매수포지션
crossup(C,ExitPrice(1)) Then #진전거래의 청산가격을 상향돌파하면 재매수
buy("rebuy");
if (var31 < var37 and var33 < var37) and !(var31[1] < var37[1] and var33[1] < var37[1]) then
Sell("ss",OnClose,def);
if MarketPosition == 0 And #현재 무포지션
MarketPosition(1) == -1 And #직전거래 매도포지션
CrossDown(C,ExitPrice(1)) Then #직전거래의 청산가격을 상향돌파하면 재매도
sell("resell");
}
//---------------------이익실현-----------------------------------
If (stime >= 90000 and stime < 100000) THEN
SetStopTrailing(0.05,1.0,PointStop,0);
else If (stime > 95000 and stime < 120000) THEN
SetStopTrailing(0.05,1,PointStop,0);
else If (stime > 114000 and stime < 135000) THEN
SetStopTrailing(0.05,1,PointStop,0);
else If (stime > 120000 and stime < 143000) THEN
SetStopTrailing(0.05,1,PointStop,0);
else If (stime > 142000 and stime < 150000) THEN
SetStopTrailing(0.05,1,PointStop,0);
Else
SetStopTrailing(0,0,0);
SetStopProfittarget(2.0,PercentStop);
SetStopInactivity(0.1,20,PointStop);
SetStopLoss(1.0,PercentStop);
SetStopEndofday(150000);
즐거운 하루되세요
> yang오뚜기 님이 쓴 글입니다.
> 제목 : 수정 요청
> 안녕하세요
아래식을 하루에 두번 만 매매하도록 바꾸면 어떻게 수정하지요
신호가 너무많아 하루 두번으로 하고싶습니다
1,
var29 = ma(c,1);
var31 = ma(C,3);
var32 = ma(C,5);
var33 = ma(C,7);
var34 = ma(C,8);
var35 = ma(C,9);
var36 = ma(C,10);
var37 = ma(C,15);
var38 = ma(C,20);
var39 = ma(C,30);
var40 = ma(C,45);
var41 = ma(C,60);
var42 = ma(C,90);
var43 = ma(C,100);
var44 = ma(C,120);
Condition1 = ExitDate(1) == sdate and IsExitName("StopProfittarget",1) == true;
if Condition1 == false Then{
if (var31 > var37 and var32 >var38) and !(var31[1] > var37[1] and var32[1] >var38[1]) then
buy("b1",OnClose,def);
if MarketPosition == 0 And #현재 무포지션
MarketPosition(1) == 1 And #직전거래 매수포지션
crossup(C,ExitPrice(1)) Then #진전거래의 청산가격을 상향돌파하면 재매수
buy("rebuy");
if (var31 < var37 and var33 < var37) and !(var31[1] < var37[1] and var33[1] < var37[1]) then
Sell("ss",OnClose,def);
if MarketPosition == 0 And #현재 무포지션
MarketPosition(1) == -1 And #직전거래 매도포지션
CrossDown(C,ExitPrice(1)) Then #직전거래의 청산가격을 상향돌파하면 재매도
sell("resell");
}
//---------------------이익실현-----------------------------------
If (stime >= 90000 and stime < 100000) THEN
SetStopTrailing(0.05,1.0,PointStop,0);
else If (stime > 95000 and stime < 120000) THEN
SetStopTrailing(0.05,1,PointStop,0);
else If (stime > 114000 and stime < 135000) THEN
SetStopTrailing(0.05,1,PointStop,0);
else If (stime > 120000 and stime < 143000) THEN
SetStopTrailing(0.05,1,PointStop,0);
else If (stime > 142000 and stime < 150000) THEN
SetStopTrailing(0.05,1,PointStop,0);
Else
SetStopTrailing(0,0,0);
SetStopProfittarget(2.0,PercentStop);
SetStopInactivity(0.1,20,PointStop);
SetStopLoss(1.0,PercentStop);
SetStopEndofday(150000);
감사^^