코딩 도움말 - 페이지 490

 
tfi_markets:
구현하다; NonLag_Schaff_TrendCycle 표시기:

안녕하세요 프로코더 여러분,

누군가 NonLag_Schaff_TrendCycle 표시기를 구현하는 데 도움을 줄 수 있을지 궁금합니다.

지표 외부:

외부 정수 FastLength = 23;

extern int 느린 길이 = 50;

외부 정수 StcPeriod = 10;

extern int MacdPrice = PRICE_CLOSE;

extern bool 보간 = true;

extern bool MultiColor = true;

표시기 버퍼:

표시 버퍼(8);

SetIndexBuffer(0,stcBuffer);

SetIndexBuffer(1,stcBufferUA);

SetIndexBuffer(2,stcBufferUB);

SetIndexBuffer(3,macdBuffer);

SetIndexBuffer(4, fastKBuffer);

SetIndexBuffer(5, fastDBuffer);

SetIndexBuffer(6,fastKKBuffer);

SetIndexBuffer(7, 경향);

나는 다음과 같이 하려고 노력한다.

이중 STC1_c=iCustom(Symbol(),0,"NonLag_Schaff_TrendCycle",FastLength,SlowLength,StcPeriod,MacdPrice,Interpolate,0,bar);

이중 STC2_c=iCustom(Symbol(),0,"NonLag_Schaff_TrendCycle",FastLength,SlowLength,StcPeriod,MacdPrice,Interpolate,0,bar+1);

if((STC1_c>15 && STC2_c85 && STC2_c 구매

if((STC1_c15)||(STC1_c85) -> 매도

하지만 오류 메시지가 나타납니다.

오류: NonLag_Schaff_TrendCycle이 제거되었습니다.

버퍼를 잘못 읽을 수 있습니다. 누구든지 제안이 있습니까?

미리 감사합니다!

nonlag schaf 추세 주기의 첫 번째 매개변수 는 "TimeFrame"입니다. iCustom 호출에서 누락되었습니다. iCustom() 호출은 다음과 같아야 합니다.

iCustom(Symbol(),0,"NonLag_Schaff_TrendCycle","",FastLength,SlowLength,StcPeriod,MacdPrice,Interpolate,0,bar);

 

도움이 필요하다

안녕하세요 mladen

과거 도움에 감사드립니다

이 표시기를 만들려고 했지만 나타나지 않습니다

그래서 pls는 나를 다시 도와주세요

미리 감사드립니다

mtf_rsi_candle_all_in_one.mq4

 

안녕 믈라덴

당신의 도움을 주셔서 대단히 감사합니다. 이제 작동합니다

친절하게도,

도마

mladen:
nonlag schaf 추세 주기의 첫 번째 매개변수는 "TimeFrame"입니다. iCustom 호출에서 누락되었습니다. iCustom() 호출은 다음과 같아야 합니다. iCustom(Symbol(),0,"NonLag_Schaff_TrendCycle","",FastLength,SlowLength,StcPeriod,MacdPrice,Interpolate,0,bar);
 

안녕, 믈라덴!

새 빌드가 오래되면 최적화가 수행됩니다.

빌드 670으로 돌아가면 최적화 속도가 좋다.

무엇이 문제가 될 수 있습니까?

Experttsi.mq4

tsi.mq4

파일:
experttsi.mq4  2 kb
tsi.mq4  4 kb
 
QuantF:
안녕, 믈라덴!

새 빌드가 오래되면 최적화가 수행됩니다.

빌드 670으로 돌아가면 최적화 속도가 좋다.

무엇이 문제가 될 수 있습니까?

Experttsi.mq4

tsi.mq4

TSI 표시기의 Firs는 다음과 같은 행을 삭제합니다.

#속성엄격

그 라인으로 그것은 작동하지 않을 것입니다

______________

나머지: 우리 모두는 희망하고 기도해야 합니다. 새로운 빌드가 있을 때마다 백테스팅이 점점 느려지고 느려집니다(빌드 840의 불만 사항 참조). 할 일이 많지 않습니다. 시각적 백 테스팅이 일반 백 테스팅보다 빠르며(빌드 788이 사용 중인 것입니다) 논리가 전혀 없다는 점에 이르렀습니다.

 

안녕하세요 프로코더 여러분,

어떤 이유에서인지 내 EA는 포지션을 닫고 있지만 추세가 변경된 후 새로운 포지션을 열지 않습니다. 누군가 친절하게 봐주시겠습니까?

미리 감사합니다!

//----------------------- LOAD INDICATORS FOR CLOSING POSITIONS

double STC0_c=iCustom(Symbol(),0,"NonLag_Schaff_TrendCycle","",FastLength,SlowLength,StcPeriod,MacdPrice,Interpolate,MultiColor,0,bar+2);

double STC1_c=iCustom(Symbol(),0,"NonLag_Schaff_TrendCycle","",FastLength,SlowLength,StcPeriod,MacdPrice,Interpolate,MultiColor,0,bar+1);

double STC2_c=iCustom(Symbol(),0,"NonLag_Schaff_TrendCycle","",FastLength,SlowLength,StcPeriod,MacdPrice,Interpolate,MultiColor,0,bar);

// for(int i=0;i<OrdersTotal(); i++)

for(int i=OrdersTotal()-1;i>=0 ; i--)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;

if(OrderMagicNumber()!= MAGIC)continue;

if(OrderSymbol()!= s_symbol) continue;

//----------------------- CLOSE BUY CONDITION

if(STC1_c!=STC2_c) // Check trend

{

if(OrderType()==OP_BUY)

{

if(STC1_c>STC0_c&&STC2_c<STC1_c)

{

bool buyClose=OrderClose(OrderTicket(),OrderLots(),MarketInfo(s_symbol,MODE_BID),Slippage*pipMultiplier,clCloseBuy);

if(buyClose==false)

{

int ErrorCode = GetLastError();

string ErrDesc = ErrorDescription(ErrorCode);

string ErrAlert= StringConcatenate("Close Buy Order - Error ",ErrorCode,": ",ErrDesc);

if(ShowAlerts == true) Alert(ErrAlert);

string ErrLog=StringConcatenate("Bid: ",MarketInfo(s_symbol,MODE_BID)," Lots: ",OrderLots()," Ticket: ",OrderTicket());

Print(ErrLog);

}

break;

} // mod

}

}

//----------------------- CLOSE SELL CONDITION

if(STC1_c!=STC2_c)

{

if(OrderType()==OP_SELL)

{

if(STC1_cSTC1_c)

{

bool sellClose= OrderClose(OrderTicket(),OrderLots(),MarketInfo(s_symbol,MODE_ASK),Slippage*pipMultiplier,clCloseSell);

if(sellClose == false)

{

ErrorCode = GetLastError();

ErrDesc = ErrorDescription(ErrorCode);

ErrAlert=StringConcatenate("Close Sell Order - Error ",ErrorCode,": ",ErrDesc);

if(ShowAlerts==true) Alert(ErrAlert);

ErrLog=StringConcatenate("Ask: ",MarketInfo(s_symbol,MODE_ASK)," Lots: ",OrderLots()," Ticket: ",OrderTicket());

Print(ErrLog);

}

break;

} // mod

}

}

}

}

파일:
trendcycle.jpg  97 kb
 
tfi_markets:
안녕하세요 프로코더 여러분,

어떤 이유에서인지 내 EA는 포지션을 닫고 있지만 추세가 변경된 후 새로운 포지션을 열지 않습니다. 누군가 친절하게 봐주시겠습니까?

미리 감사합니다!

//----------------------- LOAD INDICATORS FOR CLOSING POSITIONS

double STC0_c=iCustom(Symbol(),0,"NonLag_Schaff_TrendCycle","",FastLength,SlowLength,StcPeriod,MacdPrice,Interpolate,MultiColor,0,bar+2);

double STC1_c=iCustom(Symbol(),0,"NonLag_Schaff_TrendCycle","",FastLength,SlowLength,StcPeriod,MacdPrice,Interpolate,MultiColor,0,bar+1);

double STC2_c=iCustom(Symbol(),0,"NonLag_Schaff_TrendCycle","",FastLength,SlowLength,StcPeriod,MacdPrice,Interpolate,MultiColor,0,bar);

// for(int i=0;i<OrdersTotal(); i++)

for(int i=OrdersTotal()-1;i>=0 ; i--)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;

if(OrderMagicNumber()!= MAGIC)continue;

if(OrderSymbol()!= s_symbol) continue;

//----------------------- CLOSE BUY CONDITION

if(STC1_c!=STC2_c) // Check trend

{

if(OrderType()==OP_BUY)

{

if(STC1_c>STC0_c&&STC2_c<STC1_c)

{

bool buyClose=OrderClose(OrderTicket(),OrderLots(),MarketInfo(s_symbol,MODE_BID),Slippage*pipMultiplier,clCloseBuy);

if(buyClose==false)

{

int ErrorCode = GetLastError();

string ErrDesc = ErrorDescription(ErrorCode);

string ErrAlert= StringConcatenate("Close Buy Order - Error ",ErrorCode,": ",ErrDesc);

if(ShowAlerts == true) Alert(ErrAlert);

string ErrLog=StringConcatenate("Bid: ",MarketInfo(s_symbol,MODE_BID)," Lots: ",OrderLots()," Ticket: ",OrderTicket());

Print(ErrLog);

}

break;

} // mod

}

}

//----------------------- CLOSE SELL CONDITION

if(STC1_c!=STC2_c)

{

if(OrderType()==OP_SELL)

{

if(STC1_cSTC1_c)

{

bool sellClose= OrderClose(OrderTicket(),OrderLots(),MarketInfo(s_symbol,MODE_ASK),Slippage*pipMultiplier,clCloseSell);

if(sellClose == false)

{

ErrorCode = GetLastError();

ErrDesc = ErrorDescription(ErrorCode);

ErrAlert=StringConcatenate("Close Sell Order - Error ",ErrorCode,": ",ErrDesc);

if(ShowAlerts==true) Alert(ErrAlert);

ErrLog=StringConcatenate("Ask: ",MarketInfo(s_symbol,MODE_ASK)," Lots: ",OrderLots()," Ticket: ",OrderTicket());

Print(ErrLog);

}

break;

} // mod

}

}

}

}

해당 코드에는 위치를 여는 코드가 전혀 없습니다( OrderSend() 함수 는 전혀 사용되지 않음)

 
mladen:
TSI 표시기의 Firs는 다음과 같은 행을 삭제합니다.

#속성엄격

그 라인으로 그것은 작동하지 않을 것입니다

______________

나머지: 우리 모두는 희망하고 기도해야 합니다. 새로운 빌드가 있을 때마다 백테스팅이 점점 느려지고 느려집니다(빌드 840의 불만 사항 참조). 할 일이 많지 않습니다. 시각적 백 테스팅이 일반 백 테스팅보다 빠르며(빌드 788이 사용 중인 것입니다) 논리가 전혀 없다는 점에 이르렀습니다.

답변 해주셔서 감사합니다!

분명한. 나는 오래된 건물에 머물고 있습니다.

 
mladen:
해당 코드에는 위치를 여는 코드가 전혀 없습니다(OrderSend() 함수는 전혀 사용되지 않음)

안녕 믈라덴

당신이 옳습니다. 아래에서 "OpenSell()"을 호출하는 코드를 찾으십시오.

//+------------------------------------------------------------------+

//| OPEN BUY / OPEN SELL

//+------------------------------------------------------------------+

//----------------------- BUY CONDITION

for(i=OrdersTotal()-1;i>=0; i--)

if(OrderType()==OP_SELL) break;

{

if(STC1!=STC2)

{

/*if(STC1STC1)BUY="true";*/

if(STC1STC1)

/*if((STC115) || (STC185)) // code for buy */

OpenBuy();

return(0);

}

openedOrders++;

}

//----------------------- SELL CONDITION

// if(STC1>STC0&&STC2<STC1)SELL="true";

//if((STC1>15 && STC285 && STC2<85)) // code for sell

if(STC1>STC0&&STC2<STC1) // code for sell

{

OpenSell();

return(0);

}

}

//----------------------- OPEN SELL

void OpenSell()

{

double lsStop = 0; if(sStopLoss>0) lsStop = NormalizeDouble(MarketInfo(s_symbol,MODE_BID)+sStopLoss *pPoint*pipMultiplier,digit);

double lsTake = 0; if(sTakeProfit>0) lsTake = NormalizeDouble(MarketInfo(s_symbol,MODE_BID)-sTakeProfit*pPoint*pipMultiplier,digit);

if(AccountFreeMargin()<(100*Lots)) { Print("We have no money. Free Margin = ",AccountFreeMargin()); return; }

// ECN

if(!EcnBroker)

dummyResult=OrderSend(s_symbol,OP_SELL,LotsOptimized(),MarketInfo(s_symbol,MODE_BID),Slippage*pipMultiplier,lsStop,lsTake,ExpertName,MAGIC,0,clOpenSell);

else

{

int sellTicket = OrderSend(s_symbol,OP_SELL,LotsOptimized(),MarketInfo(s_symbol,MODE_BID),Slippage*pipMultiplier,0,0,ExpertName,MAGIC,0,clOpenSell);

if(sellTicket >= 0)

bool sellOrderMod=OrderModify(sellTicket,OrderOpenPrice(),lsStop,lsTake,0,CLR_NONE);

if(sellOrderMod==false)

{

int ErrorCode = GetLastError();

string ErrDesc = ErrorDescription(ErrorCode);

string ErrAlert=StringConcatenate("Modify Sell Order - Error ",ErrorCode,": ",ErrDesc);

if(ShowAlerts==true) Alert(ErrAlert);

string ErrLog=StringConcatenate("Ask: ",MarketInfo(s_symbol,MODE_ASK)," Bid: ",MarketInfo(s_symbol,MODE_BID)," Ticket: ",sellTicket," Stop: ",lsStop," Profit: ",lsTake);

Print(ErrLog);

}

}

}

 

친애하는 mladen, mrtools는 위 게시물에서 fxultratrend 표시기에 대한 내 질문에 대한 귀하의 답변을 기다리고 있습니다.

당신이 나를 실망시키지 않기를 바랍니다.

감사해요.