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

 
Vitaly Gorbunov :
목적은 수단을 정당화해야 합니다. 필요한 모든 구성 요소의 소스가 있는 경우 하나의 Expert Advisor에서 모든 것을 결합하는 것이 더 쉽습니다. 이것이 가능하지 않다면 모든 구성 요소의 모듈 간의 통신을 구성해야하지만 이 작업은 초보자를위한 것이 아닙니다 .

초보자를 위한 주요 작업은 "필요한 모든 구성 요소의 소스 코드"를 정확히 작성하는 방법을 배우는 것입니다. 그렇지 않으면 새로 온 사람들이 화성인의 두뇌를 해킹한 혐의로 기소될 것입니다.

 
Alexey Viktorov :

초보자를 위한 주요 작업은 "필요한 모든 구성 요소의 소스 코드"를 정확히 작성하는 방법을 배우는 것입니다. 그렇지 않으면 새로 온 사람들이 화성인의 두뇌를 해킹한 혐의로 기소될 것입니다.

사실이야! 좋은 점은 프로그래밍 방법을 배우고 싶다면 간단한 프로그램부터 시작하여 점차 복잡한 프로그램으로 옮겨가는 것입니다. 그러면 나 자신도 모르는 무언가를 원한다 같은 질문은 없을 것입니다.

 
좋은 오후입니다. 고문의 소스 코드가 있습니다. 특정 계정에서만 작동하도록 보호 기능을 추가하는 데 도움이 된 점 양해 부탁드립니다.
https://www.mql5.com/en/articles/1572 사이트에서 해보았습니다.
하지만 이해할 수 없는 것 같습니다. 도와주세요.
그래서 기성품 알고리즘을 찾았는데 어디에 넣어야 할지 모르겠어
 #property copyright "Copyright © 2009, Sergey Kravchuk"
#property link        "http://forextools.com.ua"

int start()
{  
   string char [ 256 ]; int i;

   for (i = 0 ; i < 256 ; i++) char [i] = CharToStr (i);
   // номер счета на котором разрешено работать эксперту
   int     AllowedAccountNo = StrToInteger ( /* 49153 */ char [ 52 ]+ char [ 57 ]+ char [ 49 ]+ char [ 53 ]+ char [ 51 ]); 
   string AllowedServer = /* UWC-Demo.com */ char [ 85 ]+ char [ 87 ]+ char [ 67 ]+ char [ 45 ]+ char [ 68 ]+
   char [ 101 ]+ char [ 109 ]+ char [ 111 ]+ char [ 46 ]+ char [ 99 ]+ char [ 111 ]+ char [ 109 ];

   if ( AccountNumber () != AllowedAccountNo || AccountServer () != AllowedServer) 
  {
     Print ( "Вы не имеете права использовать этот скрипт!" );
     return ( 1 );
  }
  
   Print ( "Вы можете использовать этот скрипт!" );
}
Защищайтесь, господа разработчики!
Защищайтесь, господа разработчики!
  • www.mql5.com
Вопросы защиты своей интеллектуальной собственности все еще остаются большой проблемой. В статье описаны основные принципы защиты разработок на MQL4, используя которые можно если не совсем побороть воровство результатов многодневного труда разработчика злоумышленником, то, по крайней мере, настолько усложнить вору его "труд", чтобы ему просто...
파일:
333.mq4  16 kb
 
helping123 :
좋은 오후입니다. 고문의 소스 코드가 있습니다. 특정 계정에서만 작동하도록 보호 기능을 추가하는 데 도움이 된 점 양해 부탁드립니다.
https://www.mql5.com/ru/articles/1572 사이트에서 해보았습니다.
하지만 이해할 수 없는 것 같습니다. 도와주세요.
그래서 기성품 알고리즘을 찾았는데 어디에 넣어야 할지 모르겠어

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


FXwin , 2018.09.14 11:48

 bool StopTrade = true ;

int start() {
//---------------------------------------------------------------------------------------------------------------+
//  привязка к конкретному торговому счету
   if ( AccountNumber () != 555777 ){ 
     Comment ( "Invalid account... forex-time@mail.ru" );
   if (StopTrade) Alert ( "Invalid account... forex-time@mail.ru" ); StopTrade= false ; return ( 0 );}
//---------------------------------------------------------------------------------------------------------------+  

 
Alexey Viktorov :

과연 ... 원래 작업은 무엇이었습니까? 저도 기억이 안나네요...^^;;

정말 어린애들처럼 물을 더럽히는 당신은 무엇입니까?

MetaEditor로 이동하여 File->New... 명령을 입력하십시오.

결과적으로 다른 공백이 있는 양식이 나타납니다.

특히 다음은 공백이 됩니다.

- 조언자

- 사용자 지정 표시기

- 스크립트

- 도서관 등

처음 세 가지 항목인 Expert Advisor, Custom Indicator 및 Script에 관심이 있습니다.

다음 공백을 비교해 보겠습니다.

EA에는 다음과 같은 이벤트가 있습니다.

-OnInit(), OnDeinit(), OnTick(), OnTimer, OnChartEvent() ... 그게 다야, 더 이상.

스크립트에는 다음과 같은 이벤트가 있습니다.

- OnStart() ... 그게 다야, 더 이상.

표시기에는 다음과 같은 이벤트가 있습니다.

- OnInit(), OnCalculate(), OnTimer, OnChartEvent() … 그게 전부입니다. 더 이상은 아닙니다.

여기에서 이러한 객체 간의 통신 방법에 대한 질문은 매우 자연스럽습니다.

MQL에서는 이들 사이에 연결이 없고 있을 수 없는 것으로 나타났습니다. 이러한 개체 간의 데이터 흐름이 완전히 분리되어 있고 둘 사이에 연결이 없기 때문입니다.

게다가 MQL을 만든 사람들이 이 사실을 우리에게 '좋은 것'으로 준다는 사실에 놀랐다.

그리고 예를 들어 C ++의 프레임워크 내에서 기본 번역기, JavaScript 또는 기타를 안전하게 호출할 수 있고 예를 들어 Android 프로그래밍 환경으로 이동할 수 있다면

그런 다음 표시기 환경이 OnStart() 명령을 허용하지 않기 때문에 MQL의 프레임워크 내에서 "표시기" 환경에서 소위 "스크립트"를 생성할 기회조차 없습니다.

이게 뭔 개소리야???

그리고 MQL에는 그러한 괴물들이 충분히 있습니다.

그들은 모든 턴에 있습니다.

MQL에 대한 설명을 읽었습니다. 그리고 더 이상 할 일이 없기 때문에 놀랐습니다.

그리고 동시에 MQL의 창시자들은 MQL이 C++의 상속자임을 큰 소리로 선언합니다.

물론 죄송하지만 MQL의 제작자에게 묻고 싶습니다. - 상속인은 무엇입니까? - 기형?


나는 무의식적으로 MQL을 잘 알려진 1C 프로그래밍 환경과 비교합니다. 그들은 또한 C++의 상속자라고 주장합니다.

그러나 모든 것이 훨씬 더 적절하게 이루어집니다.

그리고 그래픽 개체, 모듈 간의 통신 등.

MQL에서는 어떻습니까?

내장 클래스도 없고 스레드 관련 개체도 없고... 전혀 없습니다.

그리고 나는 아직 터미널의 수학적 쉘에 대해 아무 말도 하지 않았다!!!

이것은 일반적으로 놀라움에 대한 별도의 주제입니다!

 
neverness :

정말 어린애들처럼 물을 더럽히는 당신은 무엇입니까?

MetaEditor로 이동하여 File->New... 명령을 입력하십시오.

결과적으로 다른 공백이 있는 양식이 나타납니다.

...

이것은 일반적으로 놀라움에 대한 별도의 주제입니다!

스크립트에 있는 것처럼 OnCalculate( ) 에서 OnStart() 함수를 작성하는 것을 방해하는 것은 없습니다.

 
Vitaly Muzichenko :

스크립트에 있는 것처럼 OnCalculate( ) 에서 OnStart() 함수를 작성하는 것을 방해하는 것은 없습니다.

작동 코드의 예를 들어 표시기 환경에서 타원 또는 다른 개체를 만드는 방법을 보여주세요.
 
Infopanel
Infopanel
  • www.mql5.com
Пример создания простого и быстрого меню с поддержкой нескольких языков. В примере выводится информация о цене, времени до следующего бара, балансе счета, количестве ордеров. Данный пример можно использовать в качестве шаблона для создания своих разработок. Минус данного метода при добавлении, удалении или редактировании объектов необходимо...
 
neverness :
작동 코드의 예를 들어 표시기 환경에서 타원 또는 다른 개체를 만드는 방법을 보여주세요.

마찬가지로 지표는 모든 종류의 그래프 개체를 구축하는 데 가장 적합한 장소입니다.

 
Vitaly Gorbunov :

https://www.mql5.com/ru/code/19220

개체 작업 의 예로서 표시기 .

우리는 어린아이가 아니라 아주 건전한 개인입니다.

서로를 비방하고 속이려 하지 맙시다.

내 질문을 다시 반복합니다.

일부 스크립트 개체가 빌드된 가장 간단한 표시기 코드를 제공하십시오(OnStart(), 예: 타원).

즉, 절차는 다음과 같습니다.

메타에디터로 이동합니다. 파일->만들기...를 클릭합니다.

지표를 선택합니다.

그리고 이 환경에서 스크립트 개체의 코드를 입력합니다(OnStart(), 예: 타원).

너무 간단해!!!

행운을 빕니다!!!

즉, 귀하의 예에서와 같이 양식에 개체를 던지거나 어떤 것과도 독립적인 개체를 생성할 뿐만 아니라 이 개체를 표시기의 컴퓨팅 환경에 포함해야 합니다.

즉, 지표 데이터 흐름이 변경되면 그래픽 개체도 변경됩니다.

그리고 귀하의 예와 달리 차트의 공백은 아무 것도 의존하지 않습니다.