묻다! - 페이지 29

 
Yannis:
데이브,

코드를 다음 스니펫으로 변경하고 그것이 트릭을 수행했는지 알려주십시오.

야니스

정수 i=0;

(int cnt=OrdersTotal()-1;cnt>=0;cnt--)

주문 선택(i, SELECT_BY_POS, MODE_TRADES);

if (OrderType()>=OP_SELL && OrderSymbol()==Symbol() && ( OrderMagicNumber () == MagicNumber || MagicNumber==0 ) )

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(15 *Point),Bid-(20*Point),Cyan); //손절매 수정 및 이익실현

반환(0);

}

if (OrderType()>=OP_BUY && OrderSymbol()==Symbol() && ( OrderMagicNumber () == MagicNumber || MagicNumber==0 ) )

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Point),Ask+(20*Point),Cyan); //손절매 수정 및 이익실현

반환(0);

}

반환(0);

}

}

나는 항상 백 테스터의 거래를 계속해서 수정하는 데 문제가 있습니다. 거래를 한 번 수정하려면 어떻게 해야 합니까? 프로그램이 잠자기 상태이므로 수정해야 하는 거래는 아직 열려 있는 거래뿐입니다.

첨부된 .Gif 백테스트 결과를 참조하십시오. 나는 이 권리를 얻는 데 매우 가깝습니다 - 조언을 부탁드립니다!! 절전 모드와 함께 이 이익실현 및 손절매 수정을 사용합니다. 아래 코드를 참조하십시오

정수 시작()

{

if (UseHourTrade)

{

정수 a = 0;

정수 b=0;

정수 c=0;

if(!(Hour()>=FromHourTrade1 && Hour()<=ToHourTrade1)) a=1;

if(!(Hour()>=FromHourTrade2 && Hour()<=ToHourTrade2)) b=1;

if(!(Hour()>=FromHourTrade3 && Hour()<=ToHourTrade3)) c=1;

if(a==1 && b==1 && c==1)

{

논평(

"\n"," * 태양풍 전문가 고문 *",

"\N",

"\n", " - 슬립 사이클의 프로그램 - ",

"\N",

"\n"," > 비거래 시간! <");

///////////////////수면 주기 시작 시 정지 손실 수정 및 이익 창출 //////////////////

정수 h=0;

(int cnt1=OrdersTotal()-1;cnt1>=0;cnt1--)

주문 선택(h, SELECT_BY_POS, MODE_TRADES);

if (OrderType()>=OP_SELL && OrderSymbol()==Symbol() && (OrderMagicNumber() == MagicNumber || MagicNumber==0))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(15 *Point),Bid-(20*Point),Cyan); //손절매 수정 및 이익실현

반환(0);

}

if (OrderType()>=OP_BUY && OrderSymbol()==Symbol() && (OrderMagicNumber() == MagicNumber || MagicNumber==0))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Point),Ask+(20*Point),Cyan); //손절매 수정 및 이익실현

반환(0);

}

반환(0);

}

}

데이브 <<<

첨부된 썸네일을 봐주세요!

 

(int cnt1 =OrdersTotal()-1;cnt1>=0;cnt1--)

주문 선택( cnt1 , SELECT_BY_POS, MODE_TRADES);

같은 수를 세게 하다

 

이해하지 못한다. 이 오류를 어떻게 수정합니까?? 아마도 내가 볼 수 있습니다 - cnt1을 h로 변경하겠습니다. 제가 맞습니까?

데이브

<<

 
phoenix:
귀하의 OrderSelect()는 실행 루프를 기반으로 계산되지 않았습니다.

정수 시작()

{

if (UseHourTrade)

{

정수 a = 0;

정수 b=0;

정수 c=0;

if(!(Hour()>=FromHourTrade1 && Hour()<=ToHourTrade1)) a=1;

if(!(Hour()>=FromHourTrade2 && Hour()<=ToHourTrade2)) b=1;

if(!(Hour()>=FromHourTrade3 && Hour()<=ToHourTrade3)) c=1;

if(a==1 && b==1 && c==1)

{

논평(

"\n"," * 태양풍 전문가 고문 *",

"\N",

"\n", " - 슬립 사이클의 프로그램 - ",

"\N",

"\n"," > 비거래 시간! <");

///////////////////수면 주기 시작 시 정지 손실 수정 및 이익 실현 //////////////////

//int h=0;

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

주문 선택(h, SELECT_BY_POS, MODE_TRADES);

if (OrderType()>=OP_SELL && OrderSymbol()==Symbol() && (OrderMagicNumber() == MagicNumber || MagicNumber==0))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(15 *Point),Bid-(20*Point),Cyan); //손절매 수정 및 이익실현

반환(0);

}

if (OrderType()>=OP_BUY && OrderSymbol()==Symbol() && (OrderMagicNumber() == MagicNumber || MagicNumber==0))

{

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Point),Ask+(20*Point),Cyan); //손절매 수정 및 이익실현

반환(0);

}

리턴(0);

}

}

////////////////////////////////////////////////////// ////////////////////////////////////////

변경했지만 한 번 변경에 비해 계속 수정 루프가 발생했습니다.

다시 조언 부탁드립니다!

데이브

<<<

 

[PHP][/PHP] 코드 내에 코드를 게시하십시오. 형식화된 코드 를 읽고 디버그하는 것이 훨씬 쉽습니다.

 

표시기 입력 탭

차트에 첨부할 때 입력 탭이 더 이상 표시되지 않도록 표시기를 어떻게 그리고 어디에 코딩합니까?

감사해요,

솔라리스

 
iscuba11:
정수 시작()

{

if (UseHourTrade)

{

정수 a = 0;

정수 b=0;

정수 c=0;

if(!(Hour()>=FromHourTrade1 && Hour()<=ToHourTrade1)) a=1;

if(!(Hour()>=FromHourTrade2 && Hour()<=ToHourTrade2)) b=1;

if(!(Hour()>=FromHourTrade3 && Hour()<=ToHourTrade3)) c=1;

if(a==1 && b==1 && c==1)

{

논평(

"\n"," * 태양풍 전문가 고문 *",

"\N",

"\n", " - 슬립 사이클의 프로그램 - ",

"\N",

"\n"," > 비거래 시간! <");

///////////////////수면 주기 시작 시 정지 손실 수정 및 이익 창출 //////////////////

//int h=0;

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

주문 선택(h, SELECT_BY_POS, MODE_TRADES);

if (OrderType()>=OP_SELL && OrderSymbol()==Symbol() && (OrderMagicNumber() == MagicNumber || MagicNumber==0))

{ if( OrderStopLoss() > 묻기 + 포인트 * 15 || OrderStopLoss() == 0 )

OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(15 *Point),Bid-(20*Point),Cyan); //손절매 수정 및 이익실현

반환(0);

}

if (OrderType()>=OP_BUY && OrderSymbol()==Symbol() && (OrderMagicNumber() == MagicNumber || MagicNumber==0))

{

if( OrderStopLoss() < 입찰가 - 포인트 * 15 )

OrderModify(OrderTicket(),OrderOpenPrice(),Bid-(15*Point),Ask+(20*Point),Cyan); //손절매 수정 및 이익실현

반환(0);

}

반환(0);

}

}

////////////////////////////////////////////////////// ////////////////////////////////////////

변경했지만 한 번 변경에 비해 계속 수정 루프가 발생했습니다.

다시 조언 부탁드립니다!

데이브

<<<

보라색 선을 추가하십시오. 도움이 될 수 있습니다.

 
solaris:
차트에 첨부할 때 입력 탭이 더 이상 표시되지 않도록 표시기를 어떻게 그리고 어디에 코딩합니까?

감사해요,

솔라리스

대신 템플릿으로 저장하지 않는 것이 좋습니다. 그러면 모든 지표를 새 차트로 호출할 때 매개변수 를 다시 설정할 필요가 없습니다.

 

나는 당신이 제안한대로했습니다! (당신의 인내심에 감사드립니다)

(int cnt1=OrdersTotal()-1;cnt1>=0;cnt1--)

주문 선택(cnt1, SELECT_BY_POS, MODE_TRADES);

** 하지만 이전처럼 단일 거래에서 여전히 대규모 루프 수정을 받고 있습니다!

나는 분명히 논리의 루프 안에 루프가 있습니다!

데이브

<<

최신 백테스트 결과를 참조하십시오. 죄송합니다. logo.htm - 지울 수 없습니다.

 
iscuba11:
나는 당신이 제안한대로했습니다! (당신의 인내심에 감사드립니다)

(int cnt1=OrdersTotal()-1;cnt1>=0;cnt1--)

주문 선택(cnt1, SELECT_BY_POS, MODE_TRADES);

** 하지만 이전처럼 단일 거래에서 여전히 대규모 루프 수정을 받고 있습니다!

나는 분명히 논리의 루프 안에 루프가 있습니다!

데이브

<<
최신 백테스트 결과를 참조하십시오. 죄송합니다. logo.htm - 지울 수 없습니다.

위의 보라색을 아직 추가해 보시겠습니까?

if( OrderStopLoss() > 묻기 + 포인트 * 15 || OrderStopLoss() == 0 )

그리고 if( OrderStopLoss() < Bid - Point * 15 )

사유: