답변완료
추가매수한 것이 최초 매수한것과 같은 값이 손절하는 수식 요청합니다.
최초 진입후 150틱 하락시마다 추가 매수 를 총 3회까지 하는 수식인데...
아래 청산수식은 진입한 계약수가 일괄 청산되는데요...
if C <= EntryPrice and sum >= 손절갯수 Then
exitlong("bx1");
아래 청산수식은 즉시손절값,터치익절값으로 청산이 되네요....(순차적으로)
SetStopProfittarget(터치익절 , PercentStop);
SetStopLoss(즉시손절 , PercentStop);
제가 원하는 청산 수식은 다음과 같습니다.
터치익절 1% 설정시
터치익절 최초 매수계약분은 1% 수익청산
만약 150틱하락해서 추가매수분은 1%+150틱 수익청산
결국 최초 매수된 값의 1% 수익시 추가매수분은 해당 청산값에 일괄 청산하는 청산식
손절청산도 마찬가지입니다.
현재는 -1% 손실시 추가매수분은 순차적으로 손실청산되는데요...
원하는 청산손실방법은
최초 진입가에 -1%가되면 추가로 매수된 2개 계약을 포함하여 일괄 청산되는 수식으로
요청드림니다.
제가
SetStopProfittarget(터치익절 , PercentStop);
SetStopLoss(즉시손절 , PercentStop);
를 쓰는 이유는 매수한 봉에서도 익절값이나 손절값이 도달시 청산되는 것이 구현하고 싶어서
저 수식을 사용하였던 것이였습니다.
그런데 추가진입하는 수식을 부여하니 위와 같은 생각하지 못한 변수들이 나오네요~~
저의고민을 풀어주시면 감사하겠습니다.
위 청산식에서는 최초
input : 우상향값(15);
input : 이평봉수(3);
input : 진입이평(3);
Input : DMIPeriod(25);
#청산 조건
input : 이평값5(5), 이평값6(15);
input : 터치익절(2.9),즉시손절(1.9);
input : MACDshortP(40);
input : 손절갯수(4),일프로미만청산갯수(4),이프로미만청산갯수(3);
input : 이익청산률(1.015);
Input : tr수익(200),tr하락(200);
Input : 분할매수횟수(3),분할매수틱수(150);
var : sarv(0,data1),BBup(0),BuyEntry(false);
var : ii(-1),mav1(0),mav2(0),mav3(0),mav4(0),mav5(0),mav6(0);
var : cond1(false,data1),cond2(false,data1),i1(0,data1),i2(0,data1);
var : T(0);
var1 = ma(C,우상향값);
var2 = ma(C,진입이평);
value1 = DIPlus(DMIPeriod);
value2 = DIMinus(DMIPeriod);
#-----------------------------------
Var : value(0) , macdosc(0) ;
value = MACD(MACDshortP,MACDshortP*2);
macdosc = value-ema(value,9);
#----------------------------------------
if var1 > var1[1] Then
T = 1;
if var1 < var1[1] Then
T = -1;
#상향반전
if T == 1 and T != T[1] Then
{
BuyEntry = true;
ii = index;
}
#상향반전후 10봉 이내
if MarketPosition == 0 and BuyEntry == true and index < ii+이평봉수 and value1 > value2 Then
{
if NextBarOpen <= var2 Then
buy("b1",AtStop,var2);
Else
buy("b2",Atlimit,var2);
}
#추가진입
if MarketPosition == 1 and MaxEntries < 분할매수횟수 Then
buy("추가매수",atlimit,LatestEntryPrice(0)-PriceScale*분할매수틱수,1);
#==========================================================================
mav5 = ma(c,이평값5);
mav6 = ma(c,이평값6);
var : sum(0);
if MarketPosition == 1 then
{
BuyEntry = false;
sum = 0;
if CrossDown(c,mav5) Then # 2번째 이평선
sum = sum+1;
if CrossDown(c,mav6) Then # 2번째 이평선
sum = sum+1;
if C < sarv Then
sum = sum+1;
if macdosc <= 0 Then
sum = sum+1;
if (sdate != sdate[1] and stime >= 050000) or
(sdate == sdate[1] and stime >= 050000 and stime[1] < 050000) then
sum = sum+1;
if (DayOfWeek(sdate) == 6 and sdate != sdate[1] and stime >= 050000) or
(DayOfWeek(sdate) == 6 and sdate == sdate[1] and stime >= 050000 and stime[1] < 050000) then
sum = sum+1;
if C <= EntryPrice and sum >= 손절갯수 Then
exitlong("bx1");
if C > EntryPrice and C <= EntryPrice*이익청산률 and sum >= 일프로미만청산갯수 Then
exitlong("bx2");
if C > EntryPrice*이익청산률 and sum >= 이프로미만청산갯수 Then
exitlong("bx3");
if highest(H,BarsSinceEntry) >= EntryPrice+PriceScale*tr수익 Then
ExitLong("tr",AtStop, highest(H,BarsSinceEntry)-PriceScale*tr하락);
}
SetStopLoss(즉시손절 , PercentStop);
SetStopProfittarget(터치익절 , PercentStop);
2020-06-08
2090
글번호 139615
시스템
답변완료
문의드립니다!!
안녕하세요!
아래 수식에서 음성신호 발생시 특정횟수나 특정시간동안만 소리가 나오게할수는 없을까요?
수식에서와 같이 60분 기준선을 적용시 1시간 내내 소리가 나네요
감사합니다
----------------------------------------------------------------------------------------
Inputs: TurnLen(9), StdLen(26), PrdLen(52);
Variables: 기준선(0);
기준선 = (Highest(High, StdLen) + Lowest(Low, StdLen)) / 2;
Plot1(기준선, "기준선");
if crossup(h,기준선) or CrossDown(l,기준선) Then
PlaySound("C:₩예스트레이더₩data₩Sound₩60분기준선.wav");
2020-06-08
2282
글번호 139612
지표