MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 717

 
Vladimir Pastushak :

덕분에. 부모 클래스 메서드를 호출할 수 없습니다.

내가 기억하는 한 이것은 parent :: 메소드를 통해 수행됩니다.

메서드 자체가 부모에 본문을 가지고 있습니까?

 
Artyom Trishkin :

메서드 자체가 부모에 본문을 가지고 있습니까?

네, 그것은이

여기 코드가 있습니다. 내가 무엇을 잘못하고 있습니까 ???

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

class A

  {

public:

   virtual int Test_A()

     {

      return 100;

     }

  };

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

class B :public A

  {

public:

   virtual int Test_A()

     {

      return 200;

     }

  };


B b;

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

void OnStart()

  {

   Comment (A::b.Test_A());

  }

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


 
극한값의 값을 알 수 있는 지그재그 표시기가 있는데 극값 에서 미래(다음날)로 추세선을 그려야 하는데 좌표도 모르고 어떻게 두 번째 지점과 첫 번째 지점의 시간 값은?
 
Vladimir Pastushak :

여기 코드가 있습니다. 내가 무엇을 잘못하고 있습니까 ???

아니, 작동하지 않을거야

클래스 B에 바디 함수 Test()를 작성하여 이전 함수 Test()를 닫았고 이제 클래스의 인스턴스를 선언하고 Test() 메서드를 호출할 때 B::Test()가 항상 실행되지만 B::Test()를 작성하지 않은 경우 A::Test()는 항상 작동합니다.

여기 내가 한 예가 있습니다. 실험

 //+------------------------------------------------------------------+
class A
  {
public :
   virtual int Test_A()  { Print ( __FUNCSIG__ ); return 100 ;  }
  };

//+------------------------------------------------------------------+
class B : public A
  {
public :
   virtual int Test_A()  { Print ( __FUNCSIG__ , " = " , A::Test_A()); return 200 ;   }
  };

B b;

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

void OnStart ()

  {
   Print ( __FUNCSIG__ , " = " ,b.Test_A());
  }
//+-------------------------------------------------------------
 
안녕하세요. 순서 미적분은 어떻게 합니까? SELL 장소의 경우 처음에는 1, 그 다음은 2, 이런 식으로 ... 주문이 없을 때 업데이트될 때까지. 말하다!
         if ((fMarketOrderss( OP_SELL )>= 1 )) { 
       if ( (( Bid -Opens)/ma+Times/ 1440 ) > SELL ) {
if ( OrderSend ( Symbol (), OP_SELL , 0.01 , Bid , 3 , 0 , 0 , NULL , 321 , 0 , 1 )> 0 ){} }}
 
흠, 이상하게도 아무도 대답하지 않습니다.
 
Rustam Bikbulatov :
흠, 이상하게도 아무도 대답하지 않습니다.

나는 아무도 당신의 게시물을 이해하지 못한다고 생각합니다 :)


 

안녕하세요! 예를 들어 외부 변수에 대한 Expert Advisor가 두 포지션의 단일 주문의 주어진 양의 포지션을 열 도록 하는 방법

단일 주문의 거래량 = 1.35랏으로 설정하고, 열린 포지션의 총 거래량은 500랏이고, 전문가는 1.35랏의 거래량으로 매수 주문을 연 다음, 1.35랏의 거래량으로 매도 주문을 엽니다.

그런 다음 500개의 매수 로트와 500개의 매도 로트가 열릴 때까지 모든 것이 반복되며 로트 수가 1.35의 배수가 아니므로 마지막 주문은 1.35보다 작아야 합니다.

 

인사말.

"베즈비톡" 오더가 수익 포인트에 도달하면 sl을 오더를 오픈하는 수준으로 옮겨 오더를 수정하는 기능을 만들었습니다. 올바르게 작동하는 것처럼 보이지만 테스트할 때(모든 틱에서) 10-20회마다 오류 메시지 1을 일괄적으로 로그에 씁니다.

오류는 없지만 결과를 알 수 없음

 void Bezubitok(){
   for ( int i= OrdersTotal ()- 1 ; i>= 0 ; i--){
       if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES )){
         if ( OrderSymbol () == Symbol () && OrderMagicNumber () == magic){
             if ( OrderType ()== OP_BUY ){
               if ( OrderStopLoss ()!= OrderOpenPrice () && Ask - OrderOpenPrice ()>bezubitok* Point ){
                   double sl1 = OrderOpenPrice ();
                   if ( OrderModify ( OrderTicket (), OrderOpenPrice (), sl1, OrderTakeProfit (), 0 , Indigo)) {}
                  }
               }
             if ( OrderType ()== OP_SELL ){
               if ( OrderStopLoss ()!= OrderOpenPrice () && OrderOpenPrice ()- Bid >bezubitok* Point ){
                   double sl1 = OrderOpenPrice ();
                   if ( OrderModify ( OrderTicket (), OrderOpenPrice (), sl1, OrderTakeProfit (), 0 , DeepPink)) {}
                  }
               }
            }   
         }
      }
   }

그 이유와 극복 방법은?

 
Andrey Sokolov :

인사말.

"베즈비톡" 오더가 수익 포인트에 도달하면 sl을 오더를 오픈하는 수준으로 옮겨 오더를 수정하는 기능을 만들었습니다. 올바르게 작동하는 것처럼 보이지만 테스트할 때(모든 틱에서) 10-20회마다 오류 메시지 1을 일괄적으로 로그에 씁니다.

그 이유와 극복 방법은?

오류 1은 오류가 아니지만 결과를 알 수 없습니다. 요점은 이미 있는 것과 같은 가격으로 정류장을 수정하려고 한다는 것입니다. 수정하기 전에 정지 가격을 설정하려는 가격과 비교하십시오. 이미 이 가격이면 수정할 것이 없습니다.