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

 
Integer писал(а) >>
무슨 스크립트?

찾았습니다. 여기에서 모든 사람들은 아마도 "화살 아래에 서 있지 마십시오"라는 원칙에 따라 행동 할 것입니다. 저자의 자신감은 단순히 거기에 갈 곳을 날려 버립니다.

 
ForexTools >> :
AG의 토론과 관련이 없는 모든 게시물을 삭제했습니다. 나는 나머지 "무료 플러더"도 똑같이 할 것을 촉구합니다. 다른 사람들의 작업을 존중합시다. (중재자)가 청소하는 곳이 아니라 (사용자)가 쓰레기를 버리지 않는 곳;)

제 "이니셔티브"를 이해하고 지원해 주신 sabluk 에 감사드립니다. 어쩌면 다른 사람들이 우리의 리드를 따를 것입니까?

 

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

변경 사항:
1. 틱 소리를 끄는 설정을 추가했습니다.
2. 17번과 20번 종목 관리 오류가 수정되었습니다. (AG 또는 AT 비활성화 모드에서 시세가 해당 종목의 실행 가격에 도달했을 때 종목이 삭제되지 않았으며, 이제는 자동으로 삭제됩니다.)
http://autograf.dp.ua/Pages/4/421.htm 에서 새 버전을 다운로드할 수 있습니다.

 

AutoGraf 4는 혁신을 충분히 견뎠습니다. 5번째 마크입니다. ( http://forum.alpari-idc.ru/thread44876.html )


그것은 단지 그것이 한 방식으로 작동합니다. 변경이 필요하지 않습니다(올바르게 작성되었기 때문입니다. 프로그램은 숫자로 지정된 변경 가능한 값을 사용하지 않습니다. 모든 것이 서버에서 변경될 때 업데이트되는 변수, 특히 Point, Digits, StopLevel 등)를 기반으로 구축됩니다. .)

Expert Advisor의 설정을 변경해야 하는 자연스러운 변경은 가격 매개변수의 사전 설정 값과 관련이 있습니다. 예를 들어, SL(StopLoss in points) = 25였으므로 이제 사용자의 재량에 따라 250 또는 임의의 값을 설정해야 하지만 100 이상(즉, 최소 StopLevel 거리의 현재 값보다 작지 않음)을 설정해야 합니다. 다른 매개변수와 동일하게 수행하십시오.

매개변수를 설정한 후(전문가 설정 창에서) 설정을 같은 위치에 저장하는 것이 좋습니다. 또한 새 템플릿을 만드는 것이 좋습니다. 버튼 템플릿 - 다른 이름으로 저장.

===

한때 영화 제작자들은 오래된 집을 폭파하는 방법을 촬영했습니다.
폭탄을 깔았다..뱅뱅!. 집이 서 있습니다. 더 넣어. 뱅뱅! 1층이 무너졌습니다. 상부(4층) 전체가 무너지지 않고 집이 1층으로 가라앉았다. 결국 5번째 시도에서 폭발에 성공했다.

건설사는 이 촬영물을 괜찮은 돈으로 사서 필름을 보여주면서 작품의 질을 알리기 시작했어요 :)

 

에게!

질문에 답해주세요.

애플리케이션은 AT 기능이 자체적으로 거래하지 않고 명령(예: 터미널 액세스)을 제공하고 있음을 어떻게 구별합니까?

Исполнение функции АТ связано с двумя основными возможностями.

첫 번째는 AT 기능이 독립적으로 거래할 수 있다는 것입니다. 거래 주문을 생성하고 서버로 보낼 수 있습니다. 이 경우 함수는 애플리케이션에서 수신한 데이터를 처리하지 않을 수 있지만(또는 이 데이터의 일부를 처리할 수 있음) MQL 4 언어의 모든 기능을 사용하여 자체 계산을 수행할 수 있습니다. 터미널에 액세스하여 주문 처리, 현재 견적 받기, 거래 기준 계산, 그래픽 개체 관리 등

두 번째 가능성은 AutoGraf 4 응용 프로그램과 직접 관련이 있습니다.AT 기능은 AutoGraf 4 응용 프로그램이 특정 주문이나 가격 차트에 지정된 설정으로 필요한 기기를 설치하도록 지시하고, 일반 응용 프로그램 설정을 변경하고, 기기를 삭제하고, 다음으로 메시지를 표시하도록 지시할 수 있습니다. 사용자 등(출력 매개변수).

 

에게!

질문에 답해주세요.

"예시 2. 시장가 주문 개시 및 청산"의 Custom AutoTrade 기능의 예에서. 시장가 주문이 열렸고, 제 생각에는 보류 중인 주문이 마감되었습니다.

 //жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
// AG_AT.mq4                                             Пример 0 (инструментов нет)
// Пользовательская функция Автоматической Торговли.
// Используется при построении функции автоматической торговли для приложения AutoGraf 4
// Сергей Ковалёв, Днепропетровск, sk@autograf.dp.ua, ICQ 64015987, http://autograf.dp.ua
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж 0 жж
#property library   
 
#import "AG_Lib.ex4"
   int AG_Magic_Number ( ) ;                            // Вычисление MN 
   int AG_Message ( string & Message [ ] , string _Text ) ; // Запись сообщений в массив Message[]
#import "AG_Trade_Criterion.ex4"
   int AG_Trade_Criterion_1 ( ) ;                      // Ф-ия определен. торгов. критериев 1
   int AG_Trade_Criterion_2 ( ) ;                      // Ф-ия определен. торгов. критериев 2
#import
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж 1 жж
.......
//================================================================================== 7 ==
/*
                                       // Cнять блок комментариев с Примера 2
                                       // и закомментировать Пример 1
                                       // Пример 2. Открытие и закрытие рыночных ордеров.
   int Crit = AG_Trade_Criterion_2();  // Вызов функции вычисления торговых критериев
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
   if (OrdersTotal()==0)               // Если нет ордеров, то интересуемся ..
      {                                // .. критериями открытия
      switch(Crit)                     // В этом блоке рассматриваются критерии открытия
         { 
         case 10:                      // Торговый критерий = Открыть_Buy
            MN = AG_Magic_Number();    // Вычисление MagicNumber (рекомендуется)
                                       // Открытие ордера Buy:
            OrderSend(Symbol(),OP_BUY, 0.1,Ask,2,Bid-100*Point,Bid+40*Point,Comm,MN); 
            break;
         case 20:                      // Торговый критерий = Открыть_Sell
            MN = AG_Magic_Number();    // Вычисление MagicNumber (рекомендуется)
                                       // Открытие ордера Sell:
            OrderSend(Symbol(),OP_SELL,0.1,Bid,2,Ask+100*Point,Ask-40*Point,Comm,MN);
         }
      }
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
   if (OrdersTotal()==1)               // По стратегии возможен только 1 рыночный ордер
      {
      switch(Crit)                     // В этом блоке рассматриваются критерии закрытия
         {
         case 11:                      // Торговый критерий = Закрыть_Buy
            if (NormalizeDouble(Order[1][6],0) == 0.0)            // Если тип ордера Buy
               {                                      
               int _Ord_Ticket = NormalizeDouble(Order[1][4],0);  // Номер ордера
               double _Ord_Lots = NormalizeDouble(Order[1][5],2); // Полное закрытие
               OrderClose(_Ord_Ticket, _Ord_Lots, Bid, 2);        // Закрыть ордер Buy
               }
            break;
         case 21:                      // Торговый критерий = Закрыть_Sell
            if (NormalizeDouble(Order[1][6],0) == 1.0)      // Если тип ордера Sell
               {
               _Ord_Ticket = NormalizeDouble(Order[1][4],0);// Номер ордера
               _Ord_Lots = NormalizeDouble(Order[1][5],2);  // Будем закр.ордер полностью
               OrderClose(_Ord_Ticket, _Ord_Lots, Ask, 2);  // Закрыть ордер Sell
               }
         }
      }
*/
//================================================================================== 8 ==
   return ( 1 ) ;
   }
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж Конец модуля жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж 10 жж
 if (NormalizeDouble(Order[1][6],0) == 0.0)            // Если тип ордера Buy
и
if (NormalizeDouble(Order[1][6],0) == 1.0)            // Если тип ордера Sell 

아니면 내가 뭔가를 이해하지 못합니까?

Общее количество ордеров в приложении AutoGraf 4 не должно превышать 30. Нумерация ордеров в приложении AutoGraf 4 начинается с 1. Нулевой индекс в первом измерении массива Order[][] для учёта параметров ордеров не используется. Поэтому массив Order[][] в первом измерении имеет размерность 31. Каждая строка в массиве соответствует одному ордеру и содержит значения следующих параметров ордеров:

[0][0] - 총 주문 수

[][0] - 사용되지 않음

[][1] - OpenPrice - 주문 개시(설정) 가격(절대 가격 값);

[][2] - 주문의 StopLos(절대 가격 값);

[][3] - TakeProfit 주문(절대 가격 값)

[][4] - NumberOrders 주문 번호;

[][5] - 주문 로트 수;

[][6] - 주문 유형(0=B, 1=S, 2=BL, 3=SL, 4=BS, 5=SS, 거래 작업 );

[][7] - MagicNumber - 주문의 매직 번호입니다.

[][8] - 0/1 댓글이 있다는 사실;

[][9] - P rOld 초기 주문 개시 가격(절대 가격 값).


핸드북에서:

OrderSend() 함수의 작업 유형입니다. 다음 값 중 하나일 수 있습니다.

끊임없는 의미 설명
OP_BUY 0 구입
OP_SELL 하나 판매
OP_BUYLIMIT 2 BUY LIMIT 대기 중인 주문
OP_SELLLIMIT 보류 중인 주문 SELL LIMIT
OP_BUYSTOP 4 보류 중인 주문 BUY STOP
OP_SELLSTOP 5 보류 중인 주문 SELL STOP

즉, 제 생각에는 다음과 같아야 합니다.

 if (NormalizeDouble(Order[1][0],0) == 0.0)            // Если тип ордера Buy
и
if (NormalizeDouble(Order[1][1],0) == 1.0)            // Если тип ордера Sell 
 

에게!

질문에 답해주세요.

Expert Advisor 속성에서 내 전략 "L_1"의 이름이 기억되지 않는 이유는 무엇입니까?


AG_exp를 설정할 때. 적어놨는데 줄에 표시되는데 속성에 기억이 안나나요?

 

에게!

질문에 답해주세요.

응용 프로그램이 종료되거나 제거된 후 응용 프로그램에서 지원하지 않는 그래픽 개체 를 제거하는 방법입니다. 예를 들어 OBJ_ARROW?

 
LeonidSB писал(а) >>

즉, 제 생각에는 다음과 같아야 합니다.

 if (NormalizeDouble(Order[1][0],0) == 0.0)            // Если тип ордера Buy
и
if (NormalizeDouble(Order[1][1],0) == 1.0)            // Если тип ордера Sell 

아니오, 옳지 않습니다 . http://autograf.dp.ua/Pages/2/26/267/2674.htm 페이지의 테이블(주문 세트의 예)을 다시 살펴보십시오.

이 페이지는 또한 배열에 포함된 매개변수에 대한 배열 인덱스의 대응에 대해 설명합니다. Order[][] 배열의 두 번째 차원에 있는 인덱스에 대해 이야기하고 있습니다.

[0][0] - 총 주문 수

[][0] - 사용되지 않음

[][1] - OpenPrice - 주문 개시(설정) 가격(절대 가격 값);

[][2] - 주문의 StopLos(절대 가격 값);

[][3] - TakeProfit 주문(절대 가격 값)

[][4] - NumberOrders 주문 번호;

[][5] - 주문 로트 수;

[][ 6 ] - 주문 유형(0=B, 1=S, 2=BL, 3=SL, 4=BS, 5=SS, 거래 작업 );

[][7] - MagicNumber - 주문의 매직 번호입니다.

[][8] - 0/1 댓글이 있다는 사실;

[][9] - P rOld 초기 주문 개시 가격(절대 가격 값).

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

"Order Type" 매개변수는 Order[][] 배열의 두 번째 차원에 있는 6번째 인덱스에 해당합니다.

 if (NormalizeDouble(Order[1][ 6 ],0) == 0 .0)            // Если тип ордера Buy
и
if (NormalizeDouble(Order[1][ 6 ],0) == 1 .0)            // Если тип ордера Sell 
 
LeonidSB писал(а) >>

에게!

질문에 답해주세요.

Expert Advisor 속성에서 내 전략 "L_1"의 이름이 기억되지 않는 이유는 무엇입니까?

AG_exp를 설정할 때. 적어놨는데 줄에 표시되는데 속성에 기억이 안나나요?

모든 것을 올바르게 수행했다면 기억해야합니다.

이 경우 창에서 Expert Advisor를 언로드할 때까지 기억됩니다.

다음에 다시 모든 것을 입력하지 않으려면 다음 두 가지 중 하나를 수행할 수 있습니다.

1. 구성된 Expert Advisor를 템플릿에 저장합니다. 새 템플릿에서 새로 다운로드합니다.

2. 전문가의 설정을 저장하고(설정 창의 저장 버튼), 이후에 전문가를 로드하는 동안 설정을 로드합니다(설정 창의 로드 버튼).

여기에서 전략을 첨부하는 순서를 참조하십시오. http://autograf.dp.ua/Pages/2/26/267/26711/26711_2.htm

LeonidSB 작성 >>

에게!

질문에 답해주세요.

응용 프로그램이 종료되거나 제거된 후 응용 프로그램에서 지원하지 않는 그래픽 개체 를 제거하는 방법입니다. 예를 들어 OBJ_ARROW?

개체를 선택하고 삭제합니다(삭제 버튼 누름).
프로그래밍 방식인 경우 ObjectDelete() 또는 ObjectsDeleteAll() 함수를 사용할 수 있습니다.

사유: