예스스탁
예스스탁 답변
2019-10-22 09:55:53
안녕하세요
예스스탁입니다.
Input : 손절(20),익절(15),익절하락(3);
input : P1(30), P2(120), p3(240);
input : startdate(20190901), StartTime(090000),EndTime(050000);
var : tx(0),X(false);
### 목표수익
var1 = ma(C, P1);
var2 = ma(C, P2);
var3 = ma(C, P3);
######## 진입제한
var: Tcond(false);
if sdate >= startdate and X == false then
{
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime)Then {
Tcond = true; }
if (sdate != sdate[1] and stime >= Endtime) or
(sdate == sdate[1] and stime >= Endtime and stime[1] < Endtime)Then {
Tcond = false; }
## 진입
if Tcond == true and marketposition == 0 and crossup(var1,var2) Then {
buy("B1");
}
if Tcond == true and marketposition == 0 and crossdown(var1,var2) Then {
sell("S1");
}
if Tcond == true and marketposition == 0 and crossup(var2,var3) and var3[1] < var3 Then {
buy("B2");
}
if Tcond == true and marketposition == 0 and crossdown(var3,var4) and var3[1] > var3 Then {
sell("S2");
}
## 청산
if MarketPosition == 1 then {
SetStopTrailing(익절하락,익절,PointStop);
SetStopLoss(손절,PointStop);
}
if MarketPosition == -1 Then {
SetStopTrailing(익절하락,익절,PointStop);
SetStopLoss(손절,PointStop);
}
if ((sdate != sdate[1] and stime >= Endtime) or
(sdate == sdate[1] and stime >= Endtime and stime[1] < Endtime)) Then {
if MarketPosition == 1 Then {
ExitLong("BE6");
}
if MarketPosition == -1 Then {
ExitShort("SE6");
}
}
if TotalTrades > TotalTrades[1] then
{
if IsExitName("StopLoss",1) == true then
{
var1 = var1 - 40;
if var1 >= 0 Then
var1 = 0;
if var1 < 120 then
{
tx = Text_New(ExitDate(1),ExitTime(1),h[BarsSinceExit(1)],NumToStr(var1,0));
Text_SetSize(tx,9);
}
else
{
tx = Text_New(ExitDate(1),ExitTime(1),h[BarsSinceExit(1)],"★"+NumToStr(var1,0));
Text_SetSize(tx,12);
}
}
if IsExitName("StopTrailing",1) == true then
{
var1 = var1 + 30;
if var1 >= 0 Then
{
var1 = 0;
X = true;
}
tx = Text_New(ExitDate(1),ExitTime(1),h[BarsSinceExit(1)],NumToStr(var1,0));
Text_SetSize(tx,9);
}
}
}
즐거운 하루되세요
> 라떼처럼 님이 쓴 글입니다.
> 제목 : 부탁드립니다.
> 부탁드립니다. 도움주셔서 감사합니다.
1.
아래식에서
SetStopTrailing(익절), SetStopLoss(손절)되면 아래조건으로 Text를 표현하고 싶습니다.
손절시 -40 씩 더하기
익절시 +30 씩 더하기 (max:0)
* 손전에 의한 -40씩 더하기는 계속 더해 주세요
* -120 이상이면 더한값과 ★(크게)을 표시해주세요
* 익절에 의해 +30씩 더하는기 더한 값이 플러스(+)가 되면 0 로 표시해 주세요.
* 계속 익절이 되어도 "0" 이며, 손절이 되면 0에서 -40을 더해주세요
* BE6, SE6 시간청산에 의한 청산은 무시해 주세요
예1)
익절 1번: 0
손절 1번: -40 (SetStopLoss 상단 -40 표시)
손절 1번: -80 (SetStopLoss 상단 -80 표시)
손절 1번: -120 (SetStopLoss 상단 -120, ★표시)
손절 1번: -160 (SetStopLoss 상단 -160, ★표시)
예2)
익절 1번: 0
손절 1번: -40 (SetStopLoss 상단 -40 표시)
익절 1번: -10 (SetStopTrailing 상단 -10 표시)
손절 1번: -50 (SetStopLoss 상단 -50 표시)
익절 1번: -20 (SetStopTrailing 상단 -20 표시)
익절 1번: 0 (SetStopTrailing 상단 0 표시)
익절 1번: 0 (SetStopTrailing 상단 0 표시)
BE6 1번: 0 (SetStopTrailing 상단 0 표시)
익절 1번: 0 (SetStopTrailing 상단 0 표시)
2.
*지정된 날짜,시간 이후 익절 상단 "0" 이면 매매 중지
수동으로 매매 시작 날짜, 시간을 지정하여 0 이면 매매 종료하고 싶습니다.
-----------------------------------------------
Input : 손절(20),익절(15),익절하락(3);
input : P1(30), P2(120), p3(240);
input : StartTime(090000),EndTime(050000);
### 목표수익
var1 = ma(C, P1);
var2 = ma(C, P2);
var3 = ma(C, P3);
######## 진입제한
var: Tcond(false);
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime)Then {
Tcond = true; }
if (sdate != sdate[1] and stime >= Endtime) or
(sdate == sdate[1] and stime >= Endtime and stime[1] < Endtime)Then {
Tcond = false; }
## 진입
if Tcond == true and marketposition == 0 and crossup(var1,var2) Then {
buy("B1");
}
if Tcond == true and marketposition == 0 and crossdown(var1,var2) Then {
sell("S1");
}
if Tcond == true and marketposition == 0 and crossup(var2,var3) and var3[1] < var3 Then {
buy("B2");
}
if Tcond == true and marketposition == 0 and crossdown(var3,var4) and var3[1] > var3 Then {
sell("S2");
}
## 청산
if MarketPosition == 1 then {
SetStopTrailing(익절하락,익절,PointStop);
SetStopLoss(손절,PointStop);
}
if MarketPosition == -1 Then {
SetStopTrailing(익절하락,익절,PointStop);
SetStopLoss(손절,PointStop);
}
if ((sdate != sdate[1] and stime >= Endtime) or
(sdate == sdate[1] and stime >= Endtime and stime[1] < Endtime)) Then {
if MarketPosition == 1 Then {
ExitLong("BE6");
}
if MarketPosition == -1 Then {
ExitShort("SE6");
}
}
작성해주신 수식으로 적용해 보았는데 매매가 한번만 이루어지고 택스트가 표현되지 않습니다 다시한번 확인좀 부탁드립니나
Input : 손절(20),익절(15),익절하락(3);
input : P1(30), P2(120), p3(240);
input : startdate(20190901), StartTime(090000),EndTime(050000);
var : tx(0),X(false);
### 목표수익
var1 = ma(C, P1);
var2 = ma(C, P2);
var3 = ma(C, P3);
######## 진입제한
var: Tcond(false);
if sdate >= startdate and X == false then
{
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime)Then {
Tcond = true; }
if (sdate != sdate[1] and stime >= Endtime) or
(sdate == sdate[1] and stime >= Endtime and stime[1] < Endtime)Then {
Tcond = false; }
## 진입
if Tcond == true and marketposition == 0 and crossup(var1,var2) Then {
buy("B1");
}
if Tcond == true and marketposition == 0 and crossdown(var1,var2) Then {
sell("S1");
}
if Tcond == true and marketposition == 0 and crossup(var2,var3) and var3[1] < var3 Then {
buy("B2");
}
if Tcond == true and marketposition == 0 and crossdown(var3,var4) and var3[1] > var3 Then {
sell("S2");
}
}
## 청산
if MarketPosition == 1 then {
SetStopTrailing(익절하락,익절,PointStop);
SetStopLoss(손절,PointStop);
}
if MarketPosition == -1 Then {
SetStopTrailing(익절하락,익절,PointStop);
SetStopLoss(손절,PointStop);
}
if ((sdate != sdate[1] and stime >= Endtime) or
(sdate == sdate[1] and stime >= Endtime and stime[1] < Endtime)) Then {
if MarketPosition == 1 Then {
ExitLong("BE6");
}
if MarketPosition == -1 Then {
ExitShort("SE6");
}
}
var : tt(0);
if TotalTrades > TotalTrades[1] then
{
if IsExitName("StopLoss",1) == true then
{
tt = tt - 40;
if tt >= 0 Then
tt = 0;
if tt <= -120 then
{
tx = Text_New(ExitDate(1),ExitTime(1),h[BarsSinceExit(1)],NumToStr(tt,0));
Text_SetSize(tx,9);
}
else
{
tx = Text_New(ExitDate(1),ExitTime(1),h[BarsSinceExit(1)],"★"+NumToStr(tt,0));
Text_SetSize(tx,12);
}
}
if IsExitName("StopTrailing",1) == true then
{
tt = tt + 30;
if tt >= 0 Then
{
tt = 0;
X = true;
}
tx = Text_New(ExitDate(1),ExitTime(1),h[BarsSinceExit(1)],NumToStr(tt,0));
Text_SetSize(tx,9);
}
}
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 부탁드립니다.
>
안녕하세요
예스스탁입니다.
Input : 손절(20),익절(15),익절하락(3);
input : P1(30), P2(120), p3(240);
input : startdate(20190901), StartTime(090000),EndTime(050000);
var : tx(0),X(false);
### 목표수익
var1 = ma(C, P1);
var2 = ma(C, P2);
var3 = ma(C, P3);
######## 진입제한
var: Tcond(false);
if sdate >= startdate and X == false then
{
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime)Then {
Tcond = true; }
if (sdate != sdate[1] and stime >= Endtime) or
(sdate == sdate[1] and stime >= Endtime and stime[1] < Endtime)Then {
Tcond = false; }
## 진입
if Tcond == true and marketposition == 0 and crossup(var1,var2) Then {
buy("B1");
}
if Tcond == true and marketposition == 0 and crossdown(var1,var2) Then {
sell("S1");
}
if Tcond == true and marketposition == 0 and crossup(var2,var3) and var3[1] < var3 Then {
buy("B2");
}
if Tcond == true and marketposition == 0 and crossdown(var3,var4) and var3[1] > var3 Then {
sell("S2");
}
## 청산
if MarketPosition == 1 then {
SetStopTrailing(익절하락,익절,PointStop);
SetStopLoss(손절,PointStop);
}
if MarketPosition == -1 Then {
SetStopTrailing(익절하락,익절,PointStop);
SetStopLoss(손절,PointStop);
}
if ((sdate != sdate[1] and stime >= Endtime) or
(sdate == sdate[1] and stime >= Endtime and stime[1] < Endtime)) Then {
if MarketPosition == 1 Then {
ExitLong("BE6");
}
if MarketPosition == -1 Then {
ExitShort("SE6");
}
}
if TotalTrades > TotalTrades[1] then
{
if IsExitName("StopLoss",1) == true then
{
var1 = var1 - 40;
if var1 >= 0 Then
var1 = 0;
if var1 < 120 then
{
tx = Text_New(ExitDate(1),ExitTime(1),h[BarsSinceExit(1)],NumToStr(var1,0));
Text_SetSize(tx,9);
}
else
{
tx = Text_New(ExitDate(1),ExitTime(1),h[BarsSinceExit(1)],"★"+NumToStr(var1,0));
Text_SetSize(tx,12);
}
}
if IsExitName("StopTrailing",1) == true then
{
var1 = var1 + 30;
if var1 >= 0 Then
{
var1 = 0;
X = true;
}
tx = Text_New(ExitDate(1),ExitTime(1),h[BarsSinceExit(1)],NumToStr(var1,0));
Text_SetSize(tx,9);
}
}
}
즐거운 하루되세요
> 라떼처럼 님이 쓴 글입니다.
> 제목 : 부탁드립니다.
> 부탁드립니다. 도움주셔서 감사합니다.
1.
아래식에서
SetStopTrailing(익절), SetStopLoss(손절)되면 아래조건으로 Text를 표현하고 싶습니다.
손절시 -40 씩 더하기
익절시 +30 씩 더하기 (max:0)
* 손전에 의한 -40씩 더하기는 계속 더해 주세요
* -120 이상이면 더한값과 ★(크게)을 표시해주세요
* 익절에 의해 +30씩 더하는기 더한 값이 플러스(+)가 되면 0 로 표시해 주세요.
* 계속 익절이 되어도 "0" 이며, 손절이 되면 0에서 -40을 더해주세요
* BE6, SE6 시간청산에 의한 청산은 무시해 주세요
예1)
익절 1번: 0
손절 1번: -40 (SetStopLoss 상단 -40 표시)
손절 1번: -80 (SetStopLoss 상단 -80 표시)
손절 1번: -120 (SetStopLoss 상단 -120, ★표시)
손절 1번: -160 (SetStopLoss 상단 -160, ★표시)
예2)
익절 1번: 0
손절 1번: -40 (SetStopLoss 상단 -40 표시)
익절 1번: -10 (SetStopTrailing 상단 -10 표시)
손절 1번: -50 (SetStopLoss 상단 -50 표시)
익절 1번: -20 (SetStopTrailing 상단 -20 표시)
익절 1번: 0 (SetStopTrailing 상단 0 표시)
익절 1번: 0 (SetStopTrailing 상단 0 표시)
BE6 1번: 0 (SetStopTrailing 상단 0 표시)
익절 1번: 0 (SetStopTrailing 상단 0 표시)
2.
*지정된 날짜,시간 이후 익절 상단 "0" 이면 매매 중지
수동으로 매매 시작 날짜, 시간을 지정하여 0 이면 매매 종료하고 싶습니다.
-----------------------------------------------
Input : 손절(20),익절(15),익절하락(3);
input : P1(30), P2(120), p3(240);
input : StartTime(090000),EndTime(050000);
### 목표수익
var1 = ma(C, P1);
var2 = ma(C, P2);
var3 = ma(C, P3);
######## 진입제한
var: Tcond(false);
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime)Then {
Tcond = true; }
if (sdate != sdate[1] and stime >= Endtime) or
(sdate == sdate[1] and stime >= Endtime and stime[1] < Endtime)Then {
Tcond = false; }
## 진입
if Tcond == true and marketposition == 0 and crossup(var1,var2) Then {
buy("B1");
}
if Tcond == true and marketposition == 0 and crossdown(var1,var2) Then {
sell("S1");
}
if Tcond == true and marketposition == 0 and crossup(var2,var3) and var3[1] < var3 Then {
buy("B2");
}
if Tcond == true and marketposition == 0 and crossdown(var3,var4) and var3[1] > var3 Then {
sell("S2");
}
## 청산
if MarketPosition == 1 then {
SetStopTrailing(익절하락,익절,PointStop);
SetStopLoss(손절,PointStop);
}
if MarketPosition == -1 Then {
SetStopTrailing(익절하락,익절,PointStop);
SetStopLoss(손절,PointStop);
}
if ((sdate != sdate[1] and stime >= Endtime) or
(sdate == sdate[1] and stime >= Endtime and stime[1] < Endtime)) Then {
if MarketPosition == 1 Then {
ExitLong("BE6");
}
if MarketPosition == -1 Then {
ExitShort("SE6");
}
}
예스스탁
예스스탁 답변
2019-10-22 11:37:47
안녕하세요
예스스탁입니다.
1
손절이나 익절발생시 텍스트가 표시되고 있습니다.
현재 기본폰트 크기가 9입니다. 수식안에서 폰트크기 조절해 보셔야 합니다.
또한 신호의 위치와 겹쳐서 보이지 않을수 있습니다.
수식안에서 신호의 위치를 알수 없어 고가에 찍게 되어 있습니다.
고가에서 10틱 위에 찍히게 수정해 드립니다.
텍스트가 날짜,시간,가격을 지정해 표시되기에
표시되는 위치는 사용자분이 수식안에서 조절하셔야 합니다.
저희가 조절할수 없는 부분입니다.
수식안에 text_New함수가 텍스트 출력
Text_SetSize가 폰트 사이즈
Text_Setstyle가 좌우상하 정렬입니다.
해당 함수에 도움말 참고하셔서 조절해 보시기 바랍니다.
2
손절시 -40 씩 더하기
익절시 +30 씩 더하기 (max:0)
*지정된 날짜,시간 이후 익절 상단 "0" 이면 매매 중지가 됩니다.
그러므로 첫진입이 익절이 되면 위 내용에 의해 값이 0이 되고 이후에 더이상 추가진입이 없습니다
만약 지정한 날짜이후에 신호가 발생하는데
지정한 시작시간이 될때마다 초기화해서 다시 진입을 허용하시면 아래식 이용하시면 됩니다.
폰트도 좀더 크게 지정했습니다.
Input : 손절(20),익절(15),익절하락(3);
input : P1(30), P2(120), p3(240);
input : startdate(20190901), StartTime(090000),EndTime(050000);
var : tx(0),X(false);
### 목표수익
var1 = ma(C, P1);
var2 = ma(C, P2);
var3 = ma(C, P3);
######## 진입제한
var: Tcond(false);
if sdate >= startdate then
{
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime)Then
{
X = false;
Tcond = true;
}
if (sdate != sdate[1] and stime >= Endtime) or
(sdate == sdate[1] and stime >= Endtime and stime[1] < Endtime)Then
{
Tcond = false;
}
## 진입
if Tcond == true and X == false and marketposition == 0 and crossup(var1,var2) Then {
buy("B1");
}
if Tcond == true and X == false and marketposition == 0 and crossdown(var1,var2) Then {
sell("S1");
}
if Tcond == true and X == false and marketposition == 0 and crossup(var2,var3) and var3[1] < var3 Then {
buy("B2");
}
if Tcond == true and X == false and marketposition == 0 and crossdown(var3,var4) and var3[1] > var3 Then {
sell("S2");
}
}
## 청산
if MarketPosition == 1 then {
SetStopTrailing(익절하락,익절,PointStop);
SetStopLoss(손절,PointStop);
}
if MarketPosition == -1 Then {
SetStopTrailing(익절하락,익절,PointStop);
SetStopLoss(손절,PointStop);
}
if ((sdate != sdate[1] and stime >= Endtime) or
(sdate == sdate[1] and stime >= Endtime and stime[1] < Endtime)) Then {
if MarketPosition == 1 Then {
ExitLong("BE6");
}
if MarketPosition == -1 Then {
ExitShort("SE6");
}
}
var : tt(0);
if TotalTrades > TotalTrades[1] then
{
if IsExitName("StopLoss",1) == true then
{
tt = tt - 40;
if tt >= 0 Then
tt = 0;
if tt <= -120 then
{
tx = Text_New(sdate[BarsSinceExit(1)],sTime[BarsSinceExit(1)],h[BarsSinceExit(1)],NumToStr(tt,0));
Text_SetSize(tx,12);
}
else
{
tx = Text_New(sdate[BarsSinceExit(1)],sTime[BarsSinceExit(1)],h[BarsSinceExit(1)],"★"+NumToStr(tt,0));
Text_SetSize(tx,20);
}
}
if IsExitName("StopTrailing",1) == true then
{
tt = tt + 30;
if tt >= 0 Then
{
tt = 0;
X = true;
}
tx = Text_New(sdate[BarsSinceExit(1)],sTime[BarsSinceExit(1)],h[BarsSinceExit(1)],NumToStr(tt,0));
Text_SetSize(tx,12);
Text_Setstyle(tx,2,2);
}
}
즐거운 하루되세요
> 라떼처럼 님이 쓴 글입니다.
> 제목 : Re : Re : 부탁드립니다.
> 작성해주신 수식으로 적용해 보았는데 매매가 한번만 이루어지고 택스트가 표현되지 않습니다 다시한번 확인좀 부탁드립니나
Input : 손절(20),익절(15),익절하락(3);
input : P1(30), P2(120), p3(240);
input : startdate(20190901), StartTime(090000),EndTime(050000);
var : tx(0),X(false);
### 목표수익
var1 = ma(C, P1);
var2 = ma(C, P2);
var3 = ma(C, P3);
######## 진입제한
var: Tcond(false);
if sdate >= startdate and X == false then
{
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime)Then {
Tcond = true; }
if (sdate != sdate[1] and stime >= Endtime) or
(sdate == sdate[1] and stime >= Endtime and stime[1] < Endtime)Then {
Tcond = false; }
## 진입
if Tcond == true and marketposition == 0 and crossup(var1,var2) Then {
buy("B1");
}
if Tcond == true and marketposition == 0 and crossdown(var1,var2) Then {
sell("S1");
}
if Tcond == true and marketposition == 0 and crossup(var2,var3) and var3[1] < var3 Then {
buy("B2");
}
if Tcond == true and marketposition == 0 and crossdown(var3,var4) and var3[1] > var3 Then {
sell("S2");
}
}
## 청산
if MarketPosition == 1 then {
SetStopTrailing(익절하락,익절,PointStop);
SetStopLoss(손절,PointStop);
}
if MarketPosition == -1 Then {
SetStopTrailing(익절하락,익절,PointStop);
SetStopLoss(손절,PointStop);
}
if ((sdate != sdate[1] and stime >= Endtime) or
(sdate == sdate[1] and stime >= Endtime and stime[1] < Endtime)) Then {
if MarketPosition == 1 Then {
ExitLong("BE6");
}
if MarketPosition == -1 Then {
ExitShort("SE6");
}
}
var : tt(0);
if TotalTrades > TotalTrades[1] then
{
if IsExitName("StopLoss",1) == true then
{
tt = tt - 40;
if tt >= 0 Then
tt = 0;
if tt <= -120 then
{
tx = Text_New(ExitDate(1),ExitTime(1),h[BarsSinceExit(1)],NumToStr(tt,0));
Text_SetSize(tx,9);
}
else
{
tx = Text_New(ExitDate(1),ExitTime(1),h[BarsSinceExit(1)],"★"+NumToStr(tt,0));
Text_SetSize(tx,12);
}
}
if IsExitName("StopTrailing",1) == true then
{
tt = tt + 30;
if tt >= 0 Then
{
tt = 0;
X = true;
}
tx = Text_New(ExitDate(1),ExitTime(1),h[BarsSinceExit(1)],NumToStr(tt,0));
Text_SetSize(tx,9);
}
}
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 부탁드립니다.
>
안녕하세요
예스스탁입니다.
Input : 손절(20),익절(15),익절하락(3);
input : P1(30), P2(120), p3(240);
input : startdate(20190901), StartTime(090000),EndTime(050000);
var : tx(0),X(false);
### 목표수익
var1 = ma(C, P1);
var2 = ma(C, P2);
var3 = ma(C, P3);
######## 진입제한
var: Tcond(false);
if sdate >= startdate and X == false then
{
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime)Then {
Tcond = true; }
if (sdate != sdate[1] and stime >= Endtime) or
(sdate == sdate[1] and stime >= Endtime and stime[1] < Endtime)Then {
Tcond = false; }
## 진입
if Tcond == true and marketposition == 0 and crossup(var1,var2) Then {
buy("B1");
}
if Tcond == true and marketposition == 0 and crossdown(var1,var2) Then {
sell("S1");
}
if Tcond == true and marketposition == 0 and crossup(var2,var3) and var3[1] < var3 Then {
buy("B2");
}
if Tcond == true and marketposition == 0 and crossdown(var3,var4) and var3[1] > var3 Then {
sell("S2");
}
## 청산
if MarketPosition == 1 then {
SetStopTrailing(익절하락,익절,PointStop);
SetStopLoss(손절,PointStop);
}
if MarketPosition == -1 Then {
SetStopTrailing(익절하락,익절,PointStop);
SetStopLoss(손절,PointStop);
}
if ((sdate != sdate[1] and stime >= Endtime) or
(sdate == sdate[1] and stime >= Endtime and stime[1] < Endtime)) Then {
if MarketPosition == 1 Then {
ExitLong("BE6");
}
if MarketPosition == -1 Then {
ExitShort("SE6");
}
}
if TotalTrades > TotalTrades[1] then
{
if IsExitName("StopLoss",1) == true then
{
var1 = var1 - 40;
if var1 >= 0 Then
var1 = 0;
if var1 < 120 then
{
tx = Text_New(ExitDate(1),ExitTime(1),h[BarsSinceExit(1)],NumToStr(var1,0));
Text_SetSize(tx,9);
}
else
{
tx = Text_New(ExitDate(1),ExitTime(1),h[BarsSinceExit(1)],"★"+NumToStr(var1,0));
Text_SetSize(tx,12);
}
}
if IsExitName("StopTrailing",1) == true then
{
var1 = var1 + 30;
if var1 >= 0 Then
{
var1 = 0;
X = true;
}
tx = Text_New(ExitDate(1),ExitTime(1),h[BarsSinceExit(1)],NumToStr(var1,0));
Text_SetSize(tx,9);
}
}
}
즐거운 하루되세요
> 라떼처럼 님이 쓴 글입니다.
> 제목 : 부탁드립니다.
> 부탁드립니다. 도움주셔서 감사합니다.
1.
아래식에서
SetStopTrailing(익절), SetStopLoss(손절)되면 아래조건으로 Text를 표현하고 싶습니다.
손절시 -40 씩 더하기
익절시 +30 씩 더하기 (max:0)
* 손전에 의한 -40씩 더하기는 계속 더해 주세요
* -120 이상이면 더한값과 ★(크게)을 표시해주세요
* 익절에 의해 +30씩 더하는기 더한 값이 플러스(+)가 되면 0 로 표시해 주세요.
* 계속 익절이 되어도 "0" 이며, 손절이 되면 0에서 -40을 더해주세요
* BE6, SE6 시간청산에 의한 청산은 무시해 주세요
예1)
익절 1번: 0
손절 1번: -40 (SetStopLoss 상단 -40 표시)
손절 1번: -80 (SetStopLoss 상단 -80 표시)
손절 1번: -120 (SetStopLoss 상단 -120, ★표시)
손절 1번: -160 (SetStopLoss 상단 -160, ★표시)
예2)
익절 1번: 0
손절 1번: -40 (SetStopLoss 상단 -40 표시)
익절 1번: -10 (SetStopTrailing 상단 -10 표시)
손절 1번: -50 (SetStopLoss 상단 -50 표시)
익절 1번: -20 (SetStopTrailing 상단 -20 표시)
익절 1번: 0 (SetStopTrailing 상단 0 표시)
익절 1번: 0 (SetStopTrailing 상단 0 표시)
BE6 1번: 0 (SetStopTrailing 상단 0 표시)
익절 1번: 0 (SetStopTrailing 상단 0 표시)
2.
*지정된 날짜,시간 이후 익절 상단 "0" 이면 매매 중지
수동으로 매매 시작 날짜, 시간을 지정하여 0 이면 매매 종료하고 싶습니다.
-----------------------------------------------
Input : 손절(20),익절(15),익절하락(3);
input : P1(30), P2(120), p3(240);
input : StartTime(090000),EndTime(050000);
### 목표수익
var1 = ma(C, P1);
var2 = ma(C, P2);
var3 = ma(C, P3);
######## 진입제한
var: Tcond(false);
if (sdate != sdate[1] and stime >= StartTime) or
(sdate == sdate[1] and stime >= StartTime and stime[1] < StartTime)Then {
Tcond = true; }
if (sdate != sdate[1] and stime >= Endtime) or
(sdate == sdate[1] and stime >= Endtime and stime[1] < Endtime)Then {
Tcond = false; }
## 진입
if Tcond == true and marketposition == 0 and crossup(var1,var2) Then {
buy("B1");
}
if Tcond == true and marketposition == 0 and crossdown(var1,var2) Then {
sell("S1");
}
if Tcond == true and marketposition == 0 and crossup(var2,var3) and var3[1] < var3 Then {
buy("B2");
}
if Tcond == true and marketposition == 0 and crossdown(var3,var4) and var3[1] > var3 Then {
sell("S2");
}
## 청산
if MarketPosition == 1 then {
SetStopTrailing(익절하락,익절,PointStop);
SetStopLoss(손절,PointStop);
}
if MarketPosition == -1 Then {
SetStopTrailing(익절하락,익절,PointStop);
SetStopLoss(손절,PointStop);
}
if ((sdate != sdate[1] and stime >= Endtime) or
(sdate == sdate[1] and stime >= Endtime and stime[1] < Endtime)) Then {
if MarketPosition == 1 Then {
ExitLong("BE6");
}
if MarketPosition == -1 Then {
ExitShort("SE6");
}
}