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

 
ax00071 : buy2, orderclose 기능 에 대한 알 수 없는 티켓을 닫으려는 로그에 항목이 나타납니다. 나는 직장에 있기 때문에 메모리에서 코드를 첨부하고 있습니다

오. 저도 일을 하고 있기 때문에 기억을 더듬어 씁니다. 그것을 시도하고 티켓을 주문 보고서의 티켓과 비교하십시오. 테스터에서는 0, 1, 2, 3, ....

 RefreshRates (); // Это обязательно ДО OrderSelect () и лучше в таком виде: while (! RefreshRates ()) ;
for ( int i= OrdersTotal ()-1 ; i>=0; i--)
  if (! OrderSelect (i, SELECT_BY_POS )) continue;
  Ticket= OrderTicket (); 
  Lot   = OrderLots ();

  // Сообщение о попытке следует выдавать ДО ее осуществления, т.к. попытка может что-то изменить
  Alert ( "Попытка закрыть Buy Ticket= " ,Ticket, "  Lot=",Lot);  // Кажется Alert в тестере бестолкова, попробуйте Print
  Ans= OrderClose (Ticket,Lot, OrderClosePrice() ... );
}

 
novikov433 :

어드바이저를 직접 만드는 방법을 이해하는 방법을 배우고 싶습니다. 아니면 향후 시장이 바뀔 수도 있고, 예를 들어 알고리즘을 약간 변경하려면 다시 초과 지불해야 합니까? 음, 사실, TS는 고갈되지 않을 것입니다. 왜냐하면 수익성이 없는 주문이 손익분기점으로 이전되고 추세를 기다려야 하기 때문입니다.

일종의 올빼미 생성자에서 ts를 만드는 것이 정말로 가능합니까? 스스로 하는 방법에 대한 가장 기본적인 이해만 하고 지정된 장소에서 정차하거나 특정 날짜에 거래를 주문하는 것과 같은 일부 기능을 이미 추가하고 추가할 것입니다.

생성자에서도 1,2,3 등을 수행해야 하는 두뇌가 요리하지 않는 것 그리고 가장 중요한 것은 mql 4의 훈련을 수행하는 화살표로 이 순서대로 모든 것을 연결하는 것입니다. 그리고 인터넷 전투기가 왜 이런 일이 발생하는지 설명할 것이 전혀 없는 과정을 만드는 방법이 아닙니다. ... 그들은 어떤 순서가 책임이 있는지 알고 무작위로 찌르지 않았습니다. 내 임무는 다른 것에 있습니다. 필요한 필터를 다운로드하고 추세 형성의 본질을 이해하는 것입니다. 도와 주셔서 감사합니다!

직접 수행하는 방법을 배우려면 문서가 있으면 충분하며 읽은 내용을 읽고 이해할 수 있으면 됩니다. 처음에 이해하지 못했다면 뇌가 읽은 내용의 의미를 인식할 시간을 갖도록 몇 번 더, 가급적이면 천천히 읽는 것이 좋습니다.

그리고 환상의 비행.

다음 조건에서 주문을 열고 싶습니다... "거래 기능" 문서 섹션 을 열고 주문을 여는 기능을 찾은 다음 구문에 따라 다음을 작성하십시오...

아, 네... 조건을 준수해야 합니다... "연산자" 섹션을 열고 " If-else 조건문 "을 읽고 필요한 조건을 작성합니다.

이 모든 것이 밝혀지면 일반적으로 언어에 무엇이 있는지, 무엇을 얻을 수 있는지 이해하기 위해 문서를 처음부터 끝까지 읽습니다.

Торговые функции - Справочник MQL4
Торговые функции - Справочник MQL4
  • docs.mql4.com
Торговые функции - Справочник MQL4
 
그리고 나는 다시 :)
하루에 n개 이하의 주문을 열 수 있는 함수를 작성했습니다.
이제 이 기능은 보증금을 병합합니다. 즉, 매 틱마다 주문이 열립니다.

내가 또 어디서 엿먹었지?)

intOrderMax = 3; // 1일 이내에 열 수 있는 최대 주문 수입니다.
무효 OpenOrders()
{
for (int i = 1; i <= 5; i++)
{
if (DayOfWeek() == i)
{
정수 count_max = 0;
if (count_max <= OrderMax)
{
for(int cn = OrdersTotal()-1; cn>=0; cn--)
{
if(주문 선택(i, SELECT_BY_POS, MODE_TRADES) && 주문 유형() == OP_BUY)
count_max++;
}
}
}
}
}
 
여러분, 한 명의 고문의 도움으로 다른 쌍에 대한 주문을 열 수 있습니까? 예를 들어, Expert Advisor는 EURAUD 쌍 에만 있으며, 열리면 EURAUD 및 GBPUSD 쌍에 대해 거래가 열립니다. 가능성이 있다면 조건은 무엇입니까?
 
ivan-baaton :
그리고 나는 다시 :)
하루에 n개 이하의 주문을 열 수 있는 함수를 작성했습니다.
이제 이 기능은 보증금을 병합합니다. 즉, 매 틱마다 주문이 열립니다.

내가 또 어디서 엿먹었지?)

intOrderMax = 3; // 1일 이내에 열 수 있는 최대 주문 수입니다.
무효 OpenOrders()
{
for (int i = 1; i <= 5; i++)
{
if (DayOfWeek() == i)
{
정수 count_max = 0;
if (count_max <= OrderMax)
{
for(int cn = OrdersTotal()-1; cn>=0; cn--)
{
if(주문 선택(i, SELECT_BY_POS, MODE_TRADES) && 주문 유형() == OP_BUY)
count_max++;
}
}
}
}
}

제 생각에는 접근 방식이 전혀 논리적이지 않습니다. 요일을 정의하는 이유는 무엇입니까? 조건이 "오늘 xxx개 이상의 주문을 열지 않음"이어야 하는 경우 오늘이 어떤 요일인지에 따라 어떤 차이가 있습니까?

제 입장에서는 오늘 오픈한 주문을 다시 계산하여 적절한 조건을 설정하는 것이 더 논리적입니다. 조건에서 각각

                     if ( OrderSelect (i, SELECT_BY_POS , MODE_TRADES ) && OrderType () == OP_BUY )
                     count_max++; 
주문 개시 날짜에 대한 정의가 충분하지 않습니다.
 

Rustam Bikbulatov :
Ребята, можно ли с помощью одного советника открывать ордера на других парах? Например Советник только стоит на паре EURAUD и при условии открытии открывается сделка на парах EURAUD и GBPUSD. Какое должно быть условие если будет возможность?

할 수 있다.

테스터에서만 작동하지 않습니다.

 int    OrderSend (
   string    symbol,               // символ
   int       cmd,                 // торговая операция
   double    volume,               // количество лотов
   double    price,               // цена
   int       slippage,             // проскальзывание
   double    stoploss,             // stop loss
   double    takeprofit,           // take profit
   string    comment= NULL ,         // комментарий
   int       magic= 0 ,             // идентификатор
   datetime expiration= 0 ,         // срок истечения ордера
   color     arrow_color= clrNONE    // цвет
   );
 
Alexey Viktorov :
할 수 있다.

테스터에서만 작동하지 않습니다.


그리고 그것들을 나열하는 방법은 무엇입니까? 쉼표 또는 &&로 구분합니까?
 
Rustam Bikbulatov :

그리고 그것들 을 나열하는 방법은 무엇입니까? 쉼표 또는 &&로 구분합니까?

그들의 무엇? 문자를 열거합니까? 또는 무엇을?

OrderSend에는 고유한 하나의 문자가 있습니다. 쉼표도 없고...

 
Alexey Viktorov :

그들의 무엇? 문자를 열거? 또는 무엇을?

각 OrderSend에는 고유한 하나의 문자가 있습니다. 쉼표도 없고...


쌍을 열거하다
 
LRA :

오. 저도 일을 하고 있기 때문에 기억을 더듬어 씁니다. 그것을 시도하고 티켓을 주문 보고서의 티켓과 비교하십시오. 테스터에서는 0, 1, 2, 3, ....

관심을 가져 주셔서 감사합니다)) 여기 우엉입니다. . . . . . 마감때, 나는 거래 유형을 확인하기 위한 추가 조건 없이 금요일 22:00에 거래를 종료하는 조건을 가지고 있었습니다. 그리고 거래 자체는 몇 시간 전에 마감되었습니다. 음, 22시가 되었을 때, 고문은 이미 마감된 주문을 마감하기 위해 주문을 보내기 시작했습니다. . . . .