예스스탁
예스스탁 답변
2021-01-04 14:38:01
안녕하세요
예스스탁입니다.
6번은 가능하지 않습니다.
input : startdate(20210104),starttime(143000),매매횟수(0);
var : Period(5), Period1(3), Period2(3), StoK(0),StoD(0), TL1(0), TL2(0), TLi1(0), TLi2(0), TX1(0), TX2(0), TX3(0), TX4(0), TX5(0), TX6(0);
var : entry(0);
if sDate >= Startdate and sTime >= Starttime Then
{
Condition1 = true;
entry = 0;
}
if Condition1 == true and
((MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1])) Then
entry = entry+1;
StoK = StochasticsK(Period,Period1);
StoD = StochasticsD(Period,Period1,Period2);
if StoK > StoK[1] and StoK[1] < StoK[2] and StoK < 50 then { //스토캐스틱 상승반전
var1 = StoK[1];
var2 = var1[1];
var3 = L[1];
var4 = var3[1];
var5 = sdate[1];
var6 = var5[1];
var7 = stime[1];
var8 = var7[1];
if var1 > var2 and var3 < var4 and Condition1 == true then
{
if (MarketPosition == 0 or (MarketPosition == 1 and C < LatestEntryPrice(0))) and
(매매횟수 == 0 or (매매횟수 > 0 and entry < 매매횟수)) Then
Buy();
}
}
if StoK < StoK[1] and StoK[1] > StoK[2] and StoK > 50 then {//스토캐스틱 하락반전
var11 = StoK[1];
var12 = var11[1];
var13 = H[1];
var14 = var13[1];
var15 = sdate[1];
var16 = var15[1];
var17 = stime[1];
var18 = var17[1];
if var11 < var12 and var13 > var14 and C > AvgEntryPrice and Condition1 == true then //지표값은 낮아지고 저(종)가는 높아지고
ExitLong();
}
즐거운 하루되세요
> 하리마우 님이 쓴 글입니다.
> 제목 : 수식변경 문의합니다.
> 2020년 한해 예스스탁 가족 여러분들 수고 많으셨습니다. 항상 어려운 수식에 부딪쳤을때 도와주셔서 감사, 또 감사드립니다. 새해에도 복 많이 받으시고 번창하시길 기원합니다.
문의내용 : 아래 지표식을 시스템식으로 변경 부탁합니다.
변수설정 :
1. 매매시작일시 : 시스템이 작동하는 일자를 임의로 설정(20210104)
2. 진입금지시간 : 시스템이 진입하지 않도록 임의의 시간 이후로 설정(143000)
3. 피라미딩적용 : 피라미딩 적용 시 진입가 보다 낮은 신호에서만 재진입
4. 이득청산적용 : 평균 진입가 보다 수익이 발생하고 신호발생시만 청산
5. 매매횟수제한 : 0으로 설정 시 무제한 매매, 1로 설정하면 1회만 진입, 청산..2로 설정하면 2회...3은 3회..
6. 매도신호적용 : 매수와 반도로 주식에서도 매도신호가 피라미딩 될 수 있도록 신호발생
지표식
var : Period(5), Period1(3), Period2(3), StoK(0),StoD(0), TL1(0), TL2(0), TLi1(0), TLi2(0), TX1(0), TX2(0), TX3(0), TX4(0), TX5(0), TX6(0);
StoK = StochasticsK(Period,Period1);
StoD = StochasticsD(Period,Period1,Period2);
if StoK > StoK[1] and StoK[1] < StoK[2] and StoK < 50 then { //스토캐스틱 상승반전
var1 = StoK[1];
var2 = var1[1];
var3 = L[1];
var4 = var3[1];
var5 = sdate[1];
var6 = var5[1];
var7 = stime[1];
var8 = var7[1];
if var1 > var2 and var3 < var4 then //지표값은 높아지고 고(종)가는 낮아지고
var9 = 1;
}
else
var9 = 0;
if var9 == 1 then {
TL1 = TL_New(var6,var8,var4,var5,var7,var3);
TLi1= TL_New_self(var6,var8,var2,var5,var7,var1);
TX1 = Text_new(var5, var7, L, "매수★");
TL_SetSize(TL1, 2);
TL_SetColor(TL1, Red);
TL_SetSize(TLi1, 2);
TL_SetColor(TLi1, Red);
Text_SetColor(Tx1,Magenta);
Text_SetStyle(Tx1,0,0);
}
if StoK < StoK[1] and StoK[1] > StoK[2] and StoK > 50 then {//스토캐스틱 하락반전
var11 = StoK[1];
var12 = var11[1];
var13 = H[1];
var14 = var13[1];
var15 = sdate[1];
var16 = var15[1];
var17 = stime[1];
var18 = var17[1];
if var11 < var12 and var13 > var14 then //지표값은 낮아지고 저(종)가는 높아지고
var19 = 1;
}
else
var19 = 0;
if var19 == 1 then {
TL2 = TL_New(var16,var18,var14,var15,var17,var13);
TLi2= TL_New_self(var16,var18,var12,var15,var17,var11);
TX2 = Text_new(var15, var17, H, "매도★");
TL_SetSize(TL2, 2);
TL_SetColor(TL2, blue);
TL_SetSize(TLi2, 2);
TL_SetColor(TLi2, blue);
Text_SetColor(Tx2,Lcyan);
Text_SetStyle(Tx2,0,1);
}
Plot1(StoK, "StochasticsK");
Plot2(StoD, "StochasticsD");
PlotBaseLine1(20, "기준선20");
PlotBaseLine2(80, "기준선80");
PlotBaseLine3(50, "기준선50");
if var9 == 1 then
plot3(stoK, "상승다이버전스");
if var19 == 1 then
plot4(stoK, "하락다이저번스");