커뮤니티
문의드립니다.
2017-12-28 12:08:16
187
글번호 115323
도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다.
1.
input: 투입금액(200000),p(0.5);
var : Rate(0),bars(0),mm(0);
var : entry(false);
Rate = (C-C[1])/C[1]*100;
If MarketPosition == 0 Then
value1 = 100;
If Rate > 0 or Rate < 0 Then
value1 = value1+(value1*Rate*p);
If MarketPosition >= 0 Then
buy("b",Atmarket,def,floor((투입금액*value1)/NextBarOpen));
ExitLong("bx",Onclose);
이전에 만들어주신, 직전 수익률 따라 투입금액 달리하는 식이었는데요. 투입금액이 일정 수준 이상(외부변수)이 되면 더 이상 투입금액을 늘리지 않는 조건과 손실금액이 투입금액의 n%가 되면 더 이상 진입하지 않는 조건 추가 부탁드립니다.
비고
1번식 선물용으로도 만들 수 있는 부분인가요?
2.
-봉마다 진입 청산
-10이평 위에 있으면 매수진입 아래있으면 매도진입
-직전거래가 수익이면 투입자금(외부변수)n%올림. 손실이면 투입자금 nb%내림
비고
거래로 승률, 손익금체크 안되는 걸로 알고 있는데요. 저렇게 봉마다 진입청산하는 것(봉으로
거래를 추정가능한 것)은 승률이나 손익금도 체크할 수 있나요?
3. 기타
이전 청산이 아래와 같은 BigProfit이면 다음 거래를 쉰다(혹은 n회 쉰다, 혹은 내일 거래를 쉰다) 식으로 코딩을 짤 수 있는 지요. 이것도 가상거래체크에 들어가나요?
Input: BigProfit(4.5), BigStop(2.5);
If MarketPosition <> 0 Then {
If Highest(H,BarsSinceEntry+1) > EntryPrice+BigProfit Then
ExitLong("EL_초과수익청산",Atstop, EntryPrice+Bigstop);
If Lowest(L,BarsSinceEntry+1) < EntryPrice- BigProfit Then
ExitShort("ES_초과수익청산", Atstop, EntryPrice-Bigstop);
}
4. 기타
피봇선을 V형으로 상향돌파하거나 ^형으로 하향돌파하는 것을 코딩으로 짤 수 있을까요? N개봉 이전 하향돌파했다가 상향돌파한 것이라고 규정하면 범위를 너무 한정시킬 수도 있는 것 같고, 차트로 볼 때는 쉬운데 코딩 짜려니 머리 아픕니다.
5. 1번과 같이 onclose atmarket으로 매번 거래하는 것들은 슬리피지를 얼마나 잡으면 적당할까요?
답변 3
예스스탁 예스스탁 답변
2017-12-28 14:52:35
안녕하세요
예스스탁입니다.
1.
선물은 가능하지 않습니다.
input: 투입금액(200000),최대투입금액(10000000),p(0.5),loss(50);
var : Rate(0),bars(0),mm(0);
var : entry(false),Xcond(false);
Rate = (C-C[1])/C[1]*100;
If MarketPosition == 0 Then
value1 = 100;
If Rate > 0 or Rate < 0 Then
value1 = value1+(value1*Rate*p);
if NetProfit <= 투입금액*(loss/100) Then
Xcond = true;
If MarketPosition >= 0 and xcond == false Then{
value2 = min(투입금액*value1,최대투입금액);
buy("b",Atmarket,def,floor(value2/NextBarOpen));
}
ExitLong("bx",Onclose);
2
봉마다 진입청산이 되면 피라미딩으로 동일포지션 누적이 되는데
건별로 수익을 판단하기 어렵습니다.
도움을 드리지 못해 죄송합니다.
3
다름거래를 쉰다 혹은 n회를 쉰다는 가상체크를 해야 합니다.
다음날 쉬는 부분은 가상으로 체크할 부분이 없습니다.
Input: BigProfit(4.5), BigStop(2.5);
if bdate != bdate[1] Then{
Xcond = False;
Econd = true;
if Xcond[1] == true Then
Econd = false;
}
if TotalTrades > TotalTrades[1] and
(IsExitName("EL_초과수익청산",1) == true or
IsExitName("ES_초과수익청산",1) == true) Then
Xcond = true;
if Econd == true then{
진입수식들
}
If MarketPosition <> 0 Then{
If Highest(H,BarsSinceEntry+1) > EntryPrice+BigProfit Then
ExitLong("EL_초과수익청산",Atstop, EntryPrice+Bigstop);
If Lowest(L,BarsSinceEntry+1) < EntryPrice- BigProfit Then
ExitShort("ES_초과수익청산", Atstop, EntryPrice-Bigstop);
}
4
봉수로 지정할 수 밖에 없을것 같습니다.
상향돌파후 n개봉 내에 하향이탈하면 ^
하향이탈후 n개봉 내에 상향돌파하면 V
input : N(3);
Var : Pivot(0);
Pivot = (DayHigh(1)+DayLow(1)+DayClose(1))/3;
if crossup(c,pivot) and countif(CrossDown(c,pivot),N) >= 1 Then
buy();
if CrossDown(c,pivot) and countif(Crossup(c,pivot),N) >= 1 Then
sell();
5
보통 진입청산 합쳐서 1틱으로 정도 발생하는 것으로 산정합니다.
즐거운 하루되세요
> 잡다백수 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다.
1.
input: 투입금액(200000),p(0.5);
var : Rate(0),bars(0),mm(0);
var : entry(false);
Rate = (C-C[1])/C[1]*100;
If MarketPosition == 0 Then
value1 = 100;
If Rate > 0 or Rate < 0 Then
value1 = value1+(value1*Rate*p);
If MarketPosition >= 0 Then
buy("b",Atmarket,def,floor((투입금액*value1)/NextBarOpen));
ExitLong("bx",Onclose);
이전에 만들어주신, 직전 수익률 따라 투입금액 달리하는 식이었는데요. 투입금액이 일정 수준 이상(외부변수)이 되면 더 이상 투입금액을 늘리지 않는 조건과 손실금액이 투입금액의 n%가 되면 더 이상 진입하지 않는 조건 추가 부탁드립니다.
비고
1번식 선물용으로도 만들 수 있는 부분인가요?
2.
-봉마다 진입 청산
-10이평 위에 있으면 매수진입 아래있으면 매도진입
-직전거래가 수익이면 투입자금(외부변수)n%올림. 손실이면 투입자금 nb%내림
비고
거래로 승률, 손익금체크 안되는 걸로 알고 있는데요. 저렇게 봉마다 진입청산하는 것(봉으로
거래를 추정가능한 것)은 승률이나 손익금도 체크할 수 있나요?
3. 기타
이전 청산이 아래와 같은 BigProfit이면 다음 거래를 쉰다(혹은 n회 쉰다, 혹은 내일 거래를 쉰다) 식으로 코딩을 짤 수 있는 지요. 이것도 가상거래체크에 들어가나요?
Input: BigProfit(4.5), BigStop(2.5);
If MarketPosition <> 0 Then {
If Highest(H,BarsSinceEntry+1) > EntryPrice+BigProfit Then
ExitLong("EL_초과수익청산",Atstop, EntryPrice+Bigstop);
If Lowest(L,BarsSinceEntry+1) < EntryPrice- BigProfit Then
ExitShort("ES_초과수익청산", Atstop, EntryPrice-Bigstop);
}
4. 기타
피봇선을 V형으로 상향돌파하거나 ^형으로 하향돌파하는 것을 코딩으로 짤 수 있을까요? N개봉 이전 하향돌파했다가 상향돌파한 것이라고 규정하면 범위를 너무 한정시킬 수도 있는 것 같고, 차트로 볼 때는 쉬운데 코딩 짜려니 머리 아픕니다.
5. 1번과 같이 onclose atmarket으로 매번 거래하는 것들은 슬리피지를 얼마나 잡으면 적당할까요?
잡다백수
2017-12-28 15:43:29
매번 약간 무리한 질문들도 답변해주셔서 감사합니다.
3번 질문 재질문 드립니다.
다음날과 그다음날 모두 진입이 안되게 하려면
수식에 아래 식 추가 하면 되나요?
if bdate != bdate[2] Then{
Xcond = False;
Econd = true;
if Xcond[2] == true Then
Econd = false;
}
그리고 1번은 주식종목에 적용하고 모든진입신호 허용했는데 신호가 나오지 않습니다. 뭐가 잘못된 걸까요.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 문의드립니다.
>
안녕하세요
예스스탁입니다.
1.
선물은 가능하지 않습니다.
input: 투입금액(200000),최대투입금액(10000000),p(0.5),loss(50);
var : Rate(0),bars(0),mm(0);
var : entry(false),Xcond(false);
Rate = (C-C[1])/C[1]*100;
If MarketPosition == 0 Then
value1 = 100;
If Rate > 0 or Rate < 0 Then
value1 = value1+(value1*Rate*p);
if NetProfit <= 투입금액*(loss/100) Then
Xcond = true;
If MarketPosition >= 0 and xcond == false Then{
value2 = min(투입금액*value1,최대투입금액);
buy("b",Atmarket,def,floor(value2/NextBarOpen));
}
ExitLong("bx",Onclose);
2
봉마다 진입청산이 되면 피라미딩으로 동일포지션 누적이 되는데
건별로 수익을 판단하기 어렵습니다.
도움을 드리지 못해 죄송합니다.
3
다름거래를 쉰다 혹은 n회를 쉰다는 가상체크를 해야 합니다.
다음날 쉬는 부분은 가상으로 체크할 부분이 없습니다.
Input: BigProfit(4.5), BigStop(2.5);
if bdate != bdate[1] Then{
Xcond = False;
Econd = true;
if Xcond[1] == true Then
Econd = false;
}
if TotalTrades > TotalTrades[1] and
(IsExitName("EL_초과수익청산",1) == true or
IsExitName("ES_초과수익청산",1) == true) Then
Xcond = true;
if Econd == true then{
진입수식들
}
If MarketPosition <> 0 Then{
If Highest(H,BarsSinceEntry+1) > EntryPrice+BigProfit Then
ExitLong("EL_초과수익청산",Atstop, EntryPrice+Bigstop);
If Lowest(L,BarsSinceEntry+1) < EntryPrice- BigProfit Then
ExitShort("ES_초과수익청산", Atstop, EntryPrice-Bigstop);
}
4
봉수로 지정할 수 밖에 없을것 같습니다.
상향돌파후 n개봉 내에 하향이탈하면 ^
하향이탈후 n개봉 내에 상향돌파하면 V
input : N(3);
Var : Pivot(0);
Pivot = (DayHigh(1)+DayLow(1)+DayClose(1))/3;
if crossup(c,pivot) and countif(CrossDown(c,pivot),N) >= 1 Then
buy();
if CrossDown(c,pivot) and countif(Crossup(c,pivot),N) >= 1 Then
sell();
5
보통 진입청산 합쳐서 1틱으로 정도 발생하는 것으로 산정합니다.
즐거운 하루되세요
> 잡다백수 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다.
1.
input: 투입금액(200000),p(0.5);
var : Rate(0),bars(0),mm(0);
var : entry(false);
Rate = (C-C[1])/C[1]*100;
If MarketPosition == 0 Then
value1 = 100;
If Rate > 0 or Rate < 0 Then
value1 = value1+(value1*Rate*p);
If MarketPosition >= 0 Then
buy("b",Atmarket,def,floor((투입금액*value1)/NextBarOpen));
ExitLong("bx",Onclose);
이전에 만들어주신, 직전 수익률 따라 투입금액 달리하는 식이었는데요. 투입금액이 일정 수준 이상(외부변수)이 되면 더 이상 투입금액을 늘리지 않는 조건과 손실금액이 투입금액의 n%가 되면 더 이상 진입하지 않는 조건 추가 부탁드립니다.
비고
1번식 선물용으로도 만들 수 있는 부분인가요?
2.
-봉마다 진입 청산
-10이평 위에 있으면 매수진입 아래있으면 매도진입
-직전거래가 수익이면 투입자금(외부변수)n%올림. 손실이면 투입자금 nb%내림
비고
거래로 승률, 손익금체크 안되는 걸로 알고 있는데요. 저렇게 봉마다 진입청산하는 것(봉으로
거래를 추정가능한 것)은 승률이나 손익금도 체크할 수 있나요?
3. 기타
이전 청산이 아래와 같은 BigProfit이면 다음 거래를 쉰다(혹은 n회 쉰다, 혹은 내일 거래를 쉰다) 식으로 코딩을 짤 수 있는 지요. 이것도 가상거래체크에 들어가나요?
Input: BigProfit(4.5), BigStop(2.5);
If MarketPosition <> 0 Then {
If Highest(H,BarsSinceEntry+1) > EntryPrice+BigProfit Then
ExitLong("EL_초과수익청산",Atstop, EntryPrice+Bigstop);
If Lowest(L,BarsSinceEntry+1) < EntryPrice- BigProfit Then
ExitShort("ES_초과수익청산", Atstop, EntryPrice-Bigstop);
}
4. 기타
피봇선을 V형으로 상향돌파하거나 ^형으로 하향돌파하는 것을 코딩으로 짤 수 있을까요? N개봉 이전 하향돌파했다가 상향돌파한 것이라고 규정하면 범위를 너무 한정시킬 수도 있는 것 같고, 차트로 볼 때는 쉬운데 코딩 짜려니 머리 아픕니다.
5. 1번과 같이 onclose atmarket으로 매번 거래하는 것들은 슬리피지를 얼마나 잡으면 적당할까요?
예스스탁 예스스탁 답변
2017-12-28 15:55:23
안녕하세요
예스스탁입니다.
1
var : Xcond(false),Xcond1(false),Xcond2(false),Econd(true);
if bdate != bdate[2] Then{
Xcond = False;
Xcond1 = Xcond[1];
Xcond2 = Xcond1[1];
Econd = true;
if Xcond1 == true or Xcond2 == true Then
Econd = false;
}
2
값이 잘못지정되어 수정햇습니다.
전체손익이 투입금액의 n% 손실이면 추가로 진입이 발생하지 않으므로
차트전체에 몇번신호가 발생하지 않을수 있습니다.
input: 투입금액(200000),최대투입금액(10000000),p(0.5),loss(50);
var : Rate(0),bars(0),mm(0);
var : entry(false),Xcond(false);
Rate = (C-C[1])/C[1]*100;
If MarketPosition == 0 Then
value1 = 100;
If Rate > 0 or Rate < 0 Then
value1 = value1+(value1*Rate*p);
if NetProfit <= -투입금액*(loss/100) Then
Xcond = true;
If MarketPosition >= 0 and xcond == false Then{
value2 = min(투입금액*value1,최대투입금액);
buy("b",Atmarket,def,floor(value2/NextBarOpen));
}
ExitLong("bx",Onclose);
진입제한을 날짜가 변경되면 다시 초기화하신다면 아래식 이용하시면 됩니다.
input: 투입금액(200000),최대투입금액(10000000),p(0.5),loss(50);
var : Rate(0),bars(0),mm(0),daypl(0),n1(0);
var : entry(false),Xcond(false);
if bdate != bdate[1] Then{
n1 = NetProfit;
Xcond = false;
}
daypl = NetProfit-n1;
if daypl <= -투입금액*(loss/100) Then
Xcond = true;
Rate = (C-C[1])/C[1]*100;
If MarketPosition == 0 Then
value1 = 100;
If Rate > 0 or Rate < 0 Then
value1 = value1+(value1*Rate*p);
If MarketPosition >= 0 and xcond == false Then{
value2 = min(투입금액*value1,최대투입금액);
buy("b",Atmarket,def,floor(value2/NextBarOpen));
}
ExitLong("bx",Onclose);
즐거운 하루되세요
> 잡다백수 님이 쓴 글입니다.
> 제목 : Re : Re : 문의드립니다.
> 매번 약간 무리한 질문들도 답변해주셔서 감사합니다.
3번 질문 재질문 드립니다.
다음날과 그다음날 모두 진입이 안되게 하려면
수식에 아래 식 추가 하면 되나요?
if bdate != bdate[2] Then{
Xcond = False;
Econd = true;
if Xcond[2] == true Then
Econd = false;
}
그리고 1번은 주식종목에 적용하고 모든진입신호 허용했는데 신호가 나오지 않습니다. 뭐가 잘못된 걸까요.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 문의드립니다.
>
안녕하세요
예스스탁입니다.
1.
선물은 가능하지 않습니다.
input: 투입금액(200000),최대투입금액(10000000),p(0.5),loss(50);
var : Rate(0),bars(0),mm(0);
var : entry(false),Xcond(false);
Rate = (C-C[1])/C[1]*100;
If MarketPosition == 0 Then
value1 = 100;
If Rate > 0 or Rate < 0 Then
value1 = value1+(value1*Rate*p);
if NetProfit <= 투입금액*(loss/100) Then
Xcond = true;
If MarketPosition >= 0 and xcond == false Then{
value2 = min(투입금액*value1,최대투입금액);
buy("b",Atmarket,def,floor(value2/NextBarOpen));
}
ExitLong("bx",Onclose);
2
봉마다 진입청산이 되면 피라미딩으로 동일포지션 누적이 되는데
건별로 수익을 판단하기 어렵습니다.
도움을 드리지 못해 죄송합니다.
3
다름거래를 쉰다 혹은 n회를 쉰다는 가상체크를 해야 합니다.
다음날 쉬는 부분은 가상으로 체크할 부분이 없습니다.
Input: BigProfit(4.5), BigStop(2.5);
if bdate != bdate[1] Then{
Xcond = False;
Econd = true;
if Xcond[1] == true Then
Econd = false;
}
if TotalTrades > TotalTrades[1] and
(IsExitName("EL_초과수익청산",1) == true or
IsExitName("ES_초과수익청산",1) == true) Then
Xcond = true;
if Econd == true then{
진입수식들
}
If MarketPosition <> 0 Then{
If Highest(H,BarsSinceEntry+1) > EntryPrice+BigProfit Then
ExitLong("EL_초과수익청산",Atstop, EntryPrice+Bigstop);
If Lowest(L,BarsSinceEntry+1) < EntryPrice- BigProfit Then
ExitShort("ES_초과수익청산", Atstop, EntryPrice-Bigstop);
}
4
봉수로 지정할 수 밖에 없을것 같습니다.
상향돌파후 n개봉 내에 하향이탈하면 ^
하향이탈후 n개봉 내에 상향돌파하면 V
input : N(3);
Var : Pivot(0);
Pivot = (DayHigh(1)+DayLow(1)+DayClose(1))/3;
if crossup(c,pivot) and countif(CrossDown(c,pivot),N) >= 1 Then
buy();
if CrossDown(c,pivot) and countif(Crossup(c,pivot),N) >= 1 Then
sell();
5
보통 진입청산 합쳐서 1틱으로 정도 발생하는 것으로 산정합니다.
즐거운 하루되세요
> 잡다백수 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다.
1.
input: 투입금액(200000),p(0.5);
var : Rate(0),bars(0),mm(0);
var : entry(false);
Rate = (C-C[1])/C[1]*100;
If MarketPosition == 0 Then
value1 = 100;
If Rate > 0 or Rate < 0 Then
value1 = value1+(value1*Rate*p);
If MarketPosition >= 0 Then
buy("b",Atmarket,def,floor((투입금액*value1)/NextBarOpen));
ExitLong("bx",Onclose);
이전에 만들어주신, 직전 수익률 따라 투입금액 달리하는 식이었는데요. 투입금액이 일정 수준 이상(외부변수)이 되면 더 이상 투입금액을 늘리지 않는 조건과 손실금액이 투입금액의 n%가 되면 더 이상 진입하지 않는 조건 추가 부탁드립니다.
비고
1번식 선물용으로도 만들 수 있는 부분인가요?
2.
-봉마다 진입 청산
-10이평 위에 있으면 매수진입 아래있으면 매도진입
-직전거래가 수익이면 투입자금(외부변수)n%올림. 손실이면 투입자금 nb%내림
비고
거래로 승률, 손익금체크 안되는 걸로 알고 있는데요. 저렇게 봉마다 진입청산하는 것(봉으로
거래를 추정가능한 것)은 승률이나 손익금도 체크할 수 있나요?
3. 기타
이전 청산이 아래와 같은 BigProfit이면 다음 거래를 쉰다(혹은 n회 쉰다, 혹은 내일 거래를 쉰다) 식으로 코딩을 짤 수 있는 지요. 이것도 가상거래체크에 들어가나요?
Input: BigProfit(4.5), BigStop(2.5);
If MarketPosition <> 0 Then {
If Highest(H,BarsSinceEntry+1) > EntryPrice+BigProfit Then
ExitLong("EL_초과수익청산",Atstop, EntryPrice+Bigstop);
If Lowest(L,BarsSinceEntry+1) < EntryPrice- BigProfit Then
ExitShort("ES_초과수익청산", Atstop, EntryPrice-Bigstop);
}
4. 기타
피봇선을 V형으로 상향돌파하거나 ^형으로 하향돌파하는 것을 코딩으로 짤 수 있을까요? N개봉 이전 하향돌파했다가 상향돌파한 것이라고 규정하면 범위를 너무 한정시킬 수도 있는 것 같고, 차트로 볼 때는 쉬운데 코딩 짜려니 머리 아픕니다.
5. 1번과 같이 onclose atmarket으로 매번 거래하는 것들은 슬리피지를 얼마나 잡으면 적당할까요?