커뮤니티
시스템 작성 부탁드립니다.
2018-01-28 20:15:45
222
글번호 116102
buy는 ketner 전략으로, sell은 MACD돌파로하고
청산전략은 샹델리에와 YOYO 청산전략을 사용하고자 합니다.
아래는 검색해서 찾은 트레이드스테이션 코드인것 같습니다.
BUY --- INTRADAY - 10분봉
Inputs: Price(Close), Length(6), Const(1.2), ChanPcnt(.6),KTCNUM(5);
Vars: KCU(0), KCL(0), ChanRng(0), AvgVal(0), AvgRange(0), SetBar(0), CountL(0), CountS(0);
var : MP(0),BuySetup(0),SellSetUp(0);
if DATE <> DATE[1] then begin
BuySetup = 0;
SellSetuP= 0;
end;
MP= MARKETPOSITION;
IF MP = 1 THEN BuySetup = 1;
IF MP = -1 THEN SellSetup = 1;
{Assignments of Keltner calculations}
AvgVal = Average(Price, Length);
AvgRange = Average(TrueRange, Length);
KCU = AvgVal + AvgRange * Const;
KCL = AvgVal - AvgRange * Const;
ChanRng = (KCU - KCL) / 2;
{Accumulates to count the bars after the SetUps below}
CountL = CountL + 1;
CountS = CountS + 1;
{Buy Criteria Evaluation}
IF Price Crosses Above KCU Then Begin
SetBar = High;
CountL = 1;
End;
{Sell Criteria Evaluation}
IF Price Crosses Below KCL Then Begin
SetBar = Low;
CountS = 1;
End;
If EntriesToday(DATE) < 2 AND TIME < 1450 then BEGIN
IF MP<> 1 AND bUYsETUP=0 AND Price > KCU AND CountL <= KTCNUM Then
Buy Next Bar at SetBar + (ChanRng * ChanPcnt) Stop;
end;
{Trailing Stops}
input : ATRLength(20),Chand(2.7),YOYO(2.3);
VAR : highPoint(0),LowPoint(0);
If MP = 1 Then BEGIN
HighPoint = Highest(High,barsSinceEntry +1);
exitlong("buyTStop") at HighPoint - Chand * AvgTrueRange(ATRLength) stop;
exitlong("BuyYoYStop") at Close - YoYo * AvgTrueRange(ATRLength) stop;
End;
If MP = 1 And Time > 1458 Then begin
exitlong ("BuyTimeOut") ;
end;
답변 1
예스스탁 예스스탁 답변
2018-01-29 13:53:22
안녕하세요
예스스탁입니다.
Inputs: Price(Close), Length(6), Const(1.2), ChanPcnt(.6),KTCNUM(5),short(12),long(26),sig(9);
Vars: KCU(0), KCL(0), ChanRng(0), AvgVal(0), AvgRange(0), SetBar(0), CountL(0), CountS(0);
var : MP(0),BuySetup(0),SellSetUp(0),T1(0),EntriesToday(0),macdv(0),macds(0);
if bdate <> bdate[1] then begin
T1 = TotalTrades;
BuySetup = 0;
SellSetuP= 0;
end;
MP= MARKETPOSITION;
if MP == 0 Then
EntriesToday = TotalTrades-T1;
Else
EntriesToday = TotalTrades-T1+1;
MACDV = MACD(short,long);
MACDS = ema(MACDV,sig);
IF MP == 1 THEN BuySetup = 1;
IF MP == -1 THEN SellSetup = 1;
#{Assignments of Keltner calculations}
AvgVal = MA(Price, Length);
AvgRange = MA(TrueRange, Length);
KCU = AvgVal + AvgRange * Const;
KCL = AvgVal - AvgRange * Const;
ChanRng = (KCU - KCL) / 2;
#{Accumulates to count the bars after the SetUps below}
CountL = CountL + 1;
CountS = CountS + 1;
#{Buy Criteria Evaluation}
IF crossup(Price,KCU) Then Begin
SetBar = High;
CountL = 1;
End;
#{Sell Criteria Evaluation}
IF CrossDown(Price,KCL) Then Begin
SetBar = Low;
CountS = 1;
End;
If EntriesToday < 2 AND sTime < 145000 then BEGIN
IF MP<> 1 AND bUYsETUP==0 AND Price > KCU AND CountL <= KTCNUM Then
Buy("b",AtStop,SetBar + (ChanRng * ChanPcnt));
end;
If EntriesToday < 2 AND sTime < 145000 then BEGIN
IF MP <> -1 and CrossDown(MACDV,MACDS) Then
sell("s");
end;
#{Trailing Stops}
input : ATRLength(20),Chand(2.7),YOYO(2.3);
VAR : highPoint(0),LowPoint(0);
If MP == 1 Then BEGIN
HighPoint = Highest(High,barsSinceEntry +1);
exitlong("buyTStop", AtStop, HighPoint - Chand * ATR(ATRLength));
exitlong("BuyYoYStop",AtStop,Close - YoYo * ATR(ATRLength));
End;
If MP == -1 Then BEGIN
LowPoint = Lowest(High,barsSinceEntry +1);
ExitShort("sellTStop", AtStop, LowPoint + Chand * ATR(ATRLength));
ExitShort("sellYoYStop",AtStop,Close + YoYo * ATR(ATRLength));
End;
SetStopEndofday(145000);
즐거운 하루되세요
> 모루 님이 쓴 글입니다.
> 제목 : 시스템 작성 부탁드립니다.
> buy는 ketner 전략으로, sell은 MACD돌파로하고
청산전략은 샹델리에와 YOYO 청산전략을 사용하고자 합니다.
아래는 검색해서 찾은 트레이드스테이션 코드인것 같습니다.
BUY --- INTRADAY - 10분봉
Inputs: Price(Close), Length(6), Const(1.2), ChanPcnt(.6),KTCNUM(5);
Vars: KCU(0), KCL(0), ChanRng(0), AvgVal(0), AvgRange(0), SetBar(0), CountL(0), CountS(0);
var : MP(0),BuySetup(0),SellSetUp(0);
if DATE <> DATE[1] then begin
BuySetup = 0;
SellSetuP= 0;
end;
MP= MARKETPOSITION;
IF MP = 1 THEN BuySetup = 1;
IF MP = -1 THEN SellSetup = 1;
{Assignments of Keltner calculations}
AvgVal = Average(Price, Length);
AvgRange = Average(TrueRange, Length);
KCU = AvgVal + AvgRange * Const;
KCL = AvgVal - AvgRange * Const;
ChanRng = (KCU - KCL) / 2;
{Accumulates to count the bars after the SetUps below}
CountL = CountL + 1;
CountS = CountS + 1;
{Buy Criteria Evaluation}
IF Price Crosses Above KCU Then Begin
SetBar = High;
CountL = 1;
End;
{Sell Criteria Evaluation}
IF Price Crosses Below KCL Then Begin
SetBar = Low;
CountS = 1;
End;
If EntriesToday(DATE) < 2 AND TIME < 1450 then BEGIN
IF MP<> 1 AND bUYsETUP=0 AND Price > KCU AND CountL <= KTCNUM Then
Buy Next Bar at SetBar + (ChanRng * ChanPcnt) Stop;
end;
{Trailing Stops}
input : ATRLength(20),Chand(2.7),YOYO(2.3);
VAR : highPoint(0),LowPoint(0);
If MP = 1 Then BEGIN
HighPoint = Highest(High,barsSinceEntry +1);
exitlong("buyTStop") at HighPoint - Chand * AvgTrueRange(ATRLength) stop;
exitlong("BuyYoYStop") at Close - YoYo * AvgTrueRange(ATRLength) stop;
End;
If MP = 1 And Time > 1458 Then begin
exitlong ("BuyTimeOut") ;
end;
다음글
이전글