English Русский 中文 Español Deutsch 日本語 Português Français Italiano Türkçe
사용 가능한 기술 칵테일로 MQL5 고객을 놀래켜보세요!

사용 가능한 기술 칵테일로 MQL5 고객을 놀래켜보세요!

MetaTrader 5 | 3 9월 2021, 09:53
196 10
laplacianlab
[삭제]

소개

MQL5는 프로그래머가 MetaTrader 환경 내에서 원하는 모든 작업을 수행할 수 있는 매우 완전한 기능 세트와 객체 지향 API를 제공합니다. 그러나 웹 기술은 오늘날 매우 다재다능한 도구로, 매우 구체적인 작업을 수행해야 하거나 고객을 뭔가 다른 것으로 놀라게 하고 싶거나 특정 MT5 Standard Library를 마스터할 시간이 충분하지 않은 경우에 도움이 될 수 있습니다. 오늘의 연습에서는 놀라운 기술 칵테일을 만드는 동시에 개발 시간을 관리할 수 있는 방법에 대한 실용적인 예를 안내해드립니다.

이 튜토리얼은 멋진 웹 기반 GUI(그래픽 사용자 인터페이스)에서 CSV 파일을 만드는 방법을 보여줍니다. 특히 자동 뉴스 거래자 구축 글에서 설명한 EA에서 사용하는 뉴스 캘린더를 만들 것입니다. 우리가 작업할 웹 기술은 HTML5, CSS 및 JQuery입니다. 이 연습은 이미 웹 지식이 어느 정도 있거나 MQL5 개발과 결합하기 위해 이러한 기술 중 일부를 배우고자 하는 MQL5 개발자에게 특히 흥미로울 것입니다. 개인적으로 최근 몇 년 동안 JQuery, HTML5 및 CSS로 작업할 기회가 있었기 때문에 이 모든 것에 매우 익숙합니다. 이 모든 것을 웹 애플리케이션의 클라이언트 측이라고 합니다.

칵테일. Flickr의 Creative Commons License에 따라 mountainhiker가 배포한 사진

그림 1. 칵테일. Flickr의 Creative Commons License에 따라 mountainhiker가 배포한 사진

이번 달에는 제어판 및 대화 상자 생성을 위한 클래스를 공부할 시간이 없으므로 HTML의 차트 및 다이어그램에 설명된 접근 방식을 선호합니다. 그래서 스레드 EA의 GUI를 열어 데이터를 입력합니다.


1. 기술의 칵테일

HTML 언어와 웹은 CERN(유럽 핵 연구 기구)에서 일부 과학 문서를 설명하고 공유하기 위해 1989년에 탄생한 지 얼마 되지 않았습니다. HTML은 원래 과학 커뮤니티를 위한 커뮤니케이션 도구로 생각되었습니다. 그 이후로 HyperText Markup Language는 전 세계 사람들과 정보를 공유하기 위해 끊임없이 발전해 왔습니다. 과학과 기술의 역사로 여러분을 지루하게 만들고 싶지는 않지만 이 정보만 기억하십시오.

따라서 처음에는 개발자가 HTML을 가져와 멋진 것을 만들기 위해 자체적으로 만들면서 HTML 코드, CSS 스타일 코드 및 JavaScript를 하나의 문서에 모두 작성했습니다. 그들은 모든 것을 섞었고 곧 웹 애플리케이션이 더 적은 오류로 작동하도록 사물을 분리하는 철학을 채택해야 한다는 것을 깨달았습니다. 그래서 오늘날 우리는 웹 앱의 클라이언트 측에서 작업할 때 항상 구조(HTML), 시각적 표현(CSS) 및 동작(자바스크립트)을 분리합니다. 오늘날과 같은 운동을 하고 싶다면 이 세 가지 상호 의존적인 기술을 알아야 합니다.


2. 오늘날과 같은 운동을 하고 싶다면 이 세 가지 상호 의존적인 기술을 알아야 합니다.

사용성은 사용하기 쉽다는 의미입니다. 그것은 어떤 것을 사용하는 법을 배우는 것이 얼마나 쉬운지, 그것을 사용하는 것이 얼마나 효율적인지, 어떤 것을 사용할 때 얼마나 쉽게 잘못될 수 있는지, 또는 사용자가 그것을 사용하는 것을 얼마나 좋아하는지를 의미합니다. 간단히 기억해봅시다. 우리는 고객이 MQL5 제품에 대한 뉴스 캘린더를 만들 수 있도록 웹 기반 GUI를 개발하고 있습니다. EA는 자동 뉴스 거래자 구축 글에서 설명했습니다. 우리는 여러 기술을 통합하기 때문에 사용성 측면이 중요합니다. 그러나 우리는 주의해야 합니다. 이 모든 것이 사용자에게 투명해야 합니다! 우리는 고객이 우리의 웹 기반 솔루션을 사용하고 '이 제품을 사용하는 것이 얼마나 멋져요!'라고 말하게 되는 순간 성공하게 될 것입니다.

우리의 GUI 디자인은 알려진 여러 사용성 지침을 따릅니다.

  • 텍스트를 읽을 수 있도록 밝은 배경색과 어두운 글꼴 색상을 사용합니다.
  • 글꼴 크기는 일반 청중이 읽을 수 있을 만큼 충분히 큽니다.
  • 아이콘은 혼자가 아니라 해당 텍스트 설명과 함께 표시됩니다.
  • 링크는 밑줄이 그어져 있고 파란색입니다. 이렇게 하면 보기가 좋습니다.


3. 뉴스 CSV 생성을 위한 웹 GUI

이 연습의 전체 코드는 news-watcher-csv.html에서 볼 수 있습니다. 이것이 EA와 함께 고객에게 제공할 것입니다. 그건 그렇고, 먼저 아래에서 자세히 설명할 해당 파일을 살펴보는 것이 좋습니다.

3.1. 행동 계층(JS) 및 디스플레이 계층(CSS) 로드

Google 호스팅 라이브러리는 가장 인기 있는 오픈 소스 자바스크립트 라이브러리를 위한 콘텐츠 배포 네트워크입니다. Google 서버에서 필요한 JS 라이브러리를 가져올 수 있으므로 작업을 위해 컴퓨터에 복사할 필요가 없습니다. 웹 앱은 첫 번째 HTTP 요청에서 지정한 라이브러리를 Google에 요청할 것입니다. 이것은 브라우저가 JQuery 라이브러리와 해당 CSS를 로드하기 위해 이 연습에서 취한 접근 방식입니다.

문서의 헤더 태그에 필요한 모든 항목을 로드합니다.

<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/themes/smoothness/jquery-ui.css" />
<link rel="stylesheet" href="jquery.timepicker.css" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
<script src="jquery.timepicker.min.js"></script>

그럼에도 불구하고 고객이 특정 시간을 선택할 수 있도록 하는 위젯인 jquery.timepicker의 CSS와 JavaScript도 포함합니다. 은색 총알이 없기 때문이죠! JQuery UI에는 시간을 즉시 선택할 수 있는 시각적 위젯이 제공되지 않으므로 이 타사 구성 요소에 의존해야 합니다. jquery.timepicker.cssjquery.timepicker.min.js 파일은 Google 서버에서 사용할 수 없으므로 로컬 시스템에서 파일을 복사하고 HTML 문서.

이는 고객에게 불편할 수 있으므로 이 연습의 맥락에서 Google에서 호스팅되는 JQuery 라이브러리와 마찬가지로 먼저 이 두 파일을 신뢰할 수 있는 공용 서버에 업로드한 다음 HTML 문서에서 지정하는 것이 좋습니다. 고객에게 표시되는 파일은 적을수록 좋습니다. 이전에 사용성에 관해 논의한 것을 기억하십시오! 이것은 개선 연습으로 남겨 둡니다. 어쨌든 이 모든 것은 고객이 이 GUI를 사용하기 위해 인터넷에 연결되어 있다고 가정한다는 점을 명심하십시오.

3.2. GUI에서 사용되는 JQuery 위젯

GUI에는 다음과 같은 JQuery 시각적 컨트롤이 포함되어 있습니다. 이 모든 것이 이 JavaScript 프레임워크에 이미 프로그래밍되어 있음을 기억하십시오! JQueryJQuery UI에 대한 지식을 심화하려면 공식 문서를 살펴보십시오. 메인 jQuery 프로그램이 어떻게 작동하는지 잠시 후에 설명하겠습니다.

3.2.1. 날짜 선택기 (Datepicker)

이 컨트롤을 사용하면 사용자가 특정 날짜를 쉽게 입력할 수 있습니다.


그림 2. jQuery 날짜 선택기

그림 2. jQuery 날짜 선택기


3.2.2. 시간 선택기 (Timepicker)

이 플러그인은 사용자가 특정 시간을 입력하도록 도와줍니다. Google 캘린더에서 영감을 받았습니다.


그림 3. jQuery 시간 선택기 이 확장은 Jon Thornton이 작성했습니다.

그림 3. jQuery 시간 선택기. 이 확장은 Jon Thornton이 작성했습니다.

3.2.3. 정렬 가능

마우스를 사용하여 목록이나 그리드에서 뉴스를 재정렬하기 위한 것입니다.

그림 4. jQuery 정렬 가능

그림 4. jQuery 정렬 가능


3.2.4. 대화

이 컨트롤은 대화형 오버레이에 일부 콘텐츠를 표시하기 위한 것입니다. 사용성 순수주의자들은 사용자에게 약간의 방해가 되기 때문에 권장하지 않습니다. 또한 사용자가 손을 조심스럽게 움직여 상호 작용해야 하므로 운동 문제가 있는 사람들은 jQuery 대화 상자와 상호 작용하는 것이 불편할 수 있지만 이 위젯은 일부 상황에서 사용할 수 있습니다. 저는 이것을 알고 있습니다. CSV 콘텐츠가 덜 방해가 되는 방식으로 표시되도록 이 그래픽 사용자 인터페이스를 개선하는 것은 연습 문제로 남아 있습니다.


그림 5. jQuery 대화 상자


그림 5. jQuery 대화 상자


3.3. 제품에 맞춤형 가치를 더하는 Marvel

프리랜서 또는 회사로서 MT5 기반 솔루션을 제공하고 마케팅 문제에 대한 고객의 선호도를 저장하는 데이터베이스를 보유하고 있을 수 있습니다. 이 경우 해당 정보를 활용하여 웹 기반 GUI를 사용자 정의할 수 있습니다.


그림 6. Bob이 편안한 환경에서 캘린더를 만들 수 있도록 Scarlatti 클립을 통합할 수 있습니다.

그림 6. Bob이 편안한 환경에서 캘린더를 만들 수 있도록 Scarlatti 클립을 통합할 수 있습니다.

이 예에서 Bob은 유명한 이탈리아/스페인 바로크 작곡가인 Domenico Scarlatti를 좋아하므로 Bob이 편안한 환경에서 캘린더를 만들 수 있도록 Scarlatti 클립을 통합합니다.

3.4. GUI의 JQuery 코드

이제 news-watcher-csv.html 파일을 열고 이 튜토리얼의 앞부분에서 논의한 세 부분을 관찰하십시오. 클라이언트 웹 앱은 프레젠테이션(CSS), 구조(HTML) 및 동작(JavaScript/jQuery)으로 구성된다는 점을 기억하십시오. 이 모든 것을 보면 jQuery 프로그램이 무엇을 하는지 쉽게 이해할 수 있을 것입니다.

주요 jQuery 프로그램은 스냅입니다. 우선 문서의 HTML5 코드가 제대로 검증될 수 있도록 YouTube의 iframe을 약간 수정합니다. 그런 다음 앱은 앞에서 설명한 위젯을 초기화하고 마지막으로 뉴스 추가 버튼과 CSV 콘텐츠 생성 링크의 동작을 프로그래밍합니다. 그게 다입니다.

$(function() { 

    // fix YouTube's zIndex iframes issue

    $('iframe').each(function(){
        var url = $(this).attr("src");
        $(this).attr("src",url+"?wmode=transparent");
    });

    // Init GUI elements

    $("#datepicker").datepicker({ 'dateFormat': 'yy.m.dd' });
    $("#timepicker").timepicker({ 'timeFormat': 'H:i:s' });                 
    $("#sortable").sortable().disableSelection();
    $("#news-calendar").hide();

    // Buttons behavior

    $("#add-new").click(function() {

        $("#news-calendar").fadeIn("500");

        $("#sortable").append('<li class="ui-state-default"><span class="ui-icon ui-icon-arrowthick-2-n-s"></span>' + 
            $('#base-currency').val() + ';' + 
            $('#datepicker').val() + ';' + 
            $('#timepicker').val() + ';' + 
            $('#description').val() + '</li>');

    });

    $("#get-csv").click(function() {

        var csv = "Country;Time;Event\n";

        $("#sortable li").each(function(){

            csv += $(this).text() + "\n";

        });

        $("#dialog").empty().dialog({
            modal: true,
            width: 650,
            show: {
                effect: "blind",
                duration: 400
            },
            hide: {
                effect: "explode",
                duration: 400
            },
            buttons: {
                Ok: function() {
                $( this ).dialog( "close" );
                }
            }
        }).append(csv.replace(/\n/g, '<br/>'));

        return false;

    });

});

위의 jQuery 코드는 아래 HTML 구조를 동적으로 조작합니다.

<div id="csv-generator">
    <p>Dear Bob, please, generate the CSV file for NewsWatcher EA while you listen to your favourite music:</p>
    <iframe id="video" width="400" height="280" src="https://www.youtube.com/embed/4pSh8kHKuYw" allowfullscreen></iframe>
    <div id="form">
        <p>Enter news in your CSV calendar:</p>
        <div class="form-field">
            <label>Base currency:</label>
            <select id="base-currency">
                <option>AUD</option>
                <option>CAD</option>
                <option>CHF</option>
                <option>CNY</option>
                <option>EUR</option>
                <option>GBP</option>
                <option>JPY</option>
                <option>NZD</option>
                <option>USD</option>
            </select>
        </div>
        <div class="form-field">
            <label>Date:</label>
            <input type="text" id="datepicker"/>
        </div>
        <div class="form-field">
            <label>Time:</label>
            <input type="text" id="timepicker"/>
        </div>
        <div class="form-field">
            <label>Description:</label>
            <input id="description" type="text"/>
        </div>
        <div id="add-new-button" class="form-field">
            <label></label>
            <button id="add-new">+ Add new</button>
        </div>
    </div>
</div><!-- end of csv-generator -->
<div id="news-calendar">
    <p><a id="get-csv" href="#">Get CSV</a></p>
    <ul id="sortable"></ul>
</div>
<div id="dialog" title="Please, copy and paste in data_folder\MQL5\FILES\news_watcher.csv"></div>

마지막으로 프레젠테이션 레이어는 다른 두 레이어와 명확하게 구분되는 다음 CSS입니다.

<style>

    /* Simple CSS reset */

    * {
        margin: 0;
        padding: 0
    }


    /* HTML tags */

    body {
        font-family: Arial, Helvetica, sans-serif;
        padding: 0em 2em
    }

    header { border-bottom: 1px solid #cccccc }
    footer { border-top: 1px solid #cccccc; margin-top: 2em; padding-top: 1em }

    h1, h2, h3, h4, h5, p { padding: 1em 0em }

    label {
        width: 150px;
        display: inline-block;
        margin: 5px;
        text-align: right
    }

    input { border: 1px solid #cccccc }           
    button, option, input { padding: 4px }
    select { padding: 3px }

    /* Custom ids */

    #csv-generator {
        filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#fafafa');
        background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#fafafa)); 
        background: -moz-linear-gradient(top, #ffffff, #fafafa);
        width: 100%;
        clear: both;
        overflow: hidden
    }

    #video {
        width: 30%;
        float: left;
        margin-right: 1em;
        -moz-box-shadow: 0px 3px 5px #888;
        -webkit-box-shadow: 0px 3px 5px #888;
        box-shadow: 0px 3px 5px #888;
        border:0
    }  

    #dialog { font-size: 12px }

    /* Form for adding the news */

    #form { width: 65%; float: right }
    input#datepicker, input#timepicker { width: 100px }
    input#description { width: 300px } 
    #add-new-button { float: left; margin-right: 1em }

    /* Sortable */

    #news-calendar { clear: both; margin-top: 2em; padding: 0em 2em 2em 1em; background: #fafafa; border: 1px solid #cccccc }
    #sortable { list-style-type: none; margin: 0; padding: 0em; width: auto; clear: both }
    #sortable li { margin: 3px; padding: 0.4em; padding-left: 1.5em; }
    #sortable li span { position: absolute; margin-left: -1.3em; }

    a#get-csv {
        background: url('http://icons.iconarchive.com/icons/deleket/soft-scraps/24/File-New-icon.png') no-repeat 0px 8px;
        padding: 10px 58px 20px 30px;
    }

    /* Custom classes */

    .form-field { margin-bottom: 0.5em }

    /* Overwrites */

    .ui-dialog-title { font-size: 12px }

</style>

이 간단한 프리젠테이션 레이어는 예를 들어 모든 모바일 장치를 고려하는 CSS 코드를 작성하여 개선할 수도 있습니다. 현재 이것은 CSS3 미디어 쿼리 및 반응형 웹 디자인으로 가능하지만 이 기술을 탐구할 공간이 이 글에 충분하지 않으므로 독자를 위한 연습으로 남겨둡니다.


결론

웹 기술은 오늘날 어떤 상황에서 구출될 수 있는 매우 다재다능한 도구입니다. 오늘 우리는 자동 뉴스 거래자 구축에서 이미 개발한 Expert Advisor가 사용할 CSV 형식의 뉴스 캘린더를 만들기 위한 웹 기반 그래픽 사용자 인터페이스를 만들었습니다. 글.

HTML5, CSS 및 JQuery는 우리가 작업한 주요 웹 기술입니다. 이 모든 것을 웹 애플리케이션의 클라이언트 측이라고 합니다. 우리는 또한 인터페이스를 사용할 사람을 항상 생각해야 할 필요성에 대해 간략하게 논의하고 사용성 문제에 대해 간략하게 기록했습니다.

*매우 중요한 참고사항: 이 튜토리얼의 HTML5 코드는 다음을 보장하기 위해 W3C 마크업 검증 서비스를 통해 검증되었습니다. 고품질 제품이며 최신 버전의 Chrome 및 Firefox 브라우저에서 테스트되었습니다. IE8은 더 이상 사용되지 않습니다. 해당 브라우저에서 이 연습을 실행하지 마십시오. jQuery 2.0은 IE 6, 7 또는 8을 지원하지 않습니다. MQL5는 HTML, CSS 및 JavaScript 전송을 허용하지 않기 때문에 이 튜토리얼의 세 파일은 txt 형식으로 전송됩니다. 다운로드하고 news-watcher-csv.txt의 이름을 news-watcher-csv.html로, jquery.timepicker.txt의 이름을 jquery.timepicker.css로, 그리고 jquery.timepicker.min.txt의 이름을 jquery.timepicker.min.js로 변경해주세요.



MetaQuotes 소프트웨어 사를 통해 영어가 번역됨
원본 기고글: https://www.mql5.com/en/articles/728

최근 코멘트 | 토론으로 가기 (10)
[삭제] | 31 10월 2013 에서 22:27

개선해 주셔서 감사합니다,

어떤 확장도 환영합니다 ! 저희는MQL5 개발에서 기술을사용하여 크로스 플랫폼 소프트웨어를 만들수 있습니다. 하지만 이 기회를 빌어 한 가지 의견을 말씀드리고 싶습니다.

일반적으로 악의적인 소프트웨어 작성자가 사용자의 윈도우 시스템에 침입하기 위해 ActiveX 프로그램을 작성할 수 있기 때문에 보안 문제를 위해 자바스크립트 코드에는 ActiveX 컨트롤을 사용해서는 됩니다. 이러한 작업을 수행하려면 고객이 신뢰할 수 있어야 하며, 특정 기능 등을 실행하기 위해 ActiveX를 사용한다는 사실을 고객에게 명확하게 설명해야 합니다.

물론 원하는 대로 Windows와 상호 작용하는 용도로 ActiveX를 사용할 수 있습니다.

자세한 내용은 여기를 참조하세요:

http://entertainment.howstuffworks.com/activex-for-animation3.htm

http://articles.winferno.com/web-browser-security/dangers-of-activex/

Ivan Negreshniy
Ivan Negreshniy | 1 11월 2013 에서 21:18
지적해 주셔서 감사합니다. 실제로 ActiveX와 다른 Microsoft 인터넷 기술은 바이러스 배포에 사용될 수 있습니다. Google 등과 같은 다른 통신 솔루션에서도 동일한 상황이 관찰됩니다. 물론 오늘날 바이러스의 주요 배포자는 인터넷입니다.

이러한 관점에서 볼 때 대부분의 유사한 작업은 로컬 텍스트 편집기에서 해결하는 것이 훨씬 안전할 것입니다. 그리고 타자기에서 100 % 더 안전 할 것입니다. 그리고 컴퓨터 대신 계산기를 사용하는 것이 더 좋을 것입니다 ;).

그러나 특수 바이러스 백신 프로그램 및 사이트가 운반하는 바이러스와의 싸움 때문에 이것에 대해 너무 걱정해서는 안된다고 생각합니다. 바이러스에 대한 위험은 적지만 외환 거래에 대한 위험은 더 큰 메타 트레이더 환경에서 고객을 보호하는 것만 남아 있습니다.
[삭제] | 3 11월 2013 에서 00:38
hlaiman:
지적해 주셔서 감사합니다. 실제로 ActiveX와 다른 Microsoft 인터넷 기술은 바이러스 배포에 사용될 수 있습니다. Google 등과 같은 다른 통신 솔루션에서도 동일한 상황이 관찰됩니다. 물론 오늘날 바이러스의 주요 배포자는 인터넷입니다.

이러한 관점에서 볼 때 대부분의 유사한 작업은 로컬 텍스트 편집기에서 해결하는 것이 훨씬 안전할 것입니다. 그리고 타자기에서 100 % 더 안전 할 것입니다. 그리고 컴퓨터 대신 계산기를 사용하는 것이 더 낫습니다.)

그러나 특수 바이러스 백신 프로그램 및 사이트가 운반하는 바이러스와의 싸움 때문에 이것에 대해 너무 걱정해서는 안된다고 생각합니다. 바이러스에 대한 위험은 적지만 외환 거래에 대한 위험은 더 큰 메타 트레이더 환경에서 고객을 보호하는 것만 남아 있습니다.
액티브X에 대한 언급은 반드시 해야 한다고 생각합니다. 크로스 플랫폼 EA에 대한 아이디어는 좋지만 웹 사용자는 ActiveX가 위험 할 수 있다는 것을 알고 있어야합니다.

즉, 고객이 귀하를 신뢰한다면 ActiveX를 사용할 수 있습니다. 사용자에게 앱의 기능을 잘 설명하는 대화 상자를 넣고, 앱이 제대로 작동하려면 특정 기능을 실행해야 한다는 것을 수락하도록 요청하는 등의 작업을 할 수 있습니다.

웹 기술을 사용하면 ActiveX를 사용하지 않고도 매우 안전한 방식으로 MQL5 개발의 일부를 보완할 수 있다고 생각합니다.
Ivan Negreshniy
Ivan Negreshniy | 4 11월 2013 에서 18:39
laplacianlab:
글쎄요, 액티브엑스에 대한 발언은 반드시 해야 한다고 생각합니다. 크로스 플랫폼 EA에 대한 아이디어는 좋지만 웹 사용자들은 액티브X가 위험할 수 있다는 사실을 알아야 합니다.

즉, 고객이 여러분을 신뢰한다면 액티브X를 사용할 수 있습니다. 사용자에게 앱의 기능을 잘 설명하는 대화 상자를 넣고, 앱이 제대로 작동하려면 특정 기능을 실행해야 한다는 것을 수락하도록 요청하는 등의 작업을 할 수 있습니다.

웹 기술을 사용하면 ActiveX를 사용하지 않고도 매우 안전한 방식으로 MQL5 개발의 일부를 보완할 수 있다고 생각합니다.

DDE/OLE/ActiveX/COM/DCOM은 프로그램 간 상호 작용에 대한 Microsoft 기술의 진화라는 점을 상기시키고 싶습니다. 이러한 기술은 거의 모든 Windows 응용 프로그램 및 서비스에서 지원됩니다. 이러한 기술은 .Net의 기반입니다.

따라서 ActiveX 기술을 완전히 포기한다는 것은 Windows OS를 완전히 포기하는 것과 같으며, 결과적으로 메타트레이더 터미널 및 메타에디터 IDE와 같이 Windows용으로 작성된 모든 프로그램을 포기하는 것과 같습니다.

논의의 주제를 더 잘 설명하기 위해 삶의 예를 들어보겠습니다. 우리는 바이러스가 공기 중의 비말을 통해 이동하여 사람을 감염시킨다는 것을 알고 있습니다. 감염과 싸우기 위해 우리는 바이러스 백신, 정제, 마스크 등을 사용할 수 있습니다. 하지만 더 근본적인 방법으로도 싸울 수 있습니다. 귀하의 제안과 유사하게 ActiveX를 완전히 포기하고 공기를 완전히 포기하십시오. 하지만 바이러스의 매개체인 공기를 제거함으로써 감염의 대상인 사람을 파괴할 수 있다면 누가 이런 보안을 필요로 할까요? )
Sergey Golubev
Sergey Golubev | 6 6월 2014 에서 09:28

트레이딩, 자동매매 시스템 및 트레이딩 전략 테스트 포럼

언론 리뷰

뉴디지털, 2014.06.06 09:25

주요 뉴스 이벤트를 거래하는 3단계 ( dailyfx 기사 기준)

토킹 포인트:

  • 뉴스 발표는 트레이더에게 스트레스를 줄 수 있습니다.
  • 이벤트가 시작되기 전에 계획을 세우세요
주요 뉴스는 트레이더에게 스트레스를 줄 수 있습니다. 이러한 스트레스는 다양한 트레이딩 스타일에 따라 나타날 수 있습니다.
이미 좋은 종목으로 좋은 포지션에 진입했는데 보도 자료가 좋은 종목에 타격을 줄까봐 걱정될 수도 있습니다.

가격이 기술적으로 양호한 진입 지점에 근접해 있어 새로운 포지션에 진입하고 싶지만 변동성이 큰 릴리스가 나올 때까지 기술적 흐름이 유지될지 불확실할 수도 있습니다. 따라서 지금 진입할지 아니면 뉴스 이벤트 이후에 진입할지 결정하기 위해 고심합니다.

아니면 이벤트가 발표되는 동안 새로운 포지션을 개시하고 싶을 수도 있습니다. 뉴스가 발표되는 동안 급변하는 변동성 때문에 트레이딩을 할 때 손바닥에 땀이 나기도 합니다.

보시다시피 뉴스 이벤트는 다양한 방식으로 트레이더에게 스트레스를 줍니다.

오늘은 뉴스 이벤트를 거래하는 3단계에 대해 알아보겠습니다.


1단계 - 전략 세우기

간단해 보이지만 발표의 감정 때문에 쉽게 방향을 잃을 수 있습니다. 우리는 가격이 일직선으로 빠르게 움직이는 것을 보고 놓칠까봐 두려워하거나 그동안 쌓아온 이익을 잃을까봐 두려워합니다. 따라서 우리는 감정적인 결정을 내리고 행동합니다.

전략을 세우는 것이 복잡할 필요는 없습니다. 뉴스가 있을 때 시장에서 벗어나 아무것도 하지 않는 것도 전략이라는 것을 기억하세요.

뉴스 이벤트에 진입하는 유동 수익이 있는 트레이더의 전략은 "포지션의 절반을 청산하고 손절가를 손익분기점보다 높게 설정하겠다"와 같이 간단할 수 있습니다.

기술적으로 새로운 포지션을 개시하려는 트레이더는 발표 후 최소 15분까지 기다린 다음 설정이 여전히 유효한지 결정할 수 있습니다.

적극적인 뉴스 트레이더는 '느낌이 좋은 것'에 따라 거래하기 때문에 매수 및 매도 규칙 계획이 필요하다는 것을 깨달을 수 있습니다.

2단계 - 보수적인 레버리지 사용

뉴스가 발표될 때 시장에 있다면 보수적인 레버리지를 사용하고 있는지 확인하세요. 가격이 어디로 갈지 알 수 없고 발표 중에는 가격이 빠르게 움직이는 경향이 있습니다. 따라서 낮은 레버리지를 사용하여 각 거래가 계좌 잔고에 미치는 영향을 최소화하세요.

성공하는 트레이더의 특징 연구에 따르면 유효 레버리지가 10배 미만인 트레이더가 평균적으로 더 높은 수익을 내는 경향이 있습니다.


3 - 전략에서 벗어나지 않기

첫 번째 단계부터 전략에 대해 생각해보고 보수적으로 레버리지하는 것이 중요하다는 것을 깨달았다면 90%는 성공한 것입니다! 하지만 마지막 10%가 가장 어려울 수 있습니다. 어떤 계획을 세우든 그 계획을 고수하세요!

건강한 식습관과 운동이 포함된 체중 감량 계획을 세웠지만 운동은 제한하면서 고지방, 고당분 음식만 계속 먹는다면 좌절할 수밖에 없습니다.

근본적인 뉴스 자료를 통해 스트레스를 받거나 좌절할 필요가 없습니다.


선형 거래 시스템을 강화하세요 선형 거래 시스템을 강화하세요
오늘의 글에서는 중급 MQL5 프로그래머가 소위 지수 기법을 쉽게 구현하여 선형 거래 시스템(고정 랏)에서 더 많은 이익을 얻을 수 있는 방법을 보여줍니다. 이는 그 결과 주식 곡선 성장이 포물선의 형태를 취하는 기하학적 또는 지수적이기 때문입니다. 특히, Ralph Vince가 개발한 고정 분수 위치 크기 조정의 실용적인 MQL5 변형을 구현합니다.
MQL5 마법사: EA가 모든 가격으로 보류 중인 주문을 열도록 가르치는 방법 MQL5 마법사: EA가 모든 가격으로 보류 중인 주문을 열도록 가르치는 방법
이 글은 현재 가격에서 어떤 거리에서도 보류 주문을 설정할 수 있도록 하는 기능의 구현을 위해 거래 신호 모듈의 코드를 수정하는 방법을 설명합니다. 즉, 이는 이전 바의 종가 또는 시가 또는 이동 평균 닫거나 오픈할 수 있습니다. 많은 옵션이 있습니다. 중요한 것은 보류 중인 주문에 대해 시작 가격을 설정할 수 있다는 것입니다. 이 글은 보류 중인 주문으로 거래하는 거래자에게 유용합니다.
기술 지표 및 디지털 필터 기술 지표 및 디지털 필터
이 글에서 기술 지표는 디지털 필터로 취급됩니다. 디지털 필터의 작동 원리와 기본 특성을 설명합니다. 또한 MetaTrader 5 터미널에서 필터 커널을 수신하고 "스펙트럼 분석기 구축" 글에서 제안한 기성 스펙트럼 분석기와 통합하는 몇 가지 실용적인 방법을 고려합니다. 일반적인 디지털 필터의 펄스 및 스펙트럼 특성을 예로 사용합니다.
자동 뉴스 거래자 구축 자동 뉴스 거래자 구축
이것은 처음부터 간단한 OO EA를 빌드하는 방법을 보여주고 객체 지향 프로그래밍에 대한 몇 가지 팁을 제공한 또 다른 MQL5 OOP 클래스 글의 연속입니다. 오늘은 뉴스를 거래할 수 있는 EA를 개발하는 데 필요한 기술적인 기본 사항을 보여 드리겠습니다. 제 목표는 계속해서 OOP에 대한 아이디어를 제공하고 파일 시스템으로 작업하는 이 일련의 글에서 새로운 주제를 다루는 것입니다.