NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 팁 앤 테크
  • 매뉴얼

    팁과 테크니컬 노하우를 확인하세요.

    팁 앤 테크

    팁과 테크니컬 노하우를 확인하세요.

    본 사이트의 컨텐츠는 저작권법의 보호를 받으므로 무단 복사, 게재, 배포 등을 금합니다.

    에디터 액션 이동과 액션 되돌아가기 차이점. (goto, gosub)

    페이지 정보

    본문

    안녕하세요. 엔지엠소프트웨어입니다. 엔지엠 에디터는 [ 액션 이동 ]을 이용해서 루틴을 이동할 수 있습니다. 스크립트의 특정 구간을 무한으로 반복하려면 액션 이동을 이용해서 간단하게 처리할 수 있습니다. 아래와 같이 스크립트를 구성한 후 테스트 해봅시다.

    toEUBIP.png

     

     

    첫번째 [ 그룹 ] 액션의 아이디는 "반복"입니다. 스크립트는 위에서 아래로 순차적으로 실행됩니다. 마지막 액션 이동에서 첫번째 그룹으로 이동시키기 때문에 이 스크립트는 무한 반복하게 됩니다.

    xvGGlAl.gif

     

     

    전체 스크립트를 특정 횟수만큼 반복하려면 [ 액션 반복 ]을 사용하면 됩니다. 스크립트에 포함된 액션이기 때문에 액션 이동처럼 구간 반복이 가능합니다. 다만, 사용자가 설정한 반복 횟수만큼만 액션이 이동됩니다.

    G7lFarV.png

     

     

    테스트를 위해 액션 이동은 사용 안함으로 설정하고 실행 했습니다. 반복 횟수에 입력한 값만큼 반복하고 스크립트가 완료됩니다.

    eLsNTp7.gif

     

     

    아래 그림과 같이 옵션의 반복 횟수를 설정해도 됩니다. 액션 이동이나 액션 반복은 스크립트에서 특정 구간을 반복할 수 있지만, 옵션의 반복은 스크립트 자체를 반복시키는 기능입니다. 만약, 위 스크립트를 옵션의 반복 횟수 3으로 해두면 전체 9번 반복하게 됩니다.

    4p5yMPP.png

     

     

    액션 이동의 용도는 단순히 스크립트를 반복시키기 위한건 아닙니다. 다시 아래 스크립트를 보면 좀 더 명확하게 왜 액션 이동을 사용하는지 알게 됩니다. 주식이나 코인 자동 매매 스크립트를 만들 때 매도, 매수 타이밍을 계산해서 각각 매도, 매수 버튼을 클릭해야 합니다. 이 때 타이밍을 판단할 조건(이미지 매치)에 따라서 액션을 이동시켜줍니다.

    OVObb2l.png

     

     

    실제로 거래를 발생시키는 스크립트는 아니지만, 어떤 상태 또는 조건에 따라 액션을 이동하면 거기서 수행해야 할 루틴으로 이동할 수 있습니다. 루틴은 매도 타이밍과 매수 타이밍 그룹입니다. 이 그룹에는 매도 또는 매수하기 위한 여러가지 액션들이 포함되어 있을겁니다. 시나리오라서 간단하게만 표시 했습니다. 이 간단한 스크립트에 어떤 문제점이 있는지 잘 파악이 되지는 않을겁니다. 어떤 로직에 의해서 매도 또는 매수 타이밍이 발생하고, 각각의 그룹으로 이동한 후 매도와 매수를 수행했습니다. 이렇게 한번만 동작하고 끝나면 안되겠죠? 매도나 매수를 처리하고 다시 매수 매도 체크로 이동해야 합니다. 그래야 계속해서 거래가 발생하기 때문입니다. 이 예제로는 이해하기 어려울 수 있어서 우선 동작이 어떻게 되는지 확인 하겠습니다. 아래 그림과 같이 [ 액션 되돌아가기 ]와 [ 액션 복귀 ]를 추가 해줍니다.

    5WvuMdD.png

     

     

    액션 되돌아가기는 액션 이동과 동작이 동일합니다. 그러나, 액션 복귀를 만나면 액션 되돌아가기에서 보낸 곳으로 다시 복귀하게 됩니다.

    CVwr2ZC.gif

     

     

    스크립트를 어떻게 구성할지는 자유이지만 이런 기능들을 알아두면 좀 더 효율적인 매크로를 만들 수 있게됩니다. 다시 위에서 예로 든 내용을 대입해보면 매도 또는 매수 타이밍일 때 특정 루틴으로 이동한 후 매도와 매수를 실제로 처리합니다. 그리고, 액션 복귀로 원래 위치로 되돌아가서 다시 순차적으로 처리합니다. 이걸 좀 더 간단하게 처리할 수 있는 방법이 [ 서브 스크립트 ]입니다. 서브 스크립트는 완전히 독립된 하나의 스크립트입니다. 독립되어 있긴하지만, 매인 스크립트와 [ 데이타 ]를 주고 받을 수 있으므로 서브 루틴으로 처리할 수 있습니다.

    RFT5c8s.png

     

     

    보통 프로그래밍에서 펑션(Function, 함수) 또는 메소드(Method, 방법)라고 부릅니다. 서브 루틴을 처리할 때 사용됩니다. 엔지엠 에디터도 서브 루틴을 처리할 때 서브 스크립트를 사용합니다. 프로그래밍 언어에서 제공하는 것과 비교할 수 있는 수준은 아닙니다^^; 자~ 서브 스크립트를 사용하면 좋을거 같지만 서브 스크립트는 단점이 하나 존재합니다. 매인 스크립트에서 디버깅할 때 서브 스크립트의 내용까지 확인할 수 없다는것입니다. 스크립트가 복잡해질수록 아쉬운 부분이 아닐 수 없습니다. 그렇더라도 하나의 스크립트에 길게 작성하는 것보다 서브 스크립트를 사용하는게 매크로 유지보수 측면에서 좋은건 사실입니다.

     

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.