예스스탁
예스스탁 답변
2021-06-22 10:10:53
안녕하세요
예스스탁입니다.
1
첨부하신 그림에서 청산시점은 전일저가+(전일폭)*0.236입니다.
수식에는 전일저가+(전일폭)*-0.236로 되어 있어 전일저가 보다 낮은 값이 됩니다.
진입시점이나 청산시점 지정하실때 아래 지표로 지정한 값의 위치 확인하시면 됩니다.
input : StartTime(70000),EndTime(55000),Xtime(55500);
var : Tcond(false),entry(0);
var : B1(0),B2(0),BX1(0),BX2(0);
var : S1(0),S2(0),SX1(0),SX2(0);
B1 = DayLow(1)+(DayHigh(1)-DayLow(1))*5.638;
B2 = DayLow(1)+(DayHigh(1)-DayLow(1))*5.939;
BX1 = DayLow(1)+(DayHigh(1)-DayLow(1))*1.400;
BX2 = DayHigh(1);
S1 = DayHigh(1)+(DayHigh(1)-DayLow(1))*-0.118;
S2 = DayHigh(1)+(DayHigh(1)-DayLow(1))*-0.230;
SX1 = DayLow(1)+(DayHigh(1)-DayLow(1))*0.236;
SX2 = DayLow(1)+(DayHigh(1)-DayLow(1))*-0.764;
Plot1(DayHigh(1));
Plot2(S1);
Plot3(S2);
plot4(SX1);
plot5(SX2);
plot6(DayLow(1));
2
SX2값은 어떤값으로 지정해 드릴지 알수 없어 그대로 두었습니다.
위 지표로 값확인하시고 수정하시기 바랍니다.
input : StartTime(70000),EndTime(55000),Xtime(55500);
var : Tcond(false),entry(0);
var : B1(0),B2(0),BX1(0),BX2(0);
var : S1(0),S2(0),SX1(0),SX2(0);
if sdate != sDate[1] Then
SetStopEndofday(Xtime);
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
Tcond = False;
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
Tcond = true;
SetStopEndofday(0);
entry = 0;
}
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
B1 = DayLow(1)+(DayHigh(1)-DayLow(1))*5.638;
B2 = DayLow(1)+(DayHigh(1)-DayLow(1))*5.939;
BX1 = DayLow(1)+(DayHigh(1)-DayLow(1))*1.400;
BX2 = DayHigh(1);
S1 = DayHigh(1)+(DayHigh(1)-DayLow(1))*-0.118;
S2 = DayHigh(1)+(DayHigh(1)-DayLow(1))*-0.230;
SX1 = DayLow(1)+(DayHigh(1)-DayLow(1))*0.236;
SX2 = DayLow(1)+(DayHigh(1)-DayLow(1))*-0.764;
if Tcond == true and entry < 1 Then
{
if (MarketPosition == 0 or (MarketPosition == 1 and MaxEntries == 1)) Then
{
if L > B1 Then
Buy("b1",AtLimit,B1);
if L > B2 Then
Buy("b2",AtLimit,B2);
}
if MarketPosition == 1 Then
{
ExitLong("bx1",AtLimit,BX1,"B1");
ExitLong("bx2",AtLimit,BX2,"B2");
}
if (MarketPosition == 0 or (MarketPosition == -1 and MaxEntries == 1)) Then
{
if H < S1 Then
Sell("S1",AtLimit,S1);
if H < S2 Then
Sell("s2",AtLimit,S2);
}
if MarketPosition == -1 Then
{
ExitShort("sx1",AtLimit,SX1,"S1");
ExitShort("sx2",AtLimit,SX2,"S2");
}
}
SetStopProfittarget(PriceScale*300,PointStop);
SetStopLoss(PriceScale*30,PointStop);
즐거운 하루되세요
> 푸른 님이 쓴 글입니다.
> 제목 : 수식작성
> input : StartTime(70000),EndTime(55000),Xtime(55500);
var : Tcond(false),entry(0);
var : B1(0),B2(0),BX1(0),BX2(0);
var : S1(0),S2(0),SX1(0),SX2(0);
if sdate != sDate[1] Then
SetStopEndofday(Xtime);
if (sdate != sdate[1] and stime >= EndTime) or
(sdate == sdate[1] and stime >= EndTime and stime[1] < EndTime) Then
Tcond = False;
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
Tcond = true;
SetStopEndofday(0);
entry = 0;
}
if (MarketPosition != 0 and MarketPosition != MarketPosition[1]) or
(MarketPosition == MarketPosition[1] and TotalTrades > TotalTrades[1]) Then
entry = entry+1;
B1 = DayLow(1)+(DayHigh(1)-DayLow(1))*5.638;
B2 = DayLow(1)+(DayHigh(1)-DayLow(1))*5.939;
BX1 = DayLow(1)+(DayHigh(1)-DayLow(1))*1.400;
BX2 = DayHigh(1);
S1 = DayHigh(1)+(DayHigh(1)-DayLow(1))*-0.118;
S2 = DayHigh(1)+(DayHigh(1)-DayLow(1))*-0.230;
SX1 = DayLow(1)+(DayHigh(1)-DayLow(1))*-0.236;
SX2 = DayLow(1)+(DayHigh(1)-DayLow(1))*-0.764;
if Tcond == true and entry < 1 Then
{
if (MarketPosition == 0 or (MarketPosition == 1 and MaxEntries == 1)) Then
{
if L > B1 Then
Buy("b1",AtLimit,B1);
if L > B2 Then
Buy("b2",AtLimit,B2);
}
if MarketPosition == 1 Then
{
ExitLong("bx1",AtLimit,BX1,"B1");
ExitLong("bx2",AtLimit,BX2,"B2");
}
if (MarketPosition == 0 or (MarketPosition == -1 and MaxEntries == 1)) Then
{
if H < S1 Then
Sell("S1",AtLimit,S1);
if H < S2 Then
Sell("s2",AtLimit,S2);
}
if MarketPosition == -1 Then
{
ExitShort("sx1",AtLimit,SX1,"S1");
ExitShort("sx2",AtLimit,SX2,"S2");
}
}
SetStopProfittarget(PriceScale*300,PointStop);
SetStopLoss(PriceScale*30,PointStop);
--------------------------------
늘 감사드립니다.
s1 (-0.118) 진입후 전일 피보나치 전체 수열의 0.236로 청산되는
수식 작성에 어려움이 있네요
수정 부탁드립니다.