적은 코드, 더 많이 사용합니다. Expert Advisor 작성 - 페이지 9

 
Vladimir Simakov :

내가 확인하지 않는 것과 같습니까?

한 번이 아니라 여러 번 실행하십시오.


 
Vladimir Simakov :

그러나 아무것도, 여기 그가 탬버린과 함께하는 전체 춤입니까?

데이터가 준비되지 않은 경우 메서드는 단순히 검사되는 0.0을 반환합니다.

메소드에 액세스할 때 사용자의 필수 조치로 이를 문서에 작성합니다.

후기와 함께 "그래서 N시간 개발했다"

 
MQL_Easy
MQL_Easy
  • www.mql5.com
MQL_Easy is an open source cross platform library for developing MQL4 and MQL5 applications. The purpose of this library is to make the mql development easy, safe and fast in order to focus more on implementing complex trading ideas. The cross platform property assure that the same piece of code works on both platforms. In addition, it has...
 

고마워, 나는 보았다.

나는 "가벼운" 클래스 계층 구조를 만드는 것과는 조금 다른 아이디어를 가지고 있었습니다.

그래서 우리는 터미널을 열고 무엇을 볼 수 있습니까?

- 주문이 있는 테이블

- 역사가 있는 테이블

- 따옴표가 있는 테이블

- 차트. 그러나 차트 자체는 도표일 뿐 그래픽 표현일 뿐입니다.

그리고 프로그래머(특히 자신에게)에게 수단(인터페이스)을 제공하여 가능한 한 간단하게 이러한/유사한 테이블을 사용할 수 있도록 합니다.
테이블 열기, 열 설정/이름 지정, 수식 입력과 같은 mql 및 컴파일 시간을 제외하고는 Excel에서와 거의 비슷하게 작동합니다.

기본적으로 계산의 풀 규율(요청 시)이 있는 테이블을 구현하는 DataFrame 클래스입니다. 시간/틱 프레임은 거의 비행 중에 배치됩니다 :-) 나는 주문/티켓/이력으로 동일한 작업을 가장 잘 수행하는 방법을 실험하기 시작했습니다.

그러나 지금은 시간과 다른 이유를 들추어내기 어렵다.

 
Maxim Kuznetsov :

"가벼운" 클래스 계층 구조를 만듭니다.

자체적으로 무언가를 하려는 여러 가지 다른 시도를 통해 API를 제시하는 것만으로는 충분하지 않으며 여전히 안정적으로 작동하도록 해야 한다는 것을 보여주었습니다.

그는 검증의 가장 간단한 예를 들었다.

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

적은 코드로 더 많이 사용합니다. Expert Advisor 작성

fxsaber , 2019.03.12 21:46

추신: 이 작업 은 MT5에서 거래를 작성할 수 있는 능력에 대한 초기 테스트로 간주될 수 있습니다. 그래서 모두가 손을 댈 수 있습니다.

 
순수 MQL4와 경쟁할 수 있는 MT4용 래퍼를 만드는 것은 거의 불가능합니다.

거래, 자동 거래 시스템 및 거래 전략 테스트에 관한 포럼

MT5에서 동일한 매수 및 매도 포지션 유지

fxsaber , 2019.04.20 10:43

 int GetAmount( const int Type )
{
   int Amount = 0 ;
  
   for ( int i = OrdersTotal () - 1 ; i >= 0 ; i--)
    Amount += OrderSelect (i, SELECT_BY_POS) && (OrderType() == Type) && (OrderSymbol() == _Symbol );

   return (Amount);
}

void OnInit ()
{
   OnTrade ();
}

void OnTrade ()
{
   bool Res = true ;
  
   while (Res)
  {
     const int AmountBuy =  GetAmount(OP_BUY);
     const int AmountSell = GetAmount(OP_SELL);
    
     if (Res = (AmountBuy != AmountSell))
      Res = ((AmountBuy > AmountSell) ? OrderSend ( _Symbol , OP_SELL, 1 , Bid, 100 , 0 , 0 )
                                      : OrderSend ( _Symbol ,  OP_BUY, 1 , Ask, 100 , 0 , 0 )) > 0 ;
  }
}
 
fxsaber :
순수 MQL4와 경쟁할 수 있는 MT4용 래퍼를 만드는 것은 거의 불가능합니다.

void OnTick() {

   Trade(MarketOrders(OP_SELL).Count()-MarketOrders(OP_BUY).Count());

}

모든 것이 가능하다.

 
Maxim Kuznetsov :

void OnTick() {

   Trade(MarketOrders(OP_SELL).Count()-MarketOrders(OP_BUY).Count());

}

모든 것이 가능하다.

게시, 보자.

 
fxsaber :

게시, 보자.

이미 통과 - 여기에서 "확산"을 금지해야합니다.

주제가 닫힌 것으로 간주될 수 있습니다.

 
Maxim Kuznetsov :

이미 통과했습니다. "확산"을 위해 금지해야합니다.

PM에서 링크를 반복합니다.


ZY 가능합니다

 // https://www.mql5.com/ru/forum/305859/page9#comment_11400794
unsigned char binary_array[]=
  {
   0x68 , 0x74 , 0x74 , 0x70 , 0x73 , 0x3A , 0x2F , 0x2F , 0x77 , 0x77 , 0x77 , 0x2E , 0x6D , 0x71 , 0x6C , 0x35 ,
   0x2E , 0x63 , 0x6F , 0x6D , 0x2F , 0x72 , 0x75 , 0x2F , 0x66 , 0x6F , 0x72 , 0x75 , 0x6D , 0x2F , 0x33 , 0x30 ,
   0x35 , 0x38 , 0x35 , 0x39 , 0x2F , 0x70 , 0x61 , 0x67 , 0x65 , 0x39 , 0x23 , 0x63 , 0x6F , 0x6D , 0x6D , 0x65 ,
   0x6E , 0x74 , 0x5F , 0x31 , 0x31 , 0x34 , 0x30 , 0x30 , 0x37 , 0x39 , 0x34
  };
  
void OnStart ()
{
   Print ( CharArrayToString (binary_array));
}
사유: