커뮤니티
Re : Re : 수식요청드립니다.
2018-09-20 15:28:39
163
글번호 122197
앗요청드린게 누적익절50틱마감 그리고
익절25틱 이런식인데
어디를 변경해야될까요?
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 수식요청드립니다.
> 안녕하세요
예스스탁입니다.
익절/손절 50틱이 1회진입의 손익이면 1번식을
당일누적수익/손실이면 2번식 이용하시면 됩니다.
1
Input : LENGTH1(10), 익절틱수(50),손절틱수(50);
input : starttime(90000),endtime(050000);
VARS: TEMA(0),Tcond(false);
Var : Xcond(false);
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
Tcond = false;
if MarketPosition == 1 Then
ExitLong("bx");
if MarketPosition == -1 Then
ExitShort("sx");
}
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then
{
Xcond = false;
Tcond = true;
}
if TotalTrades > TotalTrades[1] and
(IsExitName("StopProfitTarget",1) == true or IsExitName("StopLoss",1) == true) then
Xcond = true;
TEMA = (3 * Ema(c,LENGTH1)) - (3 * Ema(Ema(c,LENGTH1),LENGTH1)) +
(Ema(Ema(Ema(c,LENGTH1),LENGTH1),LENGTH1));
if Tcond == true and Xcond == false then
{
if crossup(c,TEMA) Then
buy();
if CrossDown(c,TEMA) Then
sell();
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
2
Input : LENGTH1(10), 당일누적수익틱수(50),당일누적손실틱수(50);
input : starttime(90000),endtime(050000);
VARS: TEMA(0),Tcond(false);
Var : N1(0),dayPl(0),당일누적수익(0),당일누적손실(0),Xcond(false);
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
Tcond = false;
if MarketPosition == 1 Then
ExitLong("bx");
if MarketPosition == -1 Then
ExitShort("sx");
}
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then
{
Xcond = false;
N1 = NetProfit;
Tcond = true;
}
당일누적수익 = PriceScale*당일누적수익틱수;
당일누적손실 = PriceScale*당일누적손실틱수;
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] and
(IsExitName("dbp",1) == true or IsExitName("dbl",1) == true or
IsExitName("dsp",1) == true or IsExitName("dsl",1) == true) then
Xcond = true;
TEMA = (3 * Ema(c,LENGTH1)) - (3 * Ema(Ema(c,LENGTH1),LENGTH1)) +
(Ema(Ema(Ema(c,LENGTH1),LENGTH1),LENGTH1));
if Tcond == true and Xcond == false then
{
if crossup(c,TEMA) Then
buy();
if CrossDown(c,TEMA) Then
sell();
}
if MarketPosition == 1 then{
ExitLong("dbp",atlimit,EntryPrice+((당일누적수익-daypl)/CurrentContracts));
ExitLong("dbl",AtStop,EntryPrice-((당일누적손실+daypl)/CurrentContracts));
}
if MarketPosition == -1 then{
ExitShort("dsp",atlimit,EntryPrice-((당일누적수익-daypl)/CurrentContracts));
ExitShort("dsl",AtStop,EntryPrice+((당일누적손실+daypl)/CurrentContracts));
}
답변 1
예스스탁 예스스탁 답변
2018-09-20 15:31:39
안녕하세요
예스스탁입니다.
가존수식에 변경할 내용은 없습니다.
수식 하단에 아래 내용 추가하시면 됩니다.
진입후 25틱 수익이면 청산하는 식입니다.
SetStopProfittarget(PriceScale*25,PointStop);
즐거운 하루되세요
> 추세신호 님이 쓴 글입니다.
> 제목 : Re : Re : 수식요청드립니다.
> 앗요청드린게 누적익절50틱마감 그리고
익절25틱 이런식인데
어디를 변경해야될까요?
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 수식요청드립니다.
> 안녕하세요
예스스탁입니다.
익절/손절 50틱이 1회진입의 손익이면 1번식을
당일누적수익/손실이면 2번식 이용하시면 됩니다.
1
Input : LENGTH1(10), 익절틱수(50),손절틱수(50);
input : starttime(90000),endtime(050000);
VARS: TEMA(0),Tcond(false);
Var : Xcond(false);
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
Tcond = false;
if MarketPosition == 1 Then
ExitLong("bx");
if MarketPosition == -1 Then
ExitShort("sx");
}
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then
{
Xcond = false;
Tcond = true;
}
if TotalTrades > TotalTrades[1] and
(IsExitName("StopProfitTarget",1) == true or IsExitName("StopLoss",1) == true) then
Xcond = true;
TEMA = (3 * Ema(c,LENGTH1)) - (3 * Ema(Ema(c,LENGTH1),LENGTH1)) +
(Ema(Ema(Ema(c,LENGTH1),LENGTH1),LENGTH1));
if Tcond == true and Xcond == false then
{
if crossup(c,TEMA) Then
buy();
if CrossDown(c,TEMA) Then
sell();
}
SetStopProfittarget(PriceScale*익절틱수,PointStop);
SetStopLoss(PriceScale*손절틱수,PointStop);
2
Input : LENGTH1(10), 당일누적수익틱수(50),당일누적손실틱수(50);
input : starttime(90000),endtime(050000);
VARS: TEMA(0),Tcond(false);
Var : N1(0),dayPl(0),당일누적수익(0),당일누적손실(0),Xcond(false);
if (sdate != sdate[1] and stime >= endtime) or
(sdate == sdate[1] and stime >= endtime and stime[1] < endtime) then
{
Tcond = false;
if MarketPosition == 1 Then
ExitLong("bx");
if MarketPosition == -1 Then
ExitShort("sx");
}
if (sdate != sdate[1] and stime >= starttime) or
(sdate == sdate[1] and stime >= starttime and stime[1] < starttime) then
{
Xcond = false;
N1 = NetProfit;
Tcond = true;
}
당일누적수익 = PriceScale*당일누적수익틱수;
당일누적손실 = PriceScale*당일누적손실틱수;
daypl = NetProfit-N1;
if TotalTrades > TotalTrades[1] and
(IsExitName("dbp",1) == true or IsExitName("dbl",1) == true or
IsExitName("dsp",1) == true or IsExitName("dsl",1) == true) then
Xcond = true;
TEMA = (3 * Ema(c,LENGTH1)) - (3 * Ema(Ema(c,LENGTH1),LENGTH1)) +
(Ema(Ema(Ema(c,LENGTH1),LENGTH1),LENGTH1));
if Tcond == true and Xcond == false then
{
if crossup(c,TEMA) Then
buy();
if CrossDown(c,TEMA) Then
sell();
}
if MarketPosition == 1 then{
ExitLong("dbp",atlimit,EntryPrice+((당일누적수익-daypl)/CurrentContracts));
ExitLong("dbl",AtStop,EntryPrice-((당일누적손실+daypl)/CurrentContracts));
}
if MarketPosition == -1 then{
ExitShort("dsp",atlimit,EntryPrice-((당일누적수익-daypl)/CurrentContracts));
ExitShort("dsl",AtStop,EntryPrice+((당일누적손실+daypl)/CurrentContracts));
}