EA는 여러 쌍에서 실행되지 않으므로 도움이 필요합니다. - 페이지 4

 
휘더1 2016.12.14 03:35 | 74.162.37.113 금지 KO
Keith Watford : 열린 주문을 순환하고 EA의 매직 넘버와 차트 기호가 있는 거래만 계산합니다.
정확히, 그리고 그것은 당신의 마지막 게시물 이 하는 일이 아닙니다.
 
귀하의 다른 주제는 이 주제와 동일한 주제였기 때문에 삭제했습니다. WHRoeder님의 댓글을 복사하여 여기에 붙여넣고 삭제했습니다.
 
Keith Watford :
귀하의 다른 주제는 이 주제와 동일한 주제였기 때문에 삭제했습니다. WHRoeder님의 댓글을 복사하여 여기에 붙여넣고 삭제했습니다.
좋습니다. 루프의 경우 마감 주문에 대한 프레임과 유사하게 구성되어야 하고 그렇다면 프로그램이 주문을 카운트 업 또는 다운해야 합니까?
 

   int buy_count=0;
   int sell_count=0;

   for(int i=OrdersTotal()-1;i>=0;i--)
     {
      if(OrderSelect(i,SELECT_BY_POS) && OrderMagicNumber()==MagicNumber && OrderSymbol()==Symbol())
        {
         if(OrderType()==OP_BUY)
           {
            buy_count++;
           }
         if(OrderType()==OP_SELL)
           {
            sell_count++;
           }
        }
     }

그런 것

저는 특별한 이유가 없는 한 항상 카운트다운을 합니다.

 
  1. 이제 MN 및 기호를 필터링하는 OrderSelect 루프가 있습니다.
  2. 이제 어떤 MN으로 거래 열 수 있습니까?
 
Matt_Townsend :
좋습니다. 루프의 경우 마감 주문에 대한 프레임과 유사하게 구성되어야 하고 그렇다면 프로그램이 주문을 카운트 업 또는 다운해야 합니까?
그래서 이제 주문 마감 기능과 ordersend 기능 모두에 루프 기능이 있지만 여전히 독립적으로 거래되지는 않습니다. 비록 그것이 라이브 데모의 여러 차트에서 작동하지 않을지라도 전략 테스터에서 볼 수 있듯이 여전히 거래를 시작하고 매개변수 세트를 닫고 있지만.
 
Matt_Townsend :
그래서 이제 주문 마감 기능과 ordersend 기능 모두에 루프 기능이 있지만 여전히 독립적으로 거래되지는 않습니다. 비록 그것이 라이브 데모의 여러 차트에서 작동하지 않을지라도 전략 테스터에서 볼 수 있듯이 여전히 거래를 시작하고 매개변수 세트를 닫고 있지만.

EA마다 매직넘버가 다른가요?

지금 사용하고 있는 루프를 보여주세요.

 
Keith Watford :

EA마다 매직넘버가 다른가요?

지금 사용하고 있는 루프를 보여주세요.

for ( int i= OrdersTotal ();i<= 0 ;i--)
      {
       if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES )== true ) break ;
       if ( OrderMagicNumber ()==MagicNumber || OrderSymbol ()== Symbol ()) continue ;
     //--- Check for buy order
       if (fastma > slowma)
        {
         if ( OrderSend ( Symbol (), OP_BUY ,Lots, Ask , 10 , 0 , 0 , "" ,MagicNumber, 0 ,Blue))
             Print ( "Buy order opened :" , OrderOpenPrice ());
         else
             Print ( "Order failed to open : " , GetLastError ());      
         return ( 0 );
        }
     //--- Check for sell order          
       if (fastma < slowma)
        {
         if ( OrderSend ( Symbol (), OP_SELL ,Lots, Bid , 10 , 0 , 0 , "" ,MagicNumber, 0 ,Red))
             Print ( "Order opened : " , OrderOpenPrice ());                
         else
             Print ( "Order failed to open : " , GetLastError ());
         return ( 0 );        
        }
         break ;
      }

다음은 ordersend 루프입니다.

MN을 외부 int로 가지고 있기 때문에 EA를 배치하는 모든 차트에서 변경할 수 있습니다.
 
먼저 당신이 가지고
       if ( OrderSelect (i, SELECT_BY_POS ) && OrderMagicNumber ()==MagicNumber && OrderSymbol ()== Symbol ())
어느 것이 옳다
하지만 당신
         ticket = OrderSend ( Symbol (), OP_BUY ,Lots, Ask , 10 , 0 , 0 , "" , 0 , 0 ,Blue);
어느 것이 아니 었습니다. 그리고 당신은 내 질문을 무시했습니다.


그런 다음 조용히 보내기를 다음으로 변경합니다.
         if ( OrderSend ( Symbol (), OP_BUY ,Lots, Ask , 10 , 0 , 0 , "" ,MagicNumber, 0 ,Blue))
이제 올바른 것입니다.
그러나 당신 은 조용히 선택 루프를 깨뜨립니다.
       if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES )== true ) break ;
       if ( OrderMagicNumber ()==MagicNumber || OrderSymbol ()== Symbol ()) continue ;
그렇지 않습니다.

여러 주문이 있는 경우(하나의 EA 여러 차트, 여러 EA, 수동 거래)
 
whroeder1 :
먼저 당신이 가지고
       if ( OrderSelect (i, SELECT_BY_POS ) && OrderMagicNumber ()==MagicNumber && OrderSymbol ()== Symbol ())
어느 것이 옳다
하지만 당신
         ticket = OrderSend ( Symbol (), OP_BUY ,Lots, Ask , 10 , 0 , 0 , "" , 0 , 0 ,Blue);
어느 것이 아니 었습니다.

그런 다음 조용히 보내기를 다음으로 변경합니다.
         if ( OrderSend ( Symbol (), OP_BUY ,Lots, Ask , 10 , 0 , 0 , "" ,MagicNumber, 0 ,Blue))
어느 것이 옳다
그리고 선택 루프를 끊습니다.
       if ( OrderMagicNumber ()==MagicNumber || OrderSymbol ()== Symbol ()) continue ;
그렇지 않습니다.
그렇다면 루프에 Continue 또는 Break가 전혀 없어야 합니까?