답변완료
피라미딩 분할 익절
input : up익절1(150),up익절2(200);
if MarketPosition == 1 and EntryPrice+PriceScale*up익절1 Then
exitlong("bx1",AtLimit,def,"",Floor(MaxContracts*0.50),1);
if MarketPosition == 1 and EntryPrice+PriceScale*up익절2 Then
exitlong("bx2",AtLimit);
input : dn익절1(150),dn익절2(200);
if MarketPosition == -1 and EntryPrice-pricescale*dn익절1 Then
exitshort("sx1",AtLimit,def,"",Floor(MaxContracts*0.50),1);
if MarketPosition == -1 and EntryPrice-pricescale*dn익절2 Then
exitshort("sx2",AtLimit);
1.피라미딩 2개 되었을 때 분할익절 수식입니다. 맞는지요?
2.맥스계약비율을 맥스계약수량으로 변경하는 수식도 요청합니다.
2020-02-27
472
글번호 136391
시스템
답변완료
수식 부탁드립니다
첫봉 시가기준으로 첫봉부터 진입하여
첫봉 c>o면 매수, 첫봉 c<o면 매도
이후는 첫봉시가기준 cross업 다운 수식입니다
1번 2번 사진에서 보시는거와 같이 잘되다가
중간중간 3번 그림처럼
첫봉에 진입을 안하네요
나스닥 1분봉입니다
수정 부탁드려요~
//써머타임 변수
var : Summer(False),Year(0);
var : V1(0),V2(0),V3(0),V4(0);
var: Tcond(False);
//써머타임 변수
var: fo(0),fc(0);
// 써머타임
if sdate != sdate[1] Then
{
Year = Floor(sdate/10000);
V1 = (10000 * Year) + (100 * 3) + 1;
V2 = 15 - dayofweek(v1); // 3월 두번째 일요일 날짜
v3 = (10000 * Year) + (100 * 11) + 1;
v4 = 8 - dayofweek(v3); // 11월 첫번째 일요일 날짜
Summer = (sdate > (10000 * Year) + (100 * 3) + v2) And (sdate < (10000 * Year) + (100 * 11) + v4);
}
// 써머타임
// 써머타임 3월~11월
if Summer == true then
{
if sdate == 20190419 then //써머 휴일청산
{
if (sdate != sdate[1] and stime >= 054500) or
(sdate == sdate[1] and stime >= 054500 and stime[1] < 054500) then
{
Tcond = false;
if MarketPosition == 1 Then
ExitLong("써머휴일매수청");
if MarketPosition == -1 Then
ExitShort("써머휴일매도청");
}
}
else if sdate == 20190528 or sdate == 20190704 or sdate == 20190705 or sdate == 20190903 then //써머 조기장
{
if (sdate != sdate[1] and stime >= 014500) or
(sdate == sdate[1] and stime >= 014500 and stime[1] < 014500) then
{
Tcond = false;
if MarketPosition == 1 Then
ExitLong("써머조기장매수청");
if MarketPosition == -1 Then
ExitShort("써머조기장매도청");
}
}
else
{
if (sdate != sdate[1] and stime >= 054500 ) or
(sdate == sdate[1] and stime >= 054500 and stime[1] < 054500 ) then
{
Tcond = false;
if MarketPosition == 1 Then
ExitLong("써머매수청");
if MarketPosition == -1 Then
ExitShort("써머매도청");
}
}
if (sdate != sdate[1] and stime >= 070000) or
(sdate == sdate[1] and stime >= 070000 and stime[1] < 070000) then
{
fo=O; //당일첫봉의시가
fc=C; //당일첫봉의종가
Tcond = true;
}
}
Else //11월~3월까지
{
if sdate == 20190101 or sdate == 20200101 then //노써머 휴일청산
{
if (sdate != sdate[1] and stime >= 064500) or
(sdate == sdate[1] and stime >= 064500 and stime[1] < 064500) then
{
Tcond = false;
if MarketPosition == 1 Then
ExitLong("노써머휴일매수청");
if MarketPosition == -1 Then
ExitShort("노써머휴일매도청");
}
}
else if sdate == 20190122 or sdate == 20190219 or sdate == 20191129 or sdate == 20191130 or sdate == 20191225
or sdate == 20200121 or sdate == 20200218 then //노써머 조기장
{
if (sdate != sdate[1] and stime >= 024500) or
(sdate == sdate[1] and stime >= 024500 and stime[1] < 024500) then
{
Tcond = false;
if MarketPosition == 1 Then
ExitLong("노써머조기장매수청");
if MarketPosition == -1 Then
ExitShort("노써머조기장매도청");
}
}
else
{
if (sdate != sdate[1] and stime >= 064500 ) or
(sdate == sdate[1] and stime >= 064500 and stime[1] < 064500 ) then
{
Tcond = false;
if MarketPosition == 1 Then
ExitLong("노써머매수청");
if MarketPosition == -1 Then
ExitShort("노써머매도청");
}
}
if (sdate != sdate[1] and stime >= 080000) or
(sdate == sdate[1] and stime >= 080000 and stime[1] < 080000) then
{
fo=O; //당일첫봉의시가
fc=C; //당일첫봉의종가
Tcond = true;
}
}
// 써머타임
//--------- 진입 로직 ---------//
If Tcond == true Then
{
if CrossUp(c,fo) Then
buy();
if Crossdown(c,fo) Then
sell();
}
2020-02-27
410
글번호 136389
시스템
답변완료
질문 올립니다.
안녕하세요. 늘 감사드립니다.
I.
추세 진행 중에 약간이 눌림 진행 후 본 추세에 복귀하면 진입하는 식 부탁드립니다.
1. 현재 상승추세 가정 ((5 이평, 20 이평이 정배열, 둘 다 기울기 우상향 +))
2. 이런 상승 추세 중에, 음봉이 하나 내지 두서너대여섯...개, 즉 음봉들 연속 몇 개 출현
((이 몇 개 갯수는 미리 알 수 없으므로, 상승 추세 중에 음봉이 연속 출현하여, 계속 음봉 몇개가 나타난 후, 양봉들이 다시 나타나면서 본 상승 추세 복귀))
3. 이 때, [이 음봉들의 고가들과, 음봉들이 나타나기 직전 두 개 양봉들의 고가들] 중 가장 높은 고가 가격 수준을, 가격이 m틱 이상 돌파(이 m틱은 가령 2틱, 3틱 등이 될 수 있겠으나, 최적화할 수 있게 외부변수로 처리)하면 매수.
4. 이 때 [그 몇 개의 음봉들이 나타나기 시작한 이 후, 진입봉까지(진입봉 포함)의 최저가]의 n틱 아래에 초기 손절 설정.
II.
횡보 회피 방법의 일환으로, 청산 후에 일정한 수(q)의 봉들이 지난 후에야 다시 진입이 가능하도록 하는 코딩 부탁드립니다.
((예를 들어서, 위와 같은 이평 교차 전략을 쓰는 경우라고 하고, 기간값 단기가 S((가령 5. 외부변수...)), 장기가 L((가령 20. 외부변수...))이라고 하고,
한번 진입돼서 청산되고 나면, 그 다음부터는 q개의 바들이 진행된 후에 다시 진입이 가능하도록 하는 식. 즉 첫번째 진입은 그냥 하고, 두 번째 진입 이후부터는, If문 속에, 청산 후 q바가 경과해야 한다는 조건을 추가하고 진입...))
((위 두 질문(i, II의 답을 따로 작성하실 필요 없이, 큰 하나의 매매식으로 작성해 주시면 대단히 감사하겠습니다. 매수, 매도 다 아우르는...))
대단히 감사합니다!
2020-02-27
391
글번호 136386
시스템
답변완료
수식 작성 문의드립니다.
안녕하세요 고생이 많으십니다.
해외선물 자동매매프로그램을 작성하고자하는데 수식 작성 도움 부탁드립니다.
자동매매프로그램 방식은
1. 사용자가 장 시작 전 매수가격 , 매도가격을 기준으로 설정. (매일매일 기준선 변경)
(예를 들어 1100원 매수, 900원 매도 이런식으로 매일 설정)
-> 현재 가격 1200원 5계약 매수포지션 보유 가정 시 매매 방식 설명
3. 1200 -> 900원 하락하며 기준 매도선 건드릴 시 900원에 매수포지션 전량 청산,
주문 가능 수 만큼 매도포지션 진입 (청산, 진입 모두 900원)
4. 900원 -> 1100원 오르며 매수선 건드릴 시, 매도포지션 전량 청산,
주문 가능 수 만큼 매수포지션 전환 (기준 가격 1100원)
5. 시초가매매의 경우 시초가가 당일 설정된 매수가격 위에서 형성되면
-> 매수포지션 보유 시 포지션 유지.
-> 매도 포지션 보유 시 시초가에 포지션 청산, 매수 포지션 진입.
* 시초가가 당일 설정한 매도 가격 아래에서 형성 시 반대로.
부연 설명>
매일 매일 새롭게 설정하는 매수선, 매도선을 기준으로
상승하며 매수선을 건드릴 시 매도포지션 청산과 동시에 증거금 풀로 매수포지션 진입.
하방으로 떨어지면 반대로 청산, 진입 하는 방식입니다.
즉, 오버나잇해가며 항상 포지션을 보유하는 방식이고,
포지션진입은 항상 반대포지션 청산과 함께 일어나며, 그때의 청산, 진입가는 동일합니다.
포지션진입시 청산된 증거금 가능액을 활용 풀로 매수하게 되구요.
예스트레이더 꺼놔도 주문 확인 없이 자동으로 매매되게 하고 싶습니다.
바로 활용 가능하게 수식 작성부탁드립니다.
오늘 하루도 건강 유의하시고 업무 힘내시기 바랍니다!
2020-02-26
416
글번호 136384
시스템