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

 
ilnur17021992 :

변수가 있다

정수 수준 = 0;

프로그램이 진행되는 동안 지속적으로 변경됩니다. 조건 작성을 도와주세요. 레벨이 변경되지 않은 경우 아무 것도 하지 않고, 레벨이 변경된 경우(위나 아래로 상관 없음) 특정 작업을 수행합니다. { operator }

다른 변수를 입력

정수 레벨1 = 0;

정수 수준 = 0;

if (레벨 !=레벨1)

{};

그런 다음 레벨1 = 레벨

그래서 나는 거래 작업 후에 할 수 있다면 왜 각 틱에서 어레이를 당기는지 이해하지 못합니다.

 
trader781 :

다른 변수를 입력

정수 레벨1 = 0;

정수 수준 = 0;

if (레벨 !=레벨1)

{};

그런 다음 레벨1 = 레벨

그래서 나는 거래 작업 후에 할 수 있다면 왜 각 틱에서 어레이를 당기는지 이해하지 못합니다.

       if (SELL_Lvl> 0 )
      {
         ObjectCreate ( "Sell no loss level" , OBJ_HLINE , 0 , 0 , SELL_NoLossLevel);
      }          

그러면 SELL_Lvl이 증가할 때 어떤 일이 일어날지 필요합니다.

         ObjectDelete ( "Sell no loss level" );

그러나 SELL_Lvl>0 조건이 충족되었으므로 선을 다시 그려야 하지만 새 SELL_NoLossLevel 값을 사용합니다. SELL_Lvl 값에 따라 선을 다시 그리는 더 쉽고 확실한 방법이 있습니까?

 
ilnur17021992 :
       if (SELL_Lvl> 0 )
      {
         ObjectCreate ( "Sell no loss level" , OBJ_HLINE , 0 , 0 , SELL_NoLossLevel);
      }          

그러면 SELL_Lvl이 증가할 때 어떤 일이 일어날지 필요합니다.

         ObjectDelete ( "Sell no loss level" );

그러나 SELL_Lvl>0 조건이 충족되었으므로 선을 다시 그려야 하지만 새 SELL_NoLossLevel 값에 따라야 합니다. SELL_Lvl 값에 따라 선을 다시 그리는 더 쉽고 확실한 방법이 있습니까?

객체를 삭제하거나 다시 생성하지 않고 새 값으로 전송합니다.

ObjectSetDouble (chart_ID, " Sell no loss level ", OBJPROP_PRICE1 , NewPrice);
 
Vitaly Muzichenko :

객체를 삭제하거나 다시 생성하지 않고 새 값으로 전송합니다.

ObjectSetDouble (chart_ID, " Sell no loss level ", OBJPROP_PRICE1 , NewPrice);

물론 이것은 옵션이지만 SELL_Lvl 이 변경 되었는지 여부에 따라 SELL_NoLossLevel 값에 따라 선을 다시 그려보고 싶습니다.

이와 같이 if(ObjectGet(" 손실 없는 수준 판매 ", 1) != SELL_NoLossLevel { ObjectDelete ( "손실 없는 수준 판매" ); }

선은 틱마다 다시 그려 지지만 SELL_Lvl 이 변경된 경우에만 다시 그려야 합니다.

 
ilnur17021992 :

이것은 물론 옵션이지만 SELL_Lvl 이 변경 되었는지 여부에 따라 SELL_NoLossLevel 값에 따라 선이 다시 그려지기를 바랍니다.

이와 같이 if(ObjectGet(" 손실 없는 수준 판매 ", 1) != SELL_NoLossLevel { ObjectDelete ( "손실 없는 수준 판매" ); }

선은 틱마다 다시 그려 지지만 SELL_Lvl 이 변경된 경우에만 다시 그려야 합니다.

선을 다시 그리는 조건을 실제 가격 값으로 명확하게 기록하면 수행해야 할 작업을 스스로 이해할 수 있습니다.

강조 표시에 따르면: 얼마나 변경되었습니까? SELL_Lvl이 변경되었다는 사실을 나타내는 것은 무엇입니까?

 
사람들은 mkl5에서 보류 중인 주문 을 마감하는 기능을 알려줍니다.
 
TYRBO :
사람들은 mkl5에서 보류 중인 주문 을 마감하는 기능을 알려줍니다.

주기로 정렬하고 원하는 것을 결정하고 문서 에 따라 결정하는 것이 좋습니다.

대기 주문 삭제

보류 중인 주문을 삭제하기 위한 거래 요청입니다. 2개의 필드가 필요합니다.

  • 행동
  • 주문하다
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура торгового запроса - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Alexey Viktorov :

주기로 정렬하고 원하는 것을 결정하고 문서 에 따라 결정하는 것이 좋습니다.

닫으려면 낮은 주문 티켓이 필요합니다 낮은 주문 가격을 찾는 방법 알고 있습니다 낮은 주문 티켓을 찾는 방법을 알려 주시면 감사하겠습니다
 
Alexey Viktorov :

선을 다시 그리는 조건을 실제 가격 값으로 명확하게 기록하면 수행해야 할 작업을 스스로 이해할 수 있습니다.

강조 표시에 따르면: 얼마나 변경되었습니까? SELL_Lvl이 변경되었다는 사실을 나타내는 것은 무엇입니까?

SELL_Lvl은 그리드의 매도 무릎(주문) 수이고 SELL_NoLossLevel 은 이러한 주문의 BU의 총 수준(가격)입니다. 일반적으로 아이디어는 다음과 같습니다. BU 수준에서 선을 그려야 하므로 새 무릎이 열릴 때 다시 그려야 합니다. 이것을 구현하는 방법 나는 따라 잡지 않습니다.
 
TYRBO :
닫으려면 낮은 주문 티켓이 필요합니다 낮은 주문 가격을 찾는 방법 알고 있습니다 낮은 주문 티켓을 찾는 방법을 알려 주시면 감사하겠습니다

문서에 예가 있습니다.

여기에서 다음 주문이 이전 주문보다 낮으면 즉시 주기의 주문을 정렬하는 것이 더 나을 것입니다. 추가 작업을 위해 선택합니다. 따라서 주기를 종료한 후 삭제 순서가 이미 선택되어 있습니다.

또는 루프에서 먼저 주문 목록의 위치를 기억하고 루프를 종료한 후 기억된 인덱스로 선택합니다.

Документация по MQL5: Торговые функции / OrderGetTicket
Документация по MQL5: Торговые функции / OrderGetTicket
  • www.mql5.com
Торговые функции / OrderGetTicket - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5