[ARCHIVE!] 포럼을 어지럽히 지 않도록 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 4. - 페이지 80

 
tommy27 :
감사합니다, 나는 Close를 통해 그리고 당신이 조언한 대로 둘 다 했습니다:
그러나 결과는 새 막대가 나타날 때만 업데이트되지만 각 눈금에 대한 변경 사항을 보고 수정하고 싶습니다.

어드바이저가 반복되지 않으면 결과는 각 틱 에서 변경됩니다.
 

감사합니다. 모든 것이 별도로 작동합니다.

 //+------------------------------------------------------------------+
//|                                                        Delta.mq4 |
//|                                                          tommy27 |
//|                                                  tommy27@mail.ru |
//+------------------------------------------------------------------+
#property copyright "tommy27"
#property link       "tommy27@mail.ru"

double 
       StartPrice1,
       Delta1,
       Price00;


//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
   
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----
   Price00 = 5000 ;
StartPrice1 =   iClose ( 0 , 0 , 0 );
//StartPrice1 = Close[0];
Delta1 = MathAbs (Price00 - StartPrice1);
//if (Delta1>1000) Delta1=0;
Comment (Delta1);
Print ( "Raznica= " ,Delta1);
//----
   return ( 0 );
  }
//+------------------------------------------------------------------+

하지만 메인 코드에서는 바가 닫힐 때만 고려하고, 내가 알아낼 것이다.

 
PapaYozh :

어드바이저가 반복되지 않으면 결과는 각 틱에서 변경됩니다.
고맙습니다.
 
OrderSelect ()에는 두 가지 옵션이 있습니다.
MODE_TRADES - 주문이 미결 주문과 보류 주문 중에서 선택됩니다.
MODE_HISTORY - 마감된 주문과 삭제된 주문 중에서 선택합니다.

- MODE_TRADES는 OrdersTotal() 에서만 사용되고 MODE_HISTORY는 OrdersHistoryTotal() 에서만 사용된다는 것을 정확히 이해하고 있습니까?
그렇다면 왜 필요합니까?
고맙습니다!
 
chief2000 :
OrderSelect ()에는 두 가지 옵션이 있습니다.
MODE_TRADES - 주문이 미결 주문과 보류 주문 중에서 선택됩니다.
MODE_HISTORY - 마감된 주문과 삭제된 주문 중에서 선택합니다.

- MODE_TRADES는 OrdersTotal() 에서만 사용되고 MODE_HISTORY는 OrdersHistoryTotal() 에서만 사용된다는 것을 정확히 이해하고 있습니까?
그렇다면 왜 필요합니까?
고맙습니다!


당신은 오른쪽을 이해합니다.

두 번째 질문은 명확하지 않습니다. 위치별로 주문을 선택하면 총 주문 수 를 알아야 합니다.

 
PapaYozh :


당신은 바로 이해합니다.

두 번째 질문은 명확하지 않습니다. 위치별로 주문을 선택하면 총 주문 수를 알아야 합니다.

이 두 매개변수(MODE_TRADES 및 MODE_HISTORY)는 모두 SELECT_BY_PO의 경우에만 사용되지만 완전히 제거될 수 있습니다(MT4의 기본 매개변수 사용 - 각각 OrdersTotal () 및 OrdersHistoryTotal()에 대해).
이것은 중요하지 않습니다. 저에게 가장 중요한 것은 첫 번째 질문에 대한 답변이었습니다.
고맙습니다!
 

또한 지난 10분 동안 가격이 20포인트 이상 상승한 경우 매수를 엽니다. 지난 10분 동안 가격이 20포인트 이상 하락한 경우 매도를 엽니다.

그리고 어렵지 않다면 한 가지 더 작업: 현재 가격 이 이전 막대의 고가보다 약간 높으면 매수를 열고, 현재 가격이 이전 막대의 저가보다 약간 낮으면 매도를 엽니다.

추신 매매 오픈 코드는 이미 부엉이에 있어서 따로 설명이 필요없을 텐데... 위에서 설명한 오프닝 조건을 어떻게 하면 제대로 쓸지 더 관심이 갑니다...

 
oDin48 :

또한 지난 10분 동안 가격이 20포인트 이상 상승한 경우 매수를 엽니다. 지난 10분 동안 가격이 20포인트 이상 하락한 경우 매도를 엽니다.

레벨을 넘은 순간이나 10분 후에 정확히 열립니까?)))


그리고 어렵지 않다면 한 가지 더 작업: 현재 가격이 이전 막대의 고가보다 약간 높으면 매수를 열고, 현재 가격이 이전 막대의 저가보다 약간 낮으면 매도를 엽니다.

 extern int level = 10; //в пунктах

....
int start ()
{
...

   RefreshRates ();

   if (Bid>High[ 1 ]+level*Point)
   {
      //BUY
   }

   if (Bid<Low[ 1 ]-level*Point)
   {
      //SELL
   }
...
}
 

alsu 정확히 교차로에서 시간을 확인하고 시간 범위에 해당하면 거래하십시오.

고맙습니다. 이제 시도하겠습니다.

 
oDin48 :

alsu 정확히 교차로에서 시간을 확인하고 시간 범위에 해당하면 거래하십시오.

이 버전에서는 이론적으로 지난 10분 동안의 틱 기록 을 기억해야 합니다... 코드는 간단하지 않습니다.

사유: