예스스탁
예스스탁 답변
2025-01-02 14:49:32
안녕하세요
예스스탁입니다.
1
if CrossDown(CCIv,-100) and CountIf(CCIV > 100,n) >= 1 Then
{
count = 0;
}
올리신 수식에 count가 있는데 해당 count값이 n봉 이내에 지정한 조건이 만족한 경우 0으로 초기화가 됩니다.
즉 count가 증가하다가 중간에 다시 0으로 초기화되고 다시 카운트 됩니다.
피라미딩 진입에서 해당 count 변수의 역할이 어떤 내용인지 불명확합니다.
실질 진입횟수로 제어되게 수정해 드립니다.
2
해당식 수량이 주식기준입니다.
암호화폐 기준이시면 수량 산정 계산식이 변경되어야 합니다.
질문 올리실 때 암호화폐이면 암화화폐에 적용을 명시해 주시기 바랍니다.
3
Input : Period1(50),Period2(9),period(30),n(30);
input : 진입횟수1(5),진입횟수2(10),진입횟수3(20);
input : 금액1(20000),금액2(30000),금액3(50000);
input : percent(2);
var :af(0.02), maxAF(0.2),f(0), CCIv(0),CCIsig(0),a(0),b(0),DMIv(0),dp(0),dm(0),DParity(0),DParity1(0),count(0);
CCIv = CCI(Period1);
CCIsig = ema(CCIv,Period2);
var1 = SAR(af,maxAF);
a=ma(c,120);
b=ma(c,5);
f=highest(h,2);
value1 = MACD(12,26);
value2 = ema(value1, 9);
DMIv = DMI(Period);
DP = DIPlus(Period);
DM = DIMinus(Period);
DParity = Disparity(120);
DParity1 = Disparity(240);
if CrossDown(CCIv,-100) and CountIf(CCIV > 100,n) >= 1 Then
{
count = 0;
}
#1번조건
if cciv<-150 and CrossUp(CCIv,CCIsig) Then
{
count = count+1;
if MaxEntries < 진입횟수1 Then
Buy("b1",OnClose,Def,금액1/C);
if MaxEntries >= 진입횟수1 and MaxEntries < 진입횟수2 Then
Buy("b2",OnClose,Def,금액2/C);
if MaxEntries >=진입횟수2 and MaxEntries < 진입횟수3 Then
Buy("b3",OnClose,Def,금액3/C);
}
if MarketPosition == 1 Then
{
ExitLong("Bp",AtLimit,AvgEntryPrice*(1+percent/100));
}
즐거운 하루되세요
> 정도령7 님이 쓴 글입니다.
> 제목 : 다시 문의 드립니다.
> 새해 복 마니마니 받으세요!~~^^
다시문의 드립니다.
1. 알려주신 수식대로 차트에 적용해 보았는데 표시가 순서대로 안나오고
1-1. b1 b1 b2 b1 이런 식으로 혼합되어서 나옵니다.그리고
1-2. 매도후에는 처음대로 b1으로 리셋이 되어야 하는데 바로 b2가 나오는 곳도 많이 있어서 왜그런지 문의 드립니다. 매도후 리셋되게 부탁드립니다.
1-3. 아발란체(avax_krw) 나 다른*.krw 종목에서 3분봉으로 표시 안되는 종목이 많이 나오는데 왜 그런지요?
1-4. 시스템 트레이딩 설정에서 파라미딩은 모두허용, 그런대 비용/수량 부분은 고정자산 부분에 1로 체크하면 되는 지요?
1-5 수식 하나 문의 드립니다.
-조건- 15분봉용==>1봉전cci가 30봉 이내에 cci(100)이 -100 이하 침체 구간에 1회 이상
진입하였다가 상승하고 (and) dmi plus 가 dmi minus를 크로스업 하는 수식 부탁드립니다.
Input : Period1(50),Period2(9),period(30),n(30);
input : 진입횟수1(5),진입횟수2(10),진입횟수3(20);
input : 금액1(20000),금액2(30000),금액3(50000);
input : percent(2);
var :af(0.02), maxAF(0.2),f(0), CCIv(0),CCIsig(0),a(0),b(0),DMIv(0),dp(0),dm(0),DParity(0),DParity1(0),count(0);
CCIv = CCI(Period1);
CCIsig = ema(CCIv,Period2);
var1 = SAR(af,maxAF);
a=ma(c,120);
b=ma(c,5);
f=highest(h,2);
value1 = MACD(12,26);
value2 = ema(value1, 9);
DMIv = DMI(Period);
DP = DIPlus(Period);
DM = DIMinus(Period);
DParity = Disparity(120);
DParity1 = Disparity(240);
if CrossDown(CCIv,-100) and CountIf(CCIV > 100,n) >= 1 Then
{
count = 0;
}
#1번조건
if cciv<-150 and CrossUp(CCIv,CCIsig) Then
{
count = count+1;
if count < 진입횟수1 Then
Buy("b1",OnClose,Def,Floor(금액1/C));
if count >= 진입횟수1 and count < 진입횟수2 Then
Buy("b2",OnClose,Def,Floor(금액2/C));
if count >=진입횟수2 and count < 진입횟수3 Then
Buy("b3",OnClose,Def,Floor(금액3/C));
}
if MarketPosition == 1 Then
{
ExitLong("Bp",AtLimit,AvgEntryPrice*(1+percent/100));
}