MQL5 언어를 정말 배우고 싶어요 어디서부터 시작해야 하나요? - 페이지 6

 
Grozir :

MQL5에 대한 책을 인터넷에서 검색하십시오. 아마도 유용할 것입니다.

고급 사용법
거래 플랫폼 MetaTrader 5
© 티무르 마슈닌, 2016

여기에 약간의 정보는 어떻습니까? 다른 책을 찾아봐야 할까요?
 

지구에서 올빼미를 끌어 당기기에 충분합니다. 저글링의 대가 .... 그런 다음 OOP를 실행하는 것을 기억하십시오. 작동하지 않았습니다. holivar가 없지만 기억합시다 C)))

C는 범용 언어이고 MQL은 플랫폼 종속 언어이며 OOP는 프로그램을 작성하는 일반적인 방법이며 코드의 발판과 정확히 동일한 기술입니다. "나의 접근 방식"(C)이 파레토 효율성에 의해 정당화되었음을 증명하십시오.


추신: 문학을 읽지 말라고 충고하는 것은 어리석은 일입니다. 시야를 넓히는 것은 항상 유용했지만 분명히 원칙은 다음과 같습니다. , 문학은 항상 유용했습니다, tk. 그것은 자료를 가르치는 방법론을 따릅니다(단순한 것에서 복잡한 것까지), 과학적 찌르는 방법도 환상적인 결과를 얻을 수 있음이 분명합니다))

 
주제에 대한 완전한 연구와 책 읽기를 위해 - 연구소, 컴퓨터 과학자의 사이트 등이 있습니다. Expert Advisor나 Indicator에서 사용되는 간단한 기능을 배우고 싶은 사람이 있는 것 같아요.
 
Alexsandr San :
여기에 약간의 정보는 어떻습니까? 다른 책을 찾아봐야 할까요?

읽기 싫으면 읽지 마세요. 순전히 자발적입니다.

이것은 방학 동안 과외 읽기에 필요한 문학 목록이 있는 학교가 아닙니다.)))

 

내 두뇌는 이 프로그램( Forex Generator )을 연구한 후 알아냈습니다.

스냅 사진


8일 라이선스 - 우회 가능

스냅샷2

-------------------------------------------------- -

이제 나는 바보 같은 프로그램을 설치하려고했습니다. 이전 메타 편집기에서 이 프로그램의 녹색 버튼을 누르면 코드가 메타 편집기에 나타납니다.

이제 안돼

--------------------------------------

아마도 내가 그 당시 가지고 있던 것은 MT4였고 지금은 MT5에서 시도하고 있습니다. 하지만 mt4에서 작동했습니다.

-------------------------------------------------- ----------------------------------------------

not fig는 작동하지 않습니다 - 이 어리석은 프로그램을 테스트하기 위해 이미 MT4를 설치했습니다

스냅 사진

-------------------------------------------------- ---

그것은 밝혀졌습니다-폴더 경로를 잘못 표시했습니다-하지만 클릭하면 temp.mq4 코드를 빠르게 잡아야합니다. 그렇지 않으면 사라집니다

--- 7년 전에 사라지지 않았다

스냅샷2

--------------------------------------

이것은 그가 만든 것입니다. 그리고 나는 무엇이 어디로 갔는지 알아내려고 노력했습니다.

 //-------------------------------------------------------------
//  Etasoft Inc. Forex EA and Script Generator version 7.x   EA
//-------------------------------------------------------------
// Keywords: MT4, Forex EA builder, create EA, expert advisor developer

#property copyright "Copyright © 2014-2019, Etasoft Inc. Forex EA Generator v7.x"
#property link        "http://www.forexgenerator.com/"

#include <stdlib.mqh>
#include <WinUser32.mqh>

// exported variables
extern double BuyLots3 = 0.1 ;
extern int BuyStoploss3 = 20 ;
extern int BuyTakeprofit3 = 30 ;


// local variables
double PipValue= 1 ;     // this variable is here to support 5-digit brokers
bool Terminated = false ;
string LF = "\n" ;   // use this in custom or utility blocks where you need line feeds
int NDigits = 4 ;   // used mostly for NormalizeDouble in Flex type blocks
int ObjCount = 0 ;   // count of all objects created on the chart, allows creation of objects with unique names
int current = 0 ;   // current bar index, used by Cross Up, Cross Down and many other blocks
int varylots[ 101 ]; // used by Buy Order Varying, Sell Order Varying and similar



int init()
{
    NDigits = Digits ;
    
     if ( false ) ObjectsDeleteAll ();       // clear the chart
    
    
     Comment ( "" );     // clear the chart
     return ( 0 );
}

// Expert start
int start()
{
     if ( Bars < 10 )
    {
         Comment ( "Not enough bars" );
         return ( 0 );
    }
     if (Terminated == true )
    {
         Comment ( "EA Terminated." );
         return ( 0 );
    }
    
    OnEveryTick1();
     return ( 0 );
}

void OnEveryTick1()
{
    PipValue = 1 ;
     if (NDigits == 3 || NDigits == 5 ) PipValue = 10 ;
    
    IfHighestBar2();
    
}

void IfHighestBar2()
{
     if ( iHighest ( NULL , 0 , MODE_HIGH , 10 , current) == current)
    {
        BuyOrder3();
        
    }
}

void BuyOrder3()
{
     double SL = Ask - BuyStoploss3*PipValue* Point ;
     if (BuyStoploss3 == 0 ) SL = 0 ;
     double TP = Ask + BuyTakeprofit3*PipValue* Point ;
     if (BuyTakeprofit3 == 0 ) TP = 0 ;
     int ticket = - 1 ;
     if ( true )
    ticket = OrderSend ( Symbol (), OP_BUY, BuyLots3, Ask, 4 , 0 , 0 , "My Expert" , 1 , 0 , Blue);
     else
    ticket = OrderSend ( Symbol (), OP_BUY, BuyLots3, Ask, 4 , SL, TP, "My Expert" , 1 , 0 , Blue);
     if (ticket > - 1 )
    {
         if ( true )
        {
             bool sel = OrderSelect (ticket, SELECT_BY_TICKET);
             bool ret = OrderModify(OrderTicket(), OrderOpenPrice(), SL, TP, 0 , Blue);
             if (ret == false )
             Print ( "OrderModify() error - " , ErrorDescription( GetLastError ()));
        }
            
    }
     else
    {
         Print ( "OrderSend() error - " , ErrorDescription( GetLastError ()));
    }
}



int deinit()
{
     if ( false ) ObjectsDeleteAll ();
    
    
     return ( 0 );
}

파일:
temp1.mq4.mq5  6 kb
 
Georgiy Merts :

...

개인적으로 저는 큰 차이를 느끼지 못합니다. 모든 라이브러리는 최소한의 재작업으로 C ++에서 사용할 수 있는 방식으로 작성되었습니다.

이것은 C 기능이나 mql 기능을 완전히 사용하지 않는다는 것을 의미할 수 있습니다.

 
Evgeniy Zhdan :

그런 다음 BASIC에서 점차적으로 Pascal, Assembler, C+, C#을 통해 MQL5에 도달한 다음에만 주석의 차트에 출력이 포함된 Hello world를 작성해 봅니다.

어셈블러는 반드시 배워야 합니다. 그 없이는 아무것도. :)
 
Serhii Dielieu :
어셈블러는 반드시 배워야 합니다. 그 없이는 아무것도. :)

샌드박스에서 벗어나고 싶다면 사전으로 읽는 것이 매우 바람직합니다.)))

 
Dmitry Fedoseev :

이것은 C 기능이나 mql 기능을 완전히 사용하지 않는다는 것을 의미할 수 있습니다.

꽤 가능합니다.

하지만 코드는 "세 개의 코펙처럼" 단순하고 투명해야 하며 온갖 트릭과 "특징"을 매우 신중하게 사용해야 한다고 거듭 강조했습니다.

모든 종류의 "고급 기능"과 "트릭"을 한 번 이상 사용하는 것이 옆으로 나왔습니다. 그래서 저는 항상 '불필요하게 에센스를 생산하지 않는다'는 원칙을 고수하고 있습니다. 문제가 표준의 확립된 방법을 사용하여 해결할 수 있는 경우 새로운 방식에 의존하지 않고 그런 방식으로 해결해야 합니다. 이 원칙은 새 빌드가 출시될 때, 포럼에서 때때로 "그들이 작동하던 것을 망쳤습니다." 그리고 당신은 보면 - 그리고 당신은 여전히 그것을 알아 내기 위해 가야하는 매우, 매우 사소하지 않은 코드가 있음을 알았습니다 ... 변경 사항으로이 코드가 오류와 함께 컴파일되기 시작했다는 것이 놀랍습니까?

물론 완전히 새로운 것을 부정하는 다른 극단으로 가면 안 됩니다. 그러나 제 생각에는 "건전한 보수주의"가 매우 유용합니다.

 
muhhacc ccc :
안녕하세요. MQL5 언어 를 배우고 싶습니다 /
얘들 아, 어디서부터 시작해야 합니까? 어떤 비디오 자습서?
동영상 자료를 찾았는데 어드바이저 작성법을 이해하지 못하는 예(모든 기능의 예 등)로 알려주는 것 중 80% 이상은 기본이 필요합니다.
이해 주셔서 감사합니다

당신은 끝에서 시작해야합니다

유형:

- 수익성 있는 전략이 있지만 며칠 동안 모니터에 앉아 있는 것이 지겹고, 나를 대신할 로봇이 필요하고,

- 나는 수익성있게 거래 할 수 없지만 MQL을 배우 자마자 로봇을 작성하고 인터넷에서 전리품 다운로드를 즉시 시작합니다.

))

왜 이것이 필요합니까, 당신의 목표는 무엇입니까?