답변완료
수식변경부탁드려요 도사님.
1
if long Then
{
tx = Text_New(sDate,sTime,L,"Long");
Text_SetStyle(tx,2,0);
Text_SetColor(tx,Lime);
Buy("b",OnClose,Def,5);
}
if short Then
{
tx = Text_New(sDate,sTime,H,"Short");
Text_SetStyle(tx,2,1);
Text_SetColor(tx,Red);
Sell("s",OnClose,Def,5);
}
SetStopEndofday(150000);
2
if long Then
{
tx = Text_New(sDate,sTime,L,"Long");
Text_SetStyle(tx,2,0);
Text_SetColor(tx,Lime);
Buy("b",OnClose,Def,5);
}
if short Then
{
tx = Text_New(sDate,sTime,H,"Short");
Text_SetStyle(tx,2,1);
Text_SetColor(tx,Red);
Sell("s",OnClose,Def,5);
}
if MarketPosition == 1 and BarsSinceEntry == 1 Then
ExitLong("bx");
if MarketPosition == -1 and BarsSinceEntry == 1 Then
ExitShort("sx");
SetStopEndofday(150000);
/////////////////////////////////////////////////////////////////////////
1.텍스트발생시 분봉시가기준 진입 --> 다음봉 종가기준 청산
도사님 , 부탁드립니다.
텍스트발생 후 5계약 진입시 분봉 종가 기준으로 진입을 하게되어있는데,
시가기준으로 바꿀수 있을까요? 안된다면 다음봉 시작가로 부탁드립니다.
(손실로스 진입단가 강제청산 및 틱수설정)
2024-02-20
844
글번호 176793
시스템
답변완료
85869 에 대한 추가 요청사항입니다.
안녕하세요.
수식 검토해 주셔서 감사합니다.
나스닥 시뮬레이션 챠트에서 구현해 보면 손실거래가 잡히지 않습니다. 점검 부탁드립니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 수식 검토 요청드립니다.
>
안녕하세요
예스스탁입니다.
올려주신 수식 분할청산에 문제가 없습니다.
설정창에서 수량을 3으로 지정하고 적용하시면 3회 분할 익절이 됩니다.
시스템의 수량은 수식안 진입함수에 수량을 지정하지 않으면 설정청에서 지정한 수량이 적용됩니다.
수식에 진입수량을 3으로 지정해 드립니다.
진입조건에도 언급하신 내용을 추가했습니다.
input : TradingTime(1),StartTime(160000),EndTime(045000);
input : ProfitTickCount1(20),ProfitTickCount2(40),ProfitTickCount3(60),LossTickCount (10);
input : P1(7),P2(14),P3(21);
input : ADXP(14),value(20);
input : af(0.02),maxaf(0.2);
input : Period(50);
input : CumulativeLossTicks(100);
var : R1(0),R2(0),R3(0),AA(0),MM(0),MS(0),SS(0),EE(0), HH(0), LL(0);
var : Xcond(false),N1(0),daypl(0),CumulativeLoss(0);
R1 = RSI(P1);
R2 = RSI(P2);
R3 = RSI(P3);
AA = ADX(ADXP);
SS = sar(af,maxaf);
EE = Ema(C,Period);
if TradingTime == 1 then
condition3 = (stime>=StartTime or stime<=EndTime );
Else if TradingTime == 2 then
condition3 = (stime>=StartTime and stime<=EndTime );
Else
condition3 = true;
if TradingTime == 1 or TradingTime == 2 then
{
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime) Then
{
Xcond = false;
N1 = NetProfit;
}
}
else
{
if Bdate != Bdate[1] Then
{
Xcond = false;
N1 = NetProfit;
}
}
CumulativeLoss = PriceScale*CumulativeLossTicks;
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] and
(IsExitName("dbl",1) == true or IsExitName("dsl",1) == true) then
Xcond = true;
If MarketPosition == 0 and TotalTrades == TotalTrades[1] and
Condition3 == true and
R1 > R2 and R2 > R3 and R3 >= 50 and
AA > value and
C > SS and C > EE Then
Buy("b",OnClose,Def,3);
If MarketPosition == 0 and TotalTrades == TotalTrades[1] and
Condition3 == true and
R1 < R2 and R2 < R3 and R3 <= 50 and
AA < value and
C < SS and C < EE Then
Sell("s",OnClose,Def,3);
if MarketPosition == 1 Then
{
ExitLong("bp1",atlimit,EntryPrice+PriceScale*ProfitTickCount1,"",1,1);
ExitLong("bp2",atlimit,EntryPrice+PriceScale*ProfitTickCount2,"",1,1);
ExitLong("bp3",atlimit,EntryPrice+PriceScale*ProfitTickCount3);
}
if MarketPosition == -1 Then
{
ExitShort("sp1",atlimit,EntryPrice-PriceScale*ProfitTickCount1,"",1,1);
ExitShort("sp2",atlimit,EntryPrice-PriceScale*ProfitTickCount2,"",1,1);
ExitShort("sp3",atlimit,EntryPrice-PriceScale*ProfitTickCount3);
}
즐거운 하루되세요
2024-02-20
833
글번호 176785
시스템
답변완료
요청된 수식이 나무증권 에서
if DayOfWeek(Bdate) < DayOfWeek(Bdate[1]) Then
{
var1 = O;
Var2 = C;
}
if var1 > 0 and Var2 > 0 Then
{
Plot1(var1,"주1시",IFF(var2 > var1,Red,iff(var2 < var1,Blue,Green)));
plot2(var2,"주1종",IFF(var2 > var1,Red,iff(var2 < var1,Blue,Green)));
}
if Bdate > Bdate[1]+30 Then
{
var3 = O;
Var4 = C;
}
if var3 > 0 and Var4 > 0 Then
{
Plot3(var3,"월1시",IFF(var4 > var3,Red,iff(var4 < var3,Blue,Green)));
plot4(var4,"월1종",IFF(var4 > var3,Red,iff(var4 < var3,Blue,Green)));
}
input : N(20);
var : TL1(0),TL2(0);
TL_Delete(TL1);
TL_Delete(TL2);
if C[N-1] > O[N-1] Then
{
TL1 = TL_New(sDate[N-1],sTime[N-1],O[N-1],NextBarSdate,NextBarStime,O[N-1]);
TL2 = TL_New(sDate[N-1],sTime[N-1],C[N-1],NextBarSdate,NextBarStime,C[N-1]);
TL_SetColor(TL1,Red);
TL_SetColor(TL2,Red);
}
Else if C[N-1] < O[N-1] Then
{
TL1 = TL_New(sDate[N-1],sTime[N-1],O[N-1],NextBarSdate,NextBarStime,O[N-1]);
TL2 = TL_New(sDate[N-1],sTime[N-1],C[N-1],NextBarSdate,NextBarStime,C[N-1]);
TL_SetColor(TL1,Blue);
TL_SetColor(TL2,Blue);
}
Else
{
TL1 = TL_New(sDate[N-1],sTime[N-1],O[N-1],NextBarSdate,NextBarStime,O[N-1]);
TL_SetColor(TL1,Green);
}
수식감사함니다
그런데 bdate 혹은 tl_delete 잘못사용으로 나오는데 함수를 따로만들어서 입력해야하는지요 (나무증권)
>Error(4) : >[연습1] 정의되지 않은 변수/함수명이 사용되었습니다. ; TL_Delete ; 40003
2024-02-20
866
글번호 176779
사용자 함수
답변완료
수식부탁드립니다.
input : af(0.02), maxAF(0.2),선굵기(2);
var : T(0),cnt(0),TL(0),count(0);
Array : HD[20](0),HT[20](0),HH[20](0),LD[20](0),LT[20](0),LL[20](0);
var1 = CSar(af,maxAF);
if crossup(c,var1) Then
{
T = 1;
HH[0] = H;
HD[0] = sdate;
HT[0] = stime;
for cnt = 1 to 19
{
HD[cnt] = HD[cnt-1][1];
HT[cnt] = HT[cnt-1][1];
HH[cnt] = HH[cnt-1][1];
}
TL = TL_New(sDate,sTime,0,sDate,sTime,999999999);
TL_SetColor(Tl,BLUe);
}
if CrossDown(c,var1) Then
{
T = -1;
LL[0] = L;
LD[0] = sdate;
LT[0] = stime;
for cnt = 1 to 19
{
LD[cnt] = LD[cnt-1][1];
LT[cnt] = LT[cnt-1][1];
LL[cnt] = LL[cnt-1][1];
}
if HH[0] > 0 Then
{
TL = TL_New(sDate,sTime,0,sDate,sTime,999999999);
TL_SetColor(Tl,RED);
}
}
if T == 1 then
{
if H > HH[0] Then
{
HH[0] = H;
HD[0] = sdate;
HT[0] = stime;
TL_SetBegin(TL,sDate,sTime,0);
TL_SetEnd(TL,sDate,sTime,999999999);
}
}
if T == -1 then
{
if L < LL[0] Then
{
LL[0] = L;
LD[0] = sdate;
LT[0] = stime;
TL_SetBegin(TL,sDate,sTime,0);
TL_SetEnd(TL,sDate,sTime,999999999);
}
}
/////////////////////////////////////////////////////////
코스피200선물
1. 레드선(매수),블루선(매도)일때 5분봉 시가진입 후 레드선,블루선 일때
청산후 다음봉 스위칭 시가진입.
(레드선,블루선 발생 봉 시가진입 안될 시 다음봉 시가진입)
# 세로선 발생후 고점 및 저점 갱신 새로운선 생길시 마다,분할 매수 및 매도3회가능(2계약씩분할진입)
# 스탑로스손실제한설정
# 9시45분 부터 시작 - 15시 강제청산)
2024-02-20
830
글번호 176777
시스템
답변완료
수식 변환 부탁드립니다.
안녕하세요.
아래의 파인스크립트를 예스로 변환 부탁드립니다.
======================================================
//@version=5
strategy("BBdir", overlay=true)
source = low + ((high-low)/2)
length = input.int(20, minval=1)
mult = input.float(2.0, minval=0.001, maxval=50)
direction = input.int(0, title = "Strategy Direction", minval=-1, maxval=1)
strategy.risk.allow_entry_in(direction == 0 ? strategy.direction.all : (direction < 0 ? strategy.direction.short : strategy.direction.long))
basis = ta.sma(source, length)
dev = mult * ta.stdev(source, length)
upper = basis + dev
lower = basis - dev
if (ta.crossover(source, lower))
strategy.entry("B", strategy.long, stop=lower, oca_name="BollingerBands", oca_type=strategy.oca.cancel, comment="B")
else
strategy.cancel(id="B")
if (ta.crossunder(source, upper))
strategy.entry("S", strategy.short, stop=upper, oca_name="BollingerBands", oca_type=strategy.oca.cancel, comment="S")
else
strategy.cancel(id="S")
2024-02-20
850
글번호 176775
시스템