커뮤니티
부탁드립니다.
2015-09-30 06:18:42
134
글번호 90765
if bdate != bdate[1] Then
entry = 0;
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
entry = entry+1;
Condition1 = MarketPosition(1) == 1 and IsExitName("StopProfittarget",1) == true;
Condition2 = MarketPosition(1) == -1 and IsExitName("StopProfittarget",1) == true;
If T == 1 and TRIXsig > TRIXsig[1] and (stime >= 090000 or stime < 033000) Then
{
if entry == 0 or
(entry >= 1 and MarketPosition == -1) or
(entry >= 1 and MarketPosition == 0 and Condition1 == false) or
(entry >= 1 and MarketPosition == 0 and Condition1 == true and
countif( SMIS < SMIS[1] ,BarsSinceExit(1)) >= 1) Then
Buy();
}
# 매도/매수청산
If T == -1 and TRIXsig < TRIXsig[1] and (stime >= 090000 or stime < 033000) Then
{
MessageLog("%s %s %.f",Condition1,Condition2,entry);
if entry == 0 or
(entry >= 1 and MarketPosition == 1) or
(entry >= 1 and MarketPosition == 0 and Condition2 == false) or
(entry >= 1 and MarketPosition == 0 and Condition2 == true and
countif( SMIS > SMIS[1] ,BarsSinceExit(1)) >= 1) Then {
Sell();
}
}
if MarketPosition == 1 and TRIXsig < TRIXsig[1] and SMIv < SMIv[1] Then{
ExitLong();
}
if MarketPosition == -1 and TRIXsig > TRIXsig[1] and SMIv > SMIv[1] Then{
ExitShort();
}
SetStopProfittarget(PriceScale*익절틱수, PointStop);
SetStopLoss(PriceScale*손절틱수, PointStop);
if stime == 050000 or (stime > 050000 and stime < 050000) Then{
exitlong();
ExitShort();
}
** 상기 시스템에서 몇가지 진입조건을 추가 부탁드립니다.
1) 신호발생시 ( 완성봉기준 ) 10일 이평선과의 차이가 20틱이상이되면 신호발생이 안되게 가능하면 부탁드립니다. ( 이후에 진입조건이 만족되어있는 상태에서 10일이평선과의 차이가 20틱이내로 줄어들면 신호발생이 되게 부탁드립니다.)
2) 종가가 시가보다 20틱이상되면 신호발생이 안되게 부탁드립니다.( 매수신호의 경우 )
공히 1), 2) 의 조건은 신호발생봉 5봉이상이 경과되면서 조건이 안되어 신호가 발생되지 않으면 그신호는 취소되게 부탁드립니다.
3) 신호발생봉 전3봉에서 10일, 20일 이평선이
( 데드일경우 이격이커지면
골드일경우 이격이 작아지면 ) 신호발생이 안되게 부탁드립니다. ( 매수의 경우 )
4)
SMIv = ema(ema(c-(highest(H,g) + lowest(L,g))*0.5, r),s) * 100 /
(0.5 * ema(ema(highest(H,g)-lowest(L,g),r),s)) ;
SMIS = ema(SMIV,p);
plot1(SMIV);
plot2(SMIS);
PlotBaseLine1(50,"과열");
PlotBaseLine2(-50,"침체");
상기 지표에서 plot2가 과열구간 (50) 이상에서는 신호발생 안되게 부탁드립니다.( 매수의경우)
5) SetStopProfittarget 로 연속 5번익절이 성공되면 이후 당일은 신호발생이 안되게 부탁드립니다.
6) 당일손실 80틱, 당일손실 80틱 이상이면 이후 당일은 신호발생이 안되게 부탁드립니다.
공히 매도는 반대.
## 매매 종료시간을 180000 으로 바꾸어도 6시이후에 신호가 계속 발생이 되는데...
다른 조건이 있나요? ( 종료시간을 24시 이후로 하면 시작 ,종료시간은 제대로 됩니다.)
많은 조건을 부탁드렸는데... 미리 감사드립니다.
답변 3
예스스탁 예스스탁 답변
2015-09-30 16:10:00
> vmfha 님이 쓴 글입니다.
> 제목 : 부탁드립니다.
> if bdate != bdate[1] Then
entry = 0;
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
entry = entry+1;
Condition1 = MarketPosition(1) == 1 and IsExitName("StopProfittarget",1) == true;
Condition2 = MarketPosition(1) == -1 and IsExitName("StopProfittarget",1) == true;
If T == 1 and TRIXsig > TRIXsig[1] and (stime >= 090000 or stime < 033000) Then
{
if entry == 0 or
(entry >= 1 and MarketPosition == -1) or
(entry >= 1 and MarketPosition == 0 and Condition1 == false) or
(entry >= 1 and MarketPosition == 0 and Condition1 == true and
countif( SMIS < SMIS[1] ,BarsSinceExit(1)) >= 1) Then
Buy();
}
# 매도/매수청산
If T == -1 and TRIXsig < TRIXsig[1] and (stime >= 090000 or stime < 033000) Then
{
MessageLog("%s %s %.f",Condition1,Condition2,entry);
if entry == 0 or
(entry >= 1 and MarketPosition == 1) or
(entry >= 1 and MarketPosition == 0 and Condition2 == false) or
(entry >= 1 and MarketPosition == 0 and Condition2 == true and
countif( SMIS > SMIS[1] ,BarsSinceExit(1)) >= 1) Then {
Sell();
}
}
if MarketPosition == 1 and TRIXsig < TRIXsig[1] and SMIv < SMIv[1] Then{
ExitLong();
}
if MarketPosition == -1 and TRIXsig > TRIXsig[1] and SMIv > SMIv[1] Then{
ExitShort();
}
SetStopProfittarget(PriceScale*익절틱수, PointStop);
SetStopLoss(PriceScale*손절틱수, PointStop);
if stime == 050000 or (stime > 050000 and stime < 050000) Then{
exitlong();
ExitShort();
}
** 상기 시스템에서 몇가지 진입조건을 추가 부탁드립니다.
1) 신호발생시 ( 완성봉기준 ) 10일 이평선과의 차이가 20틱이상이되면 신호발생이 안되게 가능하면 부탁드립니다. ( 이후에 진입조건이 만족되어있는 상태에서 10일이평선과의 차이가 20틱이내로 줄어들면 신호발생이 되게 부탁드립니다.)
2) 종가가 시가보다 20틱이상되면 신호발생이 안되게 부탁드립니다.( 매수신호의 경우 )
공히 1), 2) 의 조건은 신호발생봉 5봉이상이 경과되면서 조건이 안되어 신호가 발생되지 않으면 그신호는 취소되게 부탁드립니다.
3) 신호발생봉 전3봉에서 10일, 20일 이평선이
( 데드일경우 이격이커지면
골드일경우 이격이 작아지면 ) 신호발생이 안되게 부탁드립니다. ( 매수의 경우 )
4)
SMIv = ema(ema(c-(highest(H,g) + lowest(L,g))*0.5, r),s) * 100 /
(0.5 * ema(ema(highest(H,g)-lowest(L,g),r),s)) ;
SMIS = ema(SMIV,p);
plot1(SMIV);
plot2(SMIS);
PlotBaseLine1(50,"과열");
PlotBaseLine2(-50,"침체");
상기 지표에서 plot2가 과열구간 (50) 이상에서는 신호발생 안되게 부탁드립니다.( 매수의경우)
5) SetStopProfittarget 로 연속 5번익절이 성공되면 이후 당일은 신호발생이 안되게 부탁드립니다.
6) 당일손실 80틱, 당일손실 80틱 이상이면 이후 당일은 신호발생이 안되게 부탁드립니다.
공히 매도는 반대.
## 매매 종료시간을 180000 으로 바꾸어도 6시이후에 신호가 계속 발생이 되는데...
다른 조건이 있나요? ( 종료시간을 24시 이후로 하면 시작 ,종료시간은 제대로 됩니다.)
많은 조건을 부탁드렸는데... 미리 감사드립니다.
예스스탁 예스스탁 답변
2015-10-01 15:08:22
안녕하세요
예스스탁입니다.
input : g(10),r(5),s(5),P(10),익절틱수(20),손절틱수(20),시작시간(90000),끝시간(33000);
var : entry(0),T(0),TRIXSig(0),SMIv(0),SMIS(0),Tcond(false);
var : mav1(0),mav2(0),diff(0),dis(0),Profitcount(0),cnt(0),dayPL(0),NP(0),pre(0);
SMIv = ema(ema(c-(highest(H,g) + lowest(L,g))*0.5, r),s) * 100 /
(0.5 * ema(ema(highest(H,g)-lowest(L,g),r),s)) ;
SMIS = ema(SMIV,p);
NP = NetProfit;
if stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간) Then{
entry = 0;
pre = NP[1];
Tcond = true;
}
dayPl = NP-Pre;
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
entry = entry+1;
mav1 = ma(C,10);
mav2 = ma(c,20);
diff = mav1-mav2;#이평이격
dis = Disparity(20);#이격도
Profitcount = 0;
for cnt = 1 to 5{
if sdate == ExitDate(cnt) and IsExitName("StopProfitTarget",1) == true Then
Profitcount = Profitcount+1;
}
Condition1 = MarketPosition(1) == 1 and IsExitName("StopProfittarget",1) == true;
Condition2 = MarketPosition(1) == -1 and IsExitName("StopProfittarget",1) == true;
If T == 1 and TRIXsig > TRIXsig[1] and Tcond == true and #기존조건
C < mav1+PriceScale*20 and C > mav1-PriceScale*20 and #10이평과 20틱 이내
C < O+PriceScale*20 and #종가가 시가대비 20틱이상 크지 않음
(CountIF(mav1 > mav2 and diff > diff[1],3) == 3 or
CountIF(mav1 < mav2 and diff < diff[1],3) == 3) and #골드인 경우 이평이격이 3봉연속 커지고 데드일경우 3봉연속 작아짐
SMIS < 50 and #SMIS가 50보다 작음
Profitcount < 5 and #당일 5번 연속 익절은 아님
dayPL > -PriceScale*50 Then #당일손실이 80틱이상은 아님
{
if entry == 0 or
(entry >= 1 and MarketPosition == -1) or
(entry >= 1 and MarketPosition == 0 and Condition1 == false) or
(entry >= 1 and MarketPosition == 0 and Condition1 == true and
countif( SMIS < SMIS[1] ,BarsSinceExit(1)) >= 1) Then
Buy();
}
# 매도/매수청산
If T == -1 and TRIXsig < TRIXsig[1] and (stime >= 090000 or stime < 033000) and
C < mav1+PriceScale*20 and C > mav1-PriceScale*20 and #10이평과 20틱 이내
C > O-PriceScale*20 and #종가가 시가대비 20틱이상 작지 않음
(CountIF(mav1 > mav2 and diff < diff[1],3) == 3 or
CountIF(mav1 < mav2 and diff > diff[1],3) == 3) and #골드인 경우 이평이격이 3봉연속 작아지고 데드일경우 3봉연속 커짐
SMIS > -50 and #SMIS가 -50보다 큼
Profitcount < 5 and #당일 5번 연속 익절은 아님
dayPL > -PriceScale*50 Then #당일손실이 80틱이상은 아님
{
if entry == 0 or
(entry >= 1 and MarketPosition == 1) or
(entry >= 1 and MarketPosition == 0 and Condition2 == false) or
(entry >= 1 and MarketPosition == 0 and Condition2 == true and
countif( SMIS > SMIS[1] ,BarsSinceExit(1)) >= 1) Then {
Sell();
}
}
if MarketPosition == 1 and TRIXsig < TRIXsig[1] and SMIv < SMIv[1] Then{
ExitLong();
}
if MarketPosition == -1 and TRIXsig > TRIXsig[1] and SMIv > SMIv[1] Then{
ExitShort();
}
SetStopProfittarget(PriceScale*익절틱수, PointStop);
SetStopLoss(PriceScale*손절틱수, PointStop);
if stime == 끝시간 or (stime > 끝시간 and stime < 끝시간) Then{
Tcond = false;
exitlong();
ExitShort();
}
#매수진입 후 10이평 대비 30틱이상 커지면 매수포지션 청산
if MarketPosition == 1 and C >= mav1+PriceScale*30 Then
exitlong();
#매수진입 후 이격이 100.70이상인 상태에서 이격이 하락하면 청산
if MarketPosition == 1 and dis >= 100.70 and dis < dis[1] Then
exitlong();
#매수진입 후 SMIS가 50이상이서 하락하면 청산
if MarketPosition == 1 and SMIS >= 50 and SMIV < SMIV[1] Then
exitlong();
#매도진입 후 10이평 대비 30틱이상 작아지면 매도포지션 청산
if MarketPosition == -1 and C <= mav1-PriceScale*30 Then
ExitShort();
#매도진입 후 이격이 99.30 이하인 상태에서 이격이 상승하면 매도포지션 청산
if MarketPosition == -1 and dis <= 99.30 and dis > dis[1] Then
ExitShort();
#매도진입 후 SMIS가 -50이하에서 상승하면 매도포지션 청산
if MarketPosition == -1 and SMIS <= -50 and SMIV > SMIV[1] Then
ExitShort();
즐거운 하루되세요
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 전화주시기 바랍니다.(02-3453-1060)
>
> vmfha 님이 쓴 글입니다.
> 제목 : 부탁드립니다.
> if bdate != bdate[1] Then
entry = 0;
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
entry = entry+1;
Condition1 = MarketPosition(1) == 1 and IsExitName("StopProfittarget",1) == true;
Condition2 = MarketPosition(1) == -1 and IsExitName("StopProfittarget",1) == true;
If T == 1 and TRIXsig > TRIXsig[1] and (stime >= 090000 or stime < 033000) Then
{
if entry == 0 or
(entry >= 1 and MarketPosition == -1) or
(entry >= 1 and MarketPosition == 0 and Condition1 == false) or
(entry >= 1 and MarketPosition == 0 and Condition1 == true and
countif( SMIS < SMIS[1] ,BarsSinceExit(1)) >= 1) Then
Buy();
}
# 매도/매수청산
If T == -1 and TRIXsig < TRIXsig[1] and (stime >= 090000 or stime < 033000) Then
{
MessageLog("%s %s %.f",Condition1,Condition2,entry);
if entry == 0 or
(entry >= 1 and MarketPosition == 1) or
(entry >= 1 and MarketPosition == 0 and Condition2 == false) or
(entry >= 1 and MarketPosition == 0 and Condition2 == true and
countif( SMIS > SMIS[1] ,BarsSinceExit(1)) >= 1) Then {
Sell();
}
}
if MarketPosition == 1 and TRIXsig < TRIXsig[1] and SMIv < SMIv[1] Then{
ExitLong();
}
if MarketPosition == -1 and TRIXsig > TRIXsig[1] and SMIv > SMIv[1] Then{
ExitShort();
}
SetStopProfittarget(PriceScale*익절틱수, PointStop);
SetStopLoss(PriceScale*손절틱수, PointStop);
if stime == 050000 or (stime > 050000 and stime < 050000) Then{
exitlong();
ExitShort();
}
** 상기 시스템에서 몇가지 진입조건을 추가 부탁드립니다.
1) 신호발생시 ( 완성봉기준 ) 10일 이평선과의 차이가 20틱이상이되면 신호발생이 안되게 가능하면 부탁드립니다. ( 이후에 진입조건이 만족되어있는 상태에서 10일이평선과의 차이가 20틱이내로 줄어들면 신호발생이 되게 부탁드립니다.)
2) 종가가 시가보다 20틱이상되면 신호발생이 안되게 부탁드립니다.( 매수신호의 경우 )
공히 1), 2) 의 조건은 신호발생봉 5봉이상이 경과되면서 조건이 안되어 신호가 발생되지 않으면 그신호는 취소되게 부탁드립니다.
3) 신호발생봉 전3봉에서 10일, 20일 이평선이
( 데드일경우 이격이커지면
골드일경우 이격이 작아지면 ) 신호발생이 안되게 부탁드립니다. ( 매수의 경우 )
4)
SMIv = ema(ema(c-(highest(H,g) + lowest(L,g))*0.5, r),s) * 100 /
(0.5 * ema(ema(highest(H,g)-lowest(L,g),r),s)) ;
SMIS = ema(SMIV,p);
plot1(SMIV);
plot2(SMIS);
PlotBaseLine1(50,"과열");
PlotBaseLine2(-50,"침체");
상기 지표에서 plot2가 과열구간 (50) 이상에서는 신호발생 안되게 부탁드립니다.( 매수의경우)
5) SetStopProfittarget 로 연속 5번익절이 성공되면 이후 당일은 신호발생이 안되게 부탁드립니다.
6) 당일손실 80틱, 당일손실 80틱 이상이면 이후 당일은 신호발생이 안되게 부탁드립니다.
공히 매도는 반대.
## 매매 종료시간을 180000 으로 바꾸어도 6시이후에 신호가 계속 발생이 되는데...
다른 조건이 있나요? ( 종료시간을 24시 이후로 하면 시작 ,종료시간은 제대로 됩니다.)
많은 조건을 부탁드렸는데... 미리 감사드립니다.
예스스탁 예스스탁 답변
2015-10-01 17:28:53
안녕하세요
예스스탁입니다.
input : g(10),r(5),s(5),P(10),익절틱수(20),손절틱수(20),시작시간(90000),끝시간(33000);
var : entry(0),T(0),TRIXSig(0),SMIv(0),SMIS(0),Tcond(false);
var : mav1(0),mav2(0),diff(0),dis(0),Profitcount(0),cnt(0),dayPL(0),NP(0),pre(0);
Input : Period(12), sigPeriod(9);
var : TRIXv(0);
TRIXv = TRIX(Period);
TRIXsig = ema(TRIX(Period),sigPeriod);
if crossup(Trixv,Trixsig) Then
T = 1;
if CrossDown(Trixv,Trixsig) Then
T = -1;
SMIv = ema(ema(c-(highest(H,g) + lowest(L,g))*0.5, r),s) * 100 /
(0.5 * ema(ema(highest(H,g)-lowest(L,g),r),s)) ;
SMIS = ema(SMIV,p);
NP = NetProfit;
if stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간) Then{
entry = 0;
pre = NP[1];
Tcond = true;
}
dayPl = NP-Pre;
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
entry = entry+1;
mav1 = ma(C,10);
mav2 = ma(c,20);
diff = mav1-mav2;#이평이격
dis = Disparity(20);#이격도
Profitcount = 0;
for cnt = 1 to 5{
if sdate == ExitDate(cnt) and IsExitName("StopProfitTarget",1) == true Then
Profitcount = Profitcount+1;
}
Condition1 = MarketPosition(1) == 1 and IsExitName("StopProfitTarget",1) == true;
Condition2 = MarketPosition(1) == -1 and IsExitName("StopProfitTarget",1) == true;
If SMIS > SMIS[1] and TRIXsig > TRIXsig[1] and Tcond == true and #기존조건
C < mav1+PriceScale*20 and C > mav1-PriceScale*20 and #10이평과 20틱 이내
C < O+PriceScale*20 and #종가가 시가대비 20틱이상 크지 않음
(CountIF(mav1 > mav2 and diff > diff[1],3) == 3 or
CountIF(mav1 < mav2 and diff < diff[1],3) == 3) and #골드인 경우 이평이격이 3봉연속 커지고 데드일경우 3봉연속 작아짐
SMIS < 50 and #SMIS가 50보다 작음
Profitcount < 5 and #당일 5번 연속 익절은 아님
dayPL > -PriceScale*50 Then #당일손실이 80틱이상은 아님
{
if entry == 0 or
(entry >= 1 and MarketPosition == -1) or
(entry >= 1 and MarketPosition == 0 and Condition1 == false) or
(entry >= 1 and MarketPosition == 0 and Condition1 == true and
countif( SMIS < SMIS[1] ,BarsSinceExit(1)) >= 1) Then
Buy();
}
# 매도/매수청산
If SMIS < SMIS[1] and TRIXsig < TRIXsig[1] and Tcond == true and
C < mav1+PriceScale*20 and C > mav1-PriceScale*20 and #10이평과 20틱 이내
C > O-PriceScale*20 and #종가가 시가대비 20틱이상 작지 않음
(CountIF(mav1 > mav2 and diff < diff[1],3) == 3 or
CountIF(mav1 < mav2 and diff > diff[1],3) == 3) and #골드인 경우 이평이격이 3봉연속 작아지고 데드일경우 3봉연속 커짐
SMIS > -50 and #SMIS가 -50보다 큼
Profitcount < 5 and #당일 5번 연속 익절은 아님
dayPL > -PriceScale*50 Then #당일손실이 80틱이상은 아님
{
if entry == 0 or
(entry >= 1 and MarketPosition == 1) or
(entry >= 1 and MarketPosition == 0 and Condition2 == false) or
(entry >= 1 and MarketPosition == 0 and Condition2 == true and
countif( SMIS > SMIS[1] ,BarsSinceExit(1)) >= 1) Then {
Sell();
}
}
if MarketPosition == 1 and TRIXsig < TRIXsig[1] and SMIv < SMIv[1] Then{
ExitLong();
}
if MarketPosition == -1 and TRIXsig > TRIXsig[1] and SMIv > SMIv[1] Then{
ExitShort();
}
SetStopProfittarget(PriceScale*익절틱수, PointStop);
SetStopLoss(PriceScale*손절틱수, PointStop);
if stime == 끝시간 or (stime > 끝시간 and stime < 끝시간) Then{
Tcond = false;
exitlong();
ExitShort();
}
#매수진입 후 10이평 대비 30틱이상 커지면 매수포지션 청산
if MarketPosition == 1 and C >= mav1+PriceScale*30 Then
exitlong();
#매수진입 후 이격이 100.70이상인 상태에서 이격이 하락하면 청산
if MarketPosition == 1 and dis >= 100.70 and dis < dis[1] Then
exitlong();
#매수진입 후 SMIS가 50이상이서 하락하면 청산
if MarketPosition == 1 and SMIS >= 50 and SMIV < SMIV[1] Then
exitlong();
#매도진입 후 10이평 대비 30틱이상 작아지면 매도포지션 청산
if MarketPosition == -1 and C <= mav1-PriceScale*30 Then
ExitShort();
#매도진입 후 이격이 99.30 이하인 상태에서 이격이 상승하면 매도포지션 청산
if MarketPosition == -1 and dis <= 99.30 and dis > dis[1] Then
ExitShort();
#매도진입 후 SMIS가 -50이하에서 상승하면 매도포지션 청산
if MarketPosition == -1 and SMIS <= -50 and SMIV > SMIV[1] Then
ExitShort();
즐거운 하루되세요
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : Re : 전화주시기 바랍니다.(02-3453-1060)
>
안녕하세요
예스스탁입니다.
input : g(10),r(5),s(5),P(10),익절틱수(20),손절틱수(20),시작시간(90000),끝시간(33000);
var : entry(0),T(0),TRIXSig(0),SMIv(0),SMIS(0),Tcond(false);
var : mav1(0),mav2(0),diff(0),dis(0),Profitcount(0),cnt(0),dayPL(0),NP(0),pre(0);
SMIv = ema(ema(c-(highest(H,g) + lowest(L,g))*0.5, r),s) * 100 /
(0.5 * ema(ema(highest(H,g)-lowest(L,g),r),s)) ;
SMIS = ema(SMIV,p);
NP = NetProfit;
if stime == 시작시간 or (stime > 시작시간 and stime[1] < 시작시간) Then{
entry = 0;
pre = NP[1];
Tcond = true;
}
dayPl = NP-Pre;
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
entry = entry+1;
mav1 = ma(C,10);
mav2 = ma(c,20);
diff = mav1-mav2;#이평이격
dis = Disparity(20);#이격도
Profitcount = 0;
for cnt = 1 to 5{
if sdate == ExitDate(cnt) and IsExitName("StopProfitTarget",1) == true Then
Profitcount = Profitcount+1;
}
Condition1 = MarketPosition(1) == 1 and IsExitName("StopProfittarget",1) == true;
Condition2 = MarketPosition(1) == -1 and IsExitName("StopProfittarget",1) == true;
If T == 1 and TRIXsig > TRIXsig[1] and Tcond == true and #기존조건
C < mav1+PriceScale*20 and C > mav1-PriceScale*20 and #10이평과 20틱 이내
C < O+PriceScale*20 and #종가가 시가대비 20틱이상 크지 않음
(CountIF(mav1 > mav2 and diff > diff[1],3) == 3 or
CountIF(mav1 < mav2 and diff < diff[1],3) == 3) and #골드인 경우 이평이격이 3봉연속 커지고 데드일경우 3봉연속 작아짐
SMIS < 50 and #SMIS가 50보다 작음
Profitcount < 5 and #당일 5번 연속 익절은 아님
dayPL > -PriceScale*50 Then #당일손실이 80틱이상은 아님
{
if entry == 0 or
(entry >= 1 and MarketPosition == -1) or
(entry >= 1 and MarketPosition == 0 and Condition1 == false) or
(entry >= 1 and MarketPosition == 0 and Condition1 == true and
countif( SMIS < SMIS[1] ,BarsSinceExit(1)) >= 1) Then
Buy();
}
# 매도/매수청산
If T == -1 and TRIXsig < TRIXsig[1] and (stime >= 090000 or stime < 033000) and
C < mav1+PriceScale*20 and C > mav1-PriceScale*20 and #10이평과 20틱 이내
C > O-PriceScale*20 and #종가가 시가대비 20틱이상 작지 않음
(CountIF(mav1 > mav2 and diff < diff[1],3) == 3 or
CountIF(mav1 < mav2 and diff > diff[1],3) == 3) and #골드인 경우 이평이격이 3봉연속 작아지고 데드일경우 3봉연속 커짐
SMIS > -50 and #SMIS가 -50보다 큼
Profitcount < 5 and #당일 5번 연속 익절은 아님
dayPL > -PriceScale*50 Then #당일손실이 80틱이상은 아님
{
if entry == 0 or
(entry >= 1 and MarketPosition == 1) or
(entry >= 1 and MarketPosition == 0 and Condition2 == false) or
(entry >= 1 and MarketPosition == 0 and Condition2 == true and
countif( SMIS > SMIS[1] ,BarsSinceExit(1)) >= 1) Then {
Sell();
}
}
if MarketPosition == 1 and TRIXsig < TRIXsig[1] and SMIv < SMIv[1] Then{
ExitLong();
}
if MarketPosition == -1 and TRIXsig > TRIXsig[1] and SMIv > SMIv[1] Then{
ExitShort();
}
SetStopProfittarget(PriceScale*익절틱수, PointStop);
SetStopLoss(PriceScale*손절틱수, PointStop);
if stime == 끝시간 or (stime > 끝시간 and stime < 끝시간) Then{
Tcond = false;
exitlong();
ExitShort();
}
#매수진입 후 10이평 대비 30틱이상 커지면 매수포지션 청산
if MarketPosition == 1 and C >= mav1+PriceScale*30 Then
exitlong();
#매수진입 후 이격이 100.70이상인 상태에서 이격이 하락하면 청산
if MarketPosition == 1 and dis >= 100.70 and dis < dis[1] Then
exitlong();
#매수진입 후 SMIS가 50이상이서 하락하면 청산
if MarketPosition == 1 and SMIS >= 50 and SMIV < SMIV[1] Then
exitlong();
#매도진입 후 10이평 대비 30틱이상 작아지면 매도포지션 청산
if MarketPosition == -1 and C <= mav1-PriceScale*30 Then
ExitShort();
#매도진입 후 이격이 99.30 이하인 상태에서 이격이 상승하면 매도포지션 청산
if MarketPosition == -1 and dis <= 99.30 and dis > dis[1] Then
ExitShort();
#매도진입 후 SMIS가 -50이하에서 상승하면 매도포지션 청산
if MarketPosition == -1 and SMIS <= -50 and SMIV > SMIV[1] Then
ExitShort();
즐거운 하루되세요
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 전화주시기 바랍니다.(02-3453-1060)
>
> vmfha 님이 쓴 글입니다.
> 제목 : 부탁드립니다.
> if bdate != bdate[1] Then
entry = 0;
if MarketPosition != 0 and MarketPosition != MarketPosition[1] Then
entry = entry+1;
Condition1 = MarketPosition(1) == 1 and IsExitName("StopProfittarget",1) == true;
Condition2 = MarketPosition(1) == -1 and IsExitName("StopProfittarget",1) == true;
If T == 1 and TRIXsig > TRIXsig[1] and (stime >= 090000 or stime < 033000) Then
{
if entry == 0 or
(entry >= 1 and MarketPosition == -1) or
(entry >= 1 and MarketPosition == 0 and Condition1 == false) or
(entry >= 1 and MarketPosition == 0 and Condition1 == true and
countif( SMIS < SMIS[1] ,BarsSinceExit(1)) >= 1) Then
Buy();
}
# 매도/매수청산
If T == -1 and TRIXsig < TRIXsig[1] and (stime >= 090000 or stime < 033000) Then
{
MessageLog("%s %s %.f",Condition1,Condition2,entry);
if entry == 0 or
(entry >= 1 and MarketPosition == 1) or
(entry >= 1 and MarketPosition == 0 and Condition2 == false) or
(entry >= 1 and MarketPosition == 0 and Condition2 == true and
countif( SMIS > SMIS[1] ,BarsSinceExit(1)) >= 1) Then {
Sell();
}
}
if MarketPosition == 1 and TRIXsig < TRIXsig[1] and SMIv < SMIv[1] Then{
ExitLong();
}
if MarketPosition == -1 and TRIXsig > TRIXsig[1] and SMIv > SMIv[1] Then{
ExitShort();
}
SetStopProfittarget(PriceScale*익절틱수, PointStop);
SetStopLoss(PriceScale*손절틱수, PointStop);
if stime == 050000 or (stime > 050000 and stime < 050000) Then{
exitlong();
ExitShort();
}
** 상기 시스템에서 몇가지 진입조건을 추가 부탁드립니다.
1) 신호발생시 ( 완성봉기준 ) 10일 이평선과의 차이가 20틱이상이되면 신호발생이 안되게 가능하면 부탁드립니다. ( 이후에 진입조건이 만족되어있는 상태에서 10일이평선과의 차이가 20틱이내로 줄어들면 신호발생이 되게 부탁드립니다.)
2) 종가가 시가보다 20틱이상되면 신호발생이 안되게 부탁드립니다.( 매수신호의 경우 )
공히 1), 2) 의 조건은 신호발생봉 5봉이상이 경과되면서 조건이 안되어 신호가 발생되지 않으면 그신호는 취소되게 부탁드립니다.
3) 신호발생봉 전3봉에서 10일, 20일 이평선이
( 데드일경우 이격이커지면
골드일경우 이격이 작아지면 ) 신호발생이 안되게 부탁드립니다. ( 매수의 경우 )
4)
SMIv = ema(ema(c-(highest(H,g) + lowest(L,g))*0.5, r),s) * 100 /
(0.5 * ema(ema(highest(H,g)-lowest(L,g),r),s)) ;
SMIS = ema(SMIV,p);
plot1(SMIV);
plot2(SMIS);
PlotBaseLine1(50,"과열");
PlotBaseLine2(-50,"침체");
상기 지표에서 plot2가 과열구간 (50) 이상에서는 신호발생 안되게 부탁드립니다.( 매수의경우)
5) SetStopProfittarget 로 연속 5번익절이 성공되면 이후 당일은 신호발생이 안되게 부탁드립니다.
6) 당일손실 80틱, 당일손실 80틱 이상이면 이후 당일은 신호발생이 안되게 부탁드립니다.
공히 매도는 반대.
## 매매 종료시간을 180000 으로 바꾸어도 6시이후에 신호가 계속 발생이 되는데...
다른 조건이 있나요? ( 종료시간을 24시 이후로 하면 시작 ,종료시간은 제대로 됩니다.)
많은 조건을 부탁드렸는데... 미리 감사드립니다.