AutoGraf 시리즈 4 - MQL 기능. - 페이지 35

 

Не очень понятно что Вы называете "строка кода для учёта в приложении".

AG_Strategy_Channal_Inside.mq4의 조각

 //================================================================================== 6 ==
   if ( Channal = = false )                            // Если объекта заданного типа нет
       {
       ObjectCreate ( My_Chan_Name , OBJ_STDDEVCHANNEL , 0 , 0 , 0 ) ; // Создаём его.. 
       int Сoor_X2 = Time [ 0 ] ;                                  // 1я точка СПРАВА, 2я СЛЕВА
       int Сoor_X1 = Сoor_X2 - With * 60 ;                        // Канал длиной 3 часа
       ObjectSet ( My_Chan_Name , OBJPROP_TIME1 , Сoor_X1 ) ;        // Устанавливаем координаты
       ObjectSet ( My_Chan_Name , OBJPROP_TIME2 , Сoor_X2 ) ;        // Устанавливаем координаты 
       ObjectSet ( My_Chan_Name , OBJPROP_COLOR , Orange ) ;        // Устанавливаем координаты 
      AG_Message ( Message , "АТ: Устанавливаем объект OBJ_STDDEVCHANNEL." ) ; // Сообщение

       return ( 1 ) ;                  // Это необходимо, чтоб установл. канал был учтён AG 4    Имелась ввиду эта строка

       }
//---------------------------------------------------------------------------------- 7 --

이 줄은 나를 혼란스럽게했습니다.

첫 번째는 AT 기능이 독립적으로 거래할 수 있다는 것입니다. 거래 주문을 생성하고 서버로 보낼 수 있습니다.

AT 기능이 애플리케이션의 동작을 무시하고 스스로 ..... 서버로 보낼 수 있을 것 같았습니다.

분명히 이것은 경험 부족으로 인한 내 문제입니다. 두뇌는 프로그래밍을 위해 아직 날카롭게 되지 않았습니다.

 
LeonidSB писал(а) >>

.. 두뇌는 프로그래밍을 위해 아직 날카롭게되지 않았습니다.

간단한 프로그램을 직접 작성하는 것이 좋습니다.

 

너가 확실히 맞아. 저는 이것을 위해 노력하고 있고 곧 하기를 희망하지만 먼저 이미 경험이 있는 사람들이 무엇을, 어떻게, 왜 썼는지 알아내고 싶습니다. 대략적으로 말하자면, 지식의 양을 획득하여 경험의 질로 바뀌고, 이를 바탕으로 스스로 무언가를 작성하는 것입니다.

기본적으로 모든 "복잡한" 프로그램은 상호 연결된 간단한 프로그램 집합입니다. 그것은 집과 벽돌과 같습니다(저는 과거에 교육과 직업으로 건축업자였습니다). 프로그래밍은 저에게 생성자와 같습니다.

그건 그렇고, 시간을 내 작업 지표를 살펴보십시오. 차트에 목표 선, 수익성 있는 거래 및 수익성 없는 거래 선을 그리고 남겨두고 이를 사용하여 테스터의 차트와 실제 생활 모두에서 전략 구현을 시각적으로 분석할 수 있습니다. 또한 적절한 옵션을 활성화하면 세션 출력 결과를 보고 추가 처리를 위해 자신의 (공유되지 않은) 로그 파일에 적용할 수 있습니다.

extern bool    PrDeal = false ;                                        // Выключатель. Печатать отчет по каждой сделке
extern bool    PrCol = false ;                                        // Выключатель. Печатать отчет в колонку
extern bool    PrTab = true ;                                          // Выключатель. Печатать отчет в таблицу

지금까지 3가지 유형의 보고서가 하나의 파일에 동시에 생성되었습니다. 나는 이미 Vladislav Goshkov가 개발 한 지표를 기초로 삼았다고 말했습니다. 약 280줄 정도였습니다. 2300줄까지 완성했습니다. 그들이 말했듯이, 밀어낼 것이 있었습니다. 그 안에 '악마의 다리가 부러진다'는 식으로 코드가 작성되어 있는 것이 분명하다. 그러나 이것들은 나의 첫 번째 코드 줄이며, 가장 중요한 것은 작동한다는 것입니다! 따라서 저는 올바른 방향으로 가고 있습니다(가장 정확한 방법은 아니지만). 그러나 발생하는 문제를 명확히 하는 데 귀하의 도움으로 모든 것이 시간 문제입니다.

많은 참여 부탁드립니다.


이 기회를 빌어 또 다른 질문.

교과서에는 다음과 같이 나와 있습니다.

Если в результате исполнения торгового приказа функция OrderClose() вернула значение false, то это значит, что ордер не закрыт. Чтобы выяснить причину неудачи выполняется анализ последней ошибки, возникшей при попытке осуществления торговой операции. Для этого вызывается функция Errors() (см. раздел Функция обработки ошибок ). Если при исполнении этой функции обнаруживается, что ошибка является непреодолимой (например, торговля запрещена), то функция Close_All() заканчивает работу и возвращает управление в управляющую торговую функцию Trade(), что в конечном счёте приводит к завершению исполнения специальной функции start() эксперта. На следующем тике торговый терминал снова запустит на исполнение функцию start(), и если критерий закрытия на тот момент будет ещё актуален, то это снова приведёт к вызову на исполнение функции закрытия всех ордеров Close_All().

문제:

2개의 미결 주문 BUY-1과 BUY-2가 있으며 각각 로트 3과 5가 있습니다. 거래 요청 함수 Close_All()이 있습니다. 주문 마감 주문: 먼저 BUY-2(5랏), BUY-1(3랏). 동시에, BUY-2(5랏)를 마감할 수 없음 - 극복할 수 없는 오류 - 우리가 떠남 - BUY-1 주문(3랏)이 마감되지 않음 - 손실이 증가하고 있음 - 동일한 그림이 다음 틱에 있음 (손실이 증가하고 있음) 등 저것들. 불가항력적인 이유로 마감되지 않은 목록의 첫 번째 주문을 마감할 수 없기 때문에 목록 다음의 모든 주문은 마감되지 않은 상태로 유지되며 얼마나 오랫동안 마감될지 알 수 없습니다. 이것은 허용될 수 없습니다. 그리고 분명히 이것은 프로그램 알고리즘에서 허용하지 않지만 아무리 노력해도 이것이 어떻게 일어나는지 이해할 수 없었습니다.

       //--------------------------------------------------------- 4 --
       if ( Ans = = false )                      // Не получилось :( 
         {                                  // Поинтересуемся ошибками:
         if ( Errors ( GetLastError ( ) ) = = false ) // Если ошибка непреодолимая
             return ;                        // .. то уходим.
         }
       //--------------------------------------------------------- 5 --
      Terminal ( ) ;                          // Функция учёта ордеров 
      Events ( ) ;                            // Отслеживание событий
     }
   return ;                                  // Выход из пользов. функции
   }
//--------------------------------------------------------------- 6 --

좀 더 자세히 설명해주세요.

미리 감사드립니다. Leonid에게 존경과 행운을 빕니다.

 
LeonidSB писал(а) >>

문제:

2개의 미결 주문 BUY-1과 BUY-2가 있으며 각각 로트 3과 5가 있습니다. 거래 요청 함수 Close_All()이 있습니다. 주문 마감 주문: 먼저 BUY-2(5랏), BUY-1(3랏). 동시에, BUY-2(5랏)를 마감할 수 없음 - 극복할 수 없는 오류 - 우리가 떠남 - BUY-1 주문(3랏)이 마감되지 않음 - 손실이 증가하고 있음 - 동일한 그림이 다음 틱에 있음 (손실이 증가하고 있음) 등 저것들. 불가항력적인 이유로 마감되지 않은 목록의 첫 번째 주문을 마감할 수 없기 때문에 목록 다음의 모든 주문은 마감되지 않은 상태로 유지되며 얼마나 오랫동안 마감될지 알 수 없습니다. 이것은 허용될 수 없습니다. 그리고 분명히 이것은 프로그램 알고리즘에서 허용하지 않지만 아무리 노력해도 이것이 어떻게 일어나는지 이해할 수 없었습니다.

좀 더 자세히 설명해주세요.

미리 감사드립니다. Leonid 님, 존경과 행운을 빕니다.

극복할 수 없는 오류는 극복할 수 없는 오류입니다. 예: Market_closed.

이러한 관점에서 어떤 주문을 닫거나 여는지는 중요하지 않습니다. 마켓은 아직 닫혀있습니다 :)

그러나 거래 작업을 실행하려는 경우 (전략의 관점에서) 가장 높은 우선 순위를 가진 작업이 실행됩니다.

 

안녕!

질문에 답해주세요.

추세의 변화를 가장 확실하게 반영하는 지표는 무엇입니까?

한 전략에서 다른 전략으로의 전환으로 AG_Srtategy_Channal_InsideAG_Srtategy_Channal_Outside 전략에 이러한 지표를 추가하고 싶습니다.

 
SK. писал(а) >>

........이 작업은 사용자에게 MQL4로 작성되고 .ex4 전략 파일로 형식화된 자체 거래 알고리즘을 AutoGraf 4 애플리케이션에 첨부할 수 있는 기능을 제공하는 것이었습니다. 이 문제를 해결하기 위해 AG_exp.ex4 EA에는 .ex4 및 mq4 형식으로 제공되는 AG_AT 자동 거래 기능을 EA로 가져오는 코드가 포함되어 있습니다. 또한 사용자는 자신의 코드를 정렬하는 방법을 스스로 결정할 수 있습니다. 두 가지 옵션 중 하나를 사용하는 것이 가장 편리합니다 ....

이 옵션은 고려되지 않았습니다: 오픈 소스가 있는 기본 모듈, 이제 가져오기를 통해 닫힌 코드로 호출되는 기본 모듈, 포함을 통한 거래 전략(또는 먼저 포함을 통해 및 포함으로 가져오기) ... 의미는 이것이다 - 외부 변수의 가시성을 제공하기 위한 포함 형태의 중간 링크. 신중하게 생각하면 작동해야 할 것 같습니다. 불가능하다고 바로 말하지 마세요 ;)

 
LeonidSB писал(а) >>

안녕!

질문에 답해주세요.

추세의 변화를 가장 확실하게 반영하는 지표는 무엇입니까?

한 전략에서 다른 전략으로의 전환으로 AG_Srtategy_Channal_InsideAG_Srtategy_Channal_Outside 전략에 이러한 지표를 추가하고 싶습니다.

STD, ATR, ADX와 같은 선택은 좋지 않습니다. 또 다른 시계 및 보도 자료 일정.

 

고맙습니다!

페이지에 댓글을 추가하면 자동으로 업데이트 되는 옵션이 있는지 궁금합니다.

그런 다음 주기적으로 페이지로 이동하여 수동으로 업데이트해야 합니다.

 
Integer писал(а) >>

이 옵션은 고려되지 않았습니다: 오픈 소스가 있는 기본 모듈, 이제 가져오기를 통해 닫힌 코드로 호출되는 기본 모듈, 포함을 통한 거래 전략(또는 먼저 포함을 통해 및 포함으로 가져오기) ... 의미는 이것이다 - 외부 변수의 가시성을 제공하기 위한 포함 형태의 중간 링크. 신중하게 생각하면 작동해야 할 것 같습니다. 불가능하다고 바로 말하지 마세요 ;)

이 작업을 수행하는 데 어려움이 없습니다. 그러나 오픈 소스로 상용 제품을 제공하는 것은... 알다시피, 이것은 솔루션이 아닙니다.

이 솔루션은 MT 5에서 예상됩니다. 모든 응용 프로그램은 기본 프로그램에서 호출해야 합니다. 완성된 Expert Advisor를 관리할 수 있는 능력이 필요합니다. 이 경우 맞춤형 전략은 분석 블록과 "서브루틴" 호출 블록으로 구성될 수 있습니다. 원하는 경우 - 스크립트를 호출하면 당신을 위해 fibu가 그려집니다. 원하는 경우 - 화면의 표시기를 호출하지만 원하는 경우 - 모든 것을 닫고 퇴근 후 저녁에 스스로를 핍니다. :)

그리고 API. 그러면 정말 현대적인 악기를 만들 수 있습니다.

사용자는 우리의 종소리와 휘파람 (전문가와 구별할 수 없는 모든 종류의 스크립트, 조언자)에 신경 쓰지 않습니다. 그는 편리하고 고품질의 다기능 서비스가 필요합니다. MT4에서는 DOS 모드와 제한된 기능만 수행할 수 있었습니다.

MT 5에 대한 모든 희망.

 

AG 시리즈 4- AutoGraf 4.90714의 새 버전이 출시되었습니다 .

변경 사항:
1. 최적화된 도구 관리 분석 알고리즘 14 Close_All.
2. 새로운 도구 관리 규칙이 도입되었습니다. 14 Close_All: 현재 순간에 도구를 프로그래밍 방식으로 설치할 수 있습니다. 이렇게 하려면 기기 실행 시간 설정 매개변수에 값 1을 전달해야 합니다(Instrument [0][2][32][1] = 1).

여기에서 프로그램을 다운로드할 수 있습니다: http://autograf.dp.ua/Pages/4/421.htm

사유: