초보자의 질문 MQL5 MT5 MetaTrader 5 - 페이지 509

 
Aleksey Stukalov :
왜 후행 정지가 마음에 들지 않았습니까? 이미 터미널에 내장되어 있습니다.
사용 및 이해
 

친절한 사람들이 고문의 편집을 도와줍니다. 저는 프로그래밍에 약하지 않습니다.

다음은 'delete'에서 발생하는 오류입니다. 컴파일할 때 예상되는 이름이 표시됩니다.

빨간색으로 강조 표시된 코드의 오류

무효 삭제(int 유형){

if(OrdersTotal()>0){

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

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

if(유형!=6 && 유형!=7 && 유형!=8)if(OrderSymbol()==Symbol() && OrderMagicNumber()==매직 && OrderType()==유형)OrderDelete(OrderTicket());

if(유형==6)if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic && OrderType()==OP_BUYSTOP || OrderType()==OP_SELLSTOP || OrderType()==OP_BUYLIMIT || 주문 유형 ()==OP_SELLLIMIT)OrderDelete(OrderTicket());

if(유형==7)if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic && OrderType()==OP_BUYSTOP || OrderType()==OP_BUYLIMIT)OrderDelete(OrderTicket());

if(유형==8)if(OrderSymbol()==Symbol() && OrderMagicNumber()==magic && OrderType()==OP_SELLSTOP || OrderType()==OP_SELLLIMIT)OrderDelete(OrderTicket());

}

}

}


여기에 또 다른 오류 '(' - 개체 포인터가 필요합니다.

if(oppositedelete){delete(OP_SELLSTOP);delete(OP_SELLLIMIT);}

그리고 여기 '}' - 모든 제어 경로가 값을 반환하는 것은 아닙니다.

정수 카운트 글로벌(){

정수 cnt = 0;

if(OrdersTotal()>0){

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

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

cnt++;

}

리턴(cnt);

}

}

 
Anton Razmyslov :

친절한 사람들이 고문의 편집을 도와줍니다. 저는 프로그래밍에 약하지 않습니다.

다음은 'delete'에서 발생하는 오류입니다. 컴파일할 때 예상되는 이름이 표시됩니다.

빨간색으로 강조 표시된 코드 오류

무효 삭제 (int 유형){ .

..............

그렇게 부를 수 없다고 합니다. 함수를 다른 이름으로 호출합니다.

그리고 이것은 함수가 반환 경로가 없고 어떤 값도 반환하지 않는다는 "모든 제어 경로가 값을 반환하지 않는다"는 것입니다. return(0); 마지막 "}" 함수 앞에

 
Спасибо большое!
 
Tema97 :
모두 좋은 오후입니다) 모바일 정지 손실 에 대한 코드를 공유하십시오-그래서 가격을 따르십시오))) 미리 감사드립니다
 //---------------------------------
void Trailing3( int Mag, string Symb, int Dist, int Shag, bool Isp_shag, bool Isp_bezubitok)
  {
   double dist= 0 ,shag;
   if ( Digits == 3 || Digits == 5 )
      dist=Dist* 10 * Point ; shag=Shag* 10 * Point ;
   if ( Digits == 2 || Digits == 4 )
      dist=Dist* Point ; shag=Shag* Point ;

   for ( int pos= OrdersTotal ()- 1 ; pos>= 0 ; pos--)
     {
       int res= OrderSelect (pos,SELECT_BY_POS,MODE_TRADES);
       if (OrderMagicNumber()==Mag && OrderSymbol()==Symb)
        {
         if (OrderType()==OP_BUY)
           {
             if (!Isp_shag && !Isp_bezubitok && NormalizeDouble (Bid-OrderStopLoss(), Digits )> NormalizeDouble (dist, Digits ))
               OrderModifyX3(OrderTicket(), 0 ,Bid-dist,OrderTakeProfit(), 0 , clrTeal );
             if (Isp_shag && !Isp_bezubitok && NormalizeDouble (Bid-OrderOpenPrice(), Digits )>= NormalizeDouble (shag, Digits ) && 
               NormalizeDouble (Bid-OrderStopLoss(), Digits )> NormalizeDouble (dist, Digits ))
               OrderModifyX3(OrderTicket(), 0 ,Bid-dist,OrderTakeProfit(), 0 , clrTeal );
             if (!Isp_shag && Isp_bezubitok && NormalizeDouble (OrderStopLoss(), Digits )< NormalizeDouble (OrderOpenPrice(), Digits ) && 
               NormalizeDouble (Bid-OrderStopLoss(), Digits )> NormalizeDouble (dist, Digits ))
               OrderModifyX3(OrderTicket(), 0 ,Bid-dist,OrderTakeProfit(), 0 , clrTeal );
             if (Isp_shag && Isp_bezubitok && NormalizeDouble (Bid-OrderOpenPrice(), Digits )>= NormalizeDouble (shag, Digits ) && 
               NormalizeDouble (OrderStopLoss(), Digits )< NormalizeDouble (OrderOpenPrice(), Digits ) && NormalizeDouble (Bid-OrderStopLoss(), Digits )> NormalizeDouble (dist, Digits ))
               OrderModifyX3(OrderTicket(), 0 ,Bid-dist,OrderTakeProfit(), 0 , clrTeal );
           }
         else    if (OrderType()==OP_SELL)
           {
             if (!Isp_shag && !Isp_bezubitok && NormalizeDouble (OrderStopLoss()-Ask, Digits )> NormalizeDouble (dist, Digits ))
               OrderModifyX3(OrderTicket(), 0 ,Ask+dist,OrderTakeProfit(), 0 , clrCrimson );
             if (Isp_shag && !Isp_bezubitok && NormalizeDouble (OrderOpenPrice()-Ask, Digits )>= NormalizeDouble (shag, Digits ) && 
               NormalizeDouble (OrderStopLoss()-Ask, Digits )> NormalizeDouble (dist, Digits ))
               OrderModifyX3(OrderTicket(), 0 ,Ask+dist,OrderTakeProfit(), 0 , clrCrimson );
             if (!Isp_shag && Isp_bezubitok && NormalizeDouble (OrderStopLoss(), Digits )> NormalizeDouble (OrderOpenPrice(), Digits ) && 
               NormalizeDouble (OrderStopLoss()-Ask, Digits )> NormalizeDouble (dist, Digits ))
               OrderModifyX3(OrderTicket(), 0 ,Ask+dist,OrderTakeProfit(), 0 , clrCrimson );
             if (Isp_shag && Isp_bezubitok && NormalizeDouble (OrderOpenPrice()-Ask, Digits )>= NormalizeDouble (shag, Digits ) && 
               NormalizeDouble (OrderStopLoss(), Digits )> NormalizeDouble (OrderOpenPrice(), Digits ) && NormalizeDouble (OrderStopLoss()-Ask, Digits )> NormalizeDouble (dist, Digits ))
               OrderModifyX3(OrderTicket(), 0 ,Ask+dist,OrderTakeProfit(), 0 , clrCrimson );
           }
        }
     }

  }
//-----------------------------------------------
 
안녕하세요 여러분! MT4를 다운로드했는데 전략 테스터 가 2015년 12월부터 작동했습니다. 터미널 업그레이드 방법을 누가 알겠습니까?
 
olleg.1 :
안녕하세요 여러분! MT4를 다운로드했는데 전략 테스터 가 2015년 12월부터 작동했습니다. 터미널 업그레이드 방법을 누가 알겠습니까?
원하는 악기에 대한 견적을 다운로드하십시오. 서비스 - 견적 아카이브.
 
고맙습니다!
 

안녕하세요!

입력 변수 가 EA의 범위에 있는지 확인하는 기능을 더 간단하고 정확한 방법으로 구현하는 방법을 알려주세요. 예를 들어:

가) 10개 초과 20개 미만

b) 20 초과 10 미만

다) 등

추신: 지금까지 우리는 각 변수를 확인하기 위해 3개의 값을 얻었습니다. 스위치의 경우(더/적음/더, 더 적음/적거나 더 많음) 및 2개의 값. 아마도 이 구성을 반복하고 모든 변수를 정렬하는 것이 가능합니다... 올바른 방향?

 
Антон :

안녕하세요!

입력 변수 가 EA의 범위에 있는지 확인하는 기능을 더 간단하고 정확한 방법으로 구현하는 방법을 알려주세요. 예를 들어:

가) 10개 초과 20개 미만

b) 20 초과 10 미만

다) 등

추신: 지금까지 우리는 각 변수를 확인하기 위해 3개의 값을 얻었습니다. 스위치의 경우(더/적음/더, 더 적음/적거나 더 많음) 및 2개의 값. 아마도 이 구성은 모든 변수에 대해 반복되고 반복될 수 있습니다. .. 올바른 방향으로?

반복할 변수는 무엇입니까? 코드를 제공하거나 더 명확하게 작성합니다.