커뮤니티
부탁드립니다
2015-08-22 17:57:09
96
글번호 89762
번호 43361 맨위에 외부변수부터 함수로된 문장옆 오른쪽에 한줄당 주석좀 달아주시면 대단히 감사드리겠습니다 감사합니다 꾸벅
답변 1
예스스탁 예스스탁 답변
2015-08-24 10:55:35
안녕하세요
예스스탁입니다.
사용자분이 올리글에 내용만 추가한 식이라
수식에서 사용된 참조데이터가 어떤 데이터인지를
알수가 없습니다.
이용에 참고하시기 바랍니다.
input :
LSS1(10), LSS2(60),#이평기간
LFF1(10), LFF2(59),#이평기간
FMM1(5), FMM2(20),#이평기간
OMMD1(10), OMMD2(59),#이평기간
LossCutL(20), StopCutL(20),#매수 손절및 목표이익틱수
LossCutS(20), StopCutS(20);#매도 손절및 목표이익틱수
var : Ordata1(0,data6),LBB1(0,data6),LBB2(0,data6);
var : Eprice(0,data6),O2(0,data1);
var : BXcond(false,data1),SXcond(false,data1);
Ordata1 = (data4(c)+data5(c)); #참조데이터 data4 와 data5의 합
LBB1 = data6(ma(c,12));#참조데이터 data6의 12이평값
LBB2 = data6(ma(c,20));#참조데이터 data6의 20이평값
O2 = data6(O);#참조데이터 data6의 시가
#당일 매수후 "콜손절"이라는 청산이 나왔으면 true 아니면 false
BXcond = MarketPosition(1) == 1 and ExitDate(1) == sdate and IsExitName("콜손절",1);
#당일 매도후"풋손절"이라는 청산이 나왔으면 true 아니면 false
SXcond = MarketPosition(1) == -1 and ExitDate(1) == sdate and IsExitName("풋손절",1);
if LBB1 > LBB2 and #참조데이터 data6의 12이평이 20이평보다 크고
data2(ma(c,LSS1)) > data2(ma(c,LSS2)) and #참조데이터 data2의 10이평이 60이평보다 크고
data6(crossup(ma(Ordata1,LFF1),ma(Ordata1,LFF2))) then{ #Ordata1의 10이평이 Ordata1의 59이평을 상향돌파하면
if BXcond == false or MarketPosition == -1 Then #BXcond가 false이거나 매도포지션상태이면 매수
buy("매수1",AtMarket);
if MarketPosition == 0 and #무포지션이고
BXcond == true and #BXcond가 true이면
TimeToMinutes(stime) >= TimeToMinutes(ExitTime(1))+10 and #청산후 10분후에
C <= ExitPrice(1)-PriceScale*10 Then #종가가 청산가 -10틱이하이면 매수
buy("매수11",AtMarket);
}
if crossup(LBB1,LBB2) then{ #참조데이터 data6의 12이평이 20이평을 상향돌파하면
if BXcond == false or MarketPosition == -1 Then #BXcond가 false이거나 매도포지션상태이면 매수
buy("매수2",AtMarket);
if MarketPosition == 0 and #무포지션이고
BXcond == true and #BXcond가 true이면
TimeToMinutes(stime) >= TimeToMinutes(ExitTime(1))+10 and #청산후 10분후에
C <= ExitPrice(1)-PriceScale*10 Then #종가가 청산가 -10틱이하이면 매수
buy("매수21",AtMarket);
}
if LBB1 < LBB2 and #참조데이터 data6의 12이평이 20이평보다 작고
data2(ma(c,LSS1)) < data2(ma(c,LSS2)) and #참조데이터 data2의 10이평이 60이평보다 작고
data6(crossdown(ma(Ordata1,LFF1),ma(Ordata1,LFF2))) then{ #Ordata1의 10이평이 Ordata1의 59이평을 하향이탈하면
if SXcond == false or MarketPosition == 1 Then #SXcond가 false이거나 매수포지션상태이면 매도
sell("매도1",AtMarket);
if MarketPosition == 0 and #무포지션이고
SXcond == true and #SXcond가 true이면
TimeToMinutes(stime) >= TimeToMinutes(ExitTime(1))+10 and #청산후 10분후에
C >= ExitPrice(1)+PriceScale*10 Then #종가가 청산가 +10틱이상이면 매도
sell("매도11",AtMarket);
}
if crossdown(LBB1,LBB2) then{#참조데이터 data6의 12이평이 20이평을 하향이탈하면
if SXcond == false or MarketPosition == 1 Then #SXcond가 false이거나 매수포지션상태이면 매도
sell("매도2",AtMarket);
if MarketPosition == 0 and #무포지션이고
SXcond == true and #SXcond가 true이면
TimeToMinutes(stime) >= TimeToMinutes(ExitTime(1))+10 and #청산후 10분후에
C >= ExitPrice(1)+PriceScale*10 Then종가가 청산가 +10틱이상이면 매도
sell("매도12",AtMarket);
}
#매수후 data2의 5이평이 20이평보다 작고 Ordata1의 10이평이 59이평을 하향이탈하면 매수포지션 청산
if data2(ma(c,FMM1)) < data2(ma(c,FMM2)) and data6(crossdown(ma(Ordata1,OMMD1),ma(Ordata1,OMMD2))) then{
ExitLong("매수청산",AtMarket);
}
#매도후 data2의 5이평이 20이평보다 크고 Ordata1의 10이평이 59이평을 상향돌파하면 매도포지션 청산
if data2(ma(c,FMM1)) > data2(ma(c,FMM2)) and data6(crossup(ma(Ordata1,OMMD1),ma(Ordata1,OMMD2))) then{
ExitLong("매도청산",AtMarket);
}
#매수 후
If MarketPosition == 1 Then {
#data6의 저가가 진입봉의 data6의 시가대비 -LosscutL틱수이하이면 매수포지션 청산
if data6(L) <= O2[BarsSinceEntry]-(LosscutL*data6(PriceScale)) Then
ExitLong("콜손절");
#data6의 고가가 진입봉의 data6의 시가대비 StopCutL틱수이상이면 매수포지션 청산
if data6(H) >= O2[BarsSinceEntry]+(StopCutL*data6(PriceScale)) Then
Exitlong("콜익절");
}
If MarketPosition == -1 Then {
#data6의 저가가 진입봉의 data6의 시가대비 +LosscutL틱수이상이면 매도포지션 청산
if data6(L) >= O2[BarsSinceEntry]+(LosscutS*data6(PriceScale)) Then
ExitShort("풋손절");
#data6의 고가가 진입봉의 data6의 시가대비 -StopCutL틱수이하이면 매도포지션 청산
if data6(H) <= O2[BarsSinceEntry]-(StopCutS*data6(PriceScale)) Then
ExitShort("풋익절");
}
즐거운 하루되세요
> 개미왕초 님이 쓴 글입니다.
> 제목 : 부탁드립니다
> 번호 43361 맨위에 외부변수부터 함수로된 문장옆 오른쪽에 한줄당 주석좀 달아주시면 대단히 감사드리겠습니다 감사합니다 꾸벅
이전글