답변완료
오류
안녕하세요 시그널메이커에서는 대부분 구현이 제대로 되지않아서 예스이용해보려고합니다.
사용자함수 입력하려고합니다 근데 오류가 나옵니다
수정좀 부탁드립니다
Inputs: ATRLength(NumericSimple), ATRMult(NumericSimple), Strength(NumericSimple), STrend(NumericRef);
Vars: vATR(0), vAvg(0), DN(0), UP(0), Trend(1), flag(0), flagh(0), ST(0), hl(0);
hl = Highest(High, ATRLength) - Lowest(Low, ATRLength);
vATR = Ema(hl, ATRLength);
vAvg = ( Ema(High, Strength) + Ema(Low, Strength) ) / 2;
UP = vAvg + vATR;
DN = vAvg - vATR;
If C > UP[1] And C > Highest(High, Strength)[1] Then Trend = 1
Else If C < DN[1] And C < Lowest(Low, Strength)[1] Then Trend = -1;
If Trend < 0 And Trend[1] > 0 Then flag = 1
Else flag = 0;
If Trend > 0 And Trend[1] < 0 Then flagh = 1
Else flagh = 0;
If Trend > 0 And DN < DN[1] Then DN = DN[1];
If Trend < 0 And UP > UP[1] Then UP = UP[1];
If flag = 1 Then UP = vAvg + vATR;
If flagh = 1 Then DN = vAvg - vATR;
If Trend = 1 Then ST = DN
Else ST = UP;
SuperTrend = ST;
STrend = Trend;
이 사용자 함수를 만든뒤 아래 자동매매만들고싶습니다
// Inputs
inputs: ATRLength1(14), ATRMult1(3), Strength1(20);
// Variables
vars: strend1(0), st1(0);
// Calculate SuperTrend
st1 = SuperTrend(ATRLength1, ATRMult1, Strength1, strend1);
// Trading Logic
// Buy when the close price crosses above the SuperTrend
If CrossUp(C, st1) Then
Buy("매수");
// Sell when the close price crosses below the SuperTrend
If CrossDown(C, st1) Then
Sell("매도");
자동매매로 전환하고싶습니다
2024-09-26
508
글번호 183785
사용자 함수
답변완료
수식 수정 부탁드립니다.
안녕하세요.
아래의 피라미딩전략에 다소 오류가 있는듯하여 수정 요청드립니다. 감사합니다.
1. 손실시에는 다음 진입신호가 나올때까지 보유하며, 총 5회까지 진입허용
2. 각각의 진입은 수익시에만 트레일링스탑으로 청산
if MarketPosition == 0 Then
{
if CurrentEntries == 0 Then
{
if BuyCond == True Then Buy("Long1", AtMarket);
}
}
if MarketPosition == 1 Then
{
if CurrentEntries == 1 Then
{
if BuyCond == True Then Buy("Long2", AtMarket);
if PositionProfit(0) > 0 Then ExitLong("TStop1-0", Atstop, highest(high,barsSinceEntry+1) - ATR, "Long1");
}
if CurrentEntries == 2 Then
{
if BuyCond == True Then Buy("Long3", AtMarket);
if PositionProfit(0) > 0 Then ExitLong("TStop2-0", Atstop, highest(high,barsSinceEntry+1) - ATR, "Long2");
if PositionProfit(1) > 0 Then ExitLong("TStop2-1", Atstop, highest(high,barsSinceEntry+1) - ATR, "Long1");
}
if CurrentEntries == 3 Then
{
if BuyCond == True Then Buy("Long4", AtMarket);
if PositionProfit(0) > 0 Then ExitLong("TStop3-0", Atstop, highest(high,barsSinceEntry+1) - ATR, "Long3");
if PositionProfit(1) > 0 Then ExitLong("TStop3-1", Atstop, highest(high,barsSinceEntry+1) - ATR, "Long2");
if PositionProfit(2) > 0 Then ExitLong("TStop3-2", Atstop, highest(high,barsSinceEntry+1) - ATR, "Long1");
}
if CurrentEntries == 4 Then
{
if BuyCond == True Then Buy("Long5", AtMarket);
if PositionProfit(0) > 0 Then ExitLong("TStop4-0", Atstop, highest(high,barsSinceEntry+1) - ATR, "Long4");
if PositionProfit(1) > 0 Then ExitLong("TStop4-1", Atstop, highest(high,barsSinceEntry+1) - ATR, "Long3");
if PositionProfit(2) > 0 Then ExitLong("TStop4-2", Atstop, highest(high,barsSinceEntry+1) - ATR, "Long2");
if PositionProfit(3) > 0 Then ExitLong("TStop4-3", Atstop, highest(high,barsSinceEntry+1) - ATR, "Long1");
}
if CurrentEntries == 5 Then
{
if PositionProfit(0) > 0 Then ExitLong("TStop5-0", Atstop, highest(high,barsSinceEntry+1) - ATR, "Long5");
if PositionProfit(1) > 0 Then ExitLong("TStop5-1", Atstop, highest(high,barsSinceEntry+1) - ATR, "Long4");
if PositionProfit(2) > 0 Then ExitLong("TStop5-2", Atstop, highest(high,barsSinceEntry+1) - ATR, "Long3");
if PositionProfit(3) > 0 Then ExitLong("TStop5-3", Atstop, highest(high,barsSinceEntry+1) - ATR, "Long2");
if PositionProfit(4) > 0 Then ExitLong("TStop5-4", Atstop, highest(high,barsSinceEntry+1) - ATR, "Long1");
}
}
2024-09-26
652
글번호 183780
시스템
답변완료
문의 드립니다
안녕하세요
키움지표 전환 부탁드립니다
1.
수식1
TT=BBandsUp(20,2);
ValueWhen(1,TT >TT(1),TT)
수식2
TT=BBandsUp(14,1.1);
ValueWhen(1,TT >TT(1),TT)
수식3
TT=BBandsUp(20,2);
ValueWhen(1,TT < TT(1),TT)
수식4
TT=BBandsUp(14,1.1);
ValueWhen(1,TT < TT(1),TT)
2.
수식1
TT=BBandsDown(20,2);
ValueWhen(1,TT >TT(1),TT)
수식2
TT=BBandsDown(14,1.1);
ValueWhen(1,TT >TT(1),TT)
수식3
TT=BBandsDown(20,2);
ValueWhen(1,TT < TT(1),TT)
수식4
TT=BBandsDown(14,1.1);
ValueWhen(1,TT < TT(1),TT)
3
수식1 highest(H, period, 1);
수식2 lowest(L, period, 1);
수식3 highest(C, period, 1);
수식4lowest(C, period, 1);
4
수식1 highest(H, period, 0);
수식2 lowest(L, period, 0);
수식3 highest(C, period, 0);
수식4lowest(C, period, 0);
3번고4번의 기간은 20으로하고 변경가능하게 부탁드립니다
5.
수식1(선1)
((highest(high,shortPeriod)+lowest(low,shortPeriod)
+highest(high,midPeriod)+lowest(low,midPeriod))/4
+2*BBandsUp(Period,D1))/3
수식2(선2)
((highest(high,shortPeriod)+lowest(low,shortPeriod)+
(highest(high,longPeriod)+lowest(low,longPeriod)))/4
+2*BBandsUp(Period,D1))/3
수식3(선1)
((highest(high,shortPeriod)+lowest(low,shortPeriod)+highest(high,midPeriod)+lowest(low,midPeriod))/4
+2*BBandsDown(Period,D1))/3
수식4(선2)
((highest(high,shortPeriod)+lowest(low,shortPeriod)
+(highest(high,longPeriod)+lowest(low,longPeriod)))/4
+2*BBandsDown(Period,D1))/3
지표조건은 5,15,30. d1은3,기간은 20 입니다 (변경가능)
감사합니다
2024-09-26
742
글번호 183770
지표