포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 1058

 
m8akca :

이 알고리즘을 프로그래밍할 수 있습니까? 머리가 3주째 끓고 있다!

안녕하세요! 알고리즘을 프로그래밍하려고하는데 작동하지만 가격을 비교할 때 판매 주문을 완전히 열지 않습니다. 도와주세요, 제 머리가 3주째 끓고 있어요! 모든 것을 작성하려고 하지 않는 즉시 코드에서 이미 죽을 해결되지 않기 때문에 코드를 버리지 않을 것입니다. 이 프로그램이 가능한지 알려주실 수 있나요? 그리고 코드를 스킨쉽게 만드는게 어렵지 않다면 정말 감사하겠습니다!!!

프로그램: 매수 주문이 열리면 매수 주문의 시작 가격을 가져와 입찰 가격과 비교하고, 구매 주문 의 시작 가격 이 입찰 가격 과 같을 때 매도 주문을 시작합니다. 구매 주문의 시작 가격입니다.

거의 모든 것을 프로그래밍할 수 있으며 이 알고리즘은 더욱 그렇습니다.

여기에 알고리즘의 한 가지 문제가 있습니다(굵게 강조 표시됨). 매우 오랜 시간(아마도 몇 년) 동안 동일하지 않을 수 있습니다. 따라서 이 경우 테스트 조건을 ==가 아니라 => 이상으로 설정해야 합니다. 동시에 주문을 연 후에는 머리가 끓는 다음 주문의 개봉을 금지해야합니다.

 
AlexeyVik :

거의 모든 것을 프로그래밍할 수 있으며 이 알고리즘은 더욱 그렇습니다.

여기에 알고리즘의 한 가지 문제가 있습니다(굵게 강조 표시됨). 매우 오랜 시간(아마도 몇 년) 동안 동일하지 않을 수 있습니다. 따라서 이 경우 테스트 조건을 ==가 아니라 => 이상으로 설정해야 합니다. 동시에 주문을 연 후에는 머리가 끓는 다음 주문의 개봉을 금지해야합니다.

문제의 사실은 정확한 비교가 필요하다는 것입니다 == 몇 년을 기다려야 하는지가 아니라, 예를 들어 댓글에 매수 주문 가격과 입찰 가격을 표시하고 이러한 변수가 일부에서 일치한다면 이유는 무엇입니까? 점, 그러나 비교 조건 ==이 충족되지 않습니다. 코드: 이 알고리즘을 프로그래밍할 수 있습니까? 머리가 3주째 끓고 있다!
 

아카이브를 다루었습니다. 알려주세요:

1. 하나의 차트에서 여러 Expert Advisors를 활성화할 수 있습니까?

2. 고문 + 스크립트 중 하나?

3. Expert Advisor가 사용하는 TF를 정확히 인스트루먼트 차트에 올려야 합니까? 그렇다면 어떻게 될까요?

4. Expert Advisor가 사용하는 지표를 도구 창에 넣어야 합니까? 그렇다면 어떻게 될까요?

5. EA가 다중 통화를 사용하는 경우 이러한 통화 쌍으로 모든 창을 열어야 합니까?

 
m8akca :
문제의 사실은 정확한 비교가 필요하다는 것입니다 == 몇 년을 기다려야 하는지가 아니라, 예를 들어 댓글에 매수 주문 가격과 입찰 가격을 표시하고 이러한 변수가 일부에서 일치한다면 이유는 무엇입니까? 점, 그러나 비교 조건 ==이 충족되지 않습니다. 코드: 이 알고리즘을 프로그래밍할 수 있습니까? 머리가 3주째 끓고 있다!
가격은 더 많거나 더 적을 수 있고 이것은 더 이상 동일하지 않기 때문입니다.
 

연속으로 마지막 손실 거래의 시리즈에서 금액을 계산하는 기능을 알려주세요. TakeProfit 작업은 카운터를 재설정합니다.

 

안녕하세요 여러분, 친애하는! 네트워크에 있거나 누군가 시간이 있는 경우 다음 매개변수에 따라 조언자를 작성 하십시오. 1) 구매(판매)의 방향과 이 구매(판매)의 가격을 표시합니다. 2) 정지의 크기를 지정합니다. 3) 예를 들어, 로트 크기의 일부가 마감되어야 하는 세 가지 가격 수준을 더 설정합니다. 예를 들어, 1$의 가격으로 매도 주문을 하고, 어드바이저의 매개변수에서 레벨 1.2에서 얼마나 많은 %(또는 얼마나 많은 거래량)를 마감할지, 수준 1.3에서 얼마만큼(또는 얼마나 많은 거래량)을 마감할지 지정합니다. 나머지는 레벨 1.4입니다.

 
ara66676 :
5분마다 마감되기 10초 전에 시간을 결정하는 것이 중요했습니다. 분석에는 28개의 통화 쌍이 있으므로 이 막대는 일부 쌍에 대한 것이고 내 틱의 수는 경우는 중요하지 않습니다.

그러면 다음과 같이 더 쉽습니다.

날짜/시간 TSec; // 마지막 5분의 시작부터 현재 시간(초)

TSec = TimeCurrentl () % 300; // 나눗셈의 나머지. 290 = 5분 - 10초와 비교할 수 있습니다.

회사 서버와의 연결이 끊긴 경우 마지막으로 알려진 TimeCurrent 시간은 변경되지 않으며 실시간보다 뒤쳐집니다. 예를 들어 컴퓨터 시간 을 운영 체제의 천문 도구와 자동으로 동기화할 때(1-2초의 오류) 또는 기타와 같이 단말기가 있는 컴퓨터의 시스템 타이머 과정에 확신이 있으면 다음을 수행하는 것이 좋습니다. 마지막으로 알려진 서버 시간(따옴표가 마지막으로 도착한 시간)이 아니라 시간 컴퓨터 자체 datetime TimeLocal ()을 사용합니다. 또한 1970.01.01 0:00:00 초 단위로 계산되며 5분 10초 측정에 적합하며 컴퓨터와 서버의 시간대 차이는 중요하지 않습니다. 그 다음에

TSec = 시간로컬 () % 300;

 
Vlad143 :

그러면 다음과 같이 더 쉽습니다.

날짜/시간 TSec; // 마지막 5분의 시작부터 현재 시간(초)

TSec = TimeCurrentl () % 300; // 나눗셈의 나머지. 290 = 5분 - 10초와 비교할 수 있습니다.

회사 서버와의 연결이 끊긴 경우 마지막으로 알려진 TimeCurrent 시간은 변경되지 않으며 실시간보다 뒤쳐집니다. 예를 들어 컴퓨터 시간을 운영 체제의 천문 도구와 자동으로 동기화할 때(1-2초의 오차) 또는 기타와 같이 단말기가 있는 컴퓨터의 시스템 타이머 과정에 확신이 있으면 다음을 수행하는 것이 좋습니다. 마지막으로 알려진 서버 시간(따옴표가 마지막으로 도착한 시간)이 아니라 시간 컴퓨터 자체 datetime TimeLocal ()을 사용합니다. 또한 1970.01.01 0:00:00 초 단위로 계산되며 5분 10초 측정에 적합하며 컴퓨터와 서버의 시간대 차이는 중요하지 않습니다. 그 다음에

TSec = TimeLocal () % 300;

감사합니다. 그것도 도움이 됩니다.
 
수익이 나지 않는 포지션 합산을 중단하는 방법을 알려주세요.
    Подскажите, пожалуйста, как прервать суммирование убыточных позиций при срабатывании Тейкпрофита. После заново считать.
    
    Использую функцию Кimа 
    
     double GetProfitFromDateInCurrency( string sy= "" , int op=- 1 , int mn=- 1 ,   datetime dt= 0 )
{
  p= 0 ;
   int     i, k=OrdersHistoryTotal();

   if (sy== "0" ) sy= Symbol ();
   for (i= 0 ; i<k; i++) {
     if ( OrderSelect (i, SELECT_BY_POS, MODE_HISTORY)) {
       if ((OrderSymbol()==sy || sy== "" ) && (op< 0 || OrderType()==op)) {
         if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
           if (mn< 0 || OrderMagicNumber()==mn) {
             if (dt<OrderCloseTime()) {
             
             if (OrderProfit()< 0 ){
              p+=OrderProfit();
            }
          }
        }
      }
    }
  }
 }
  
   return (p);
 
Neron_plus34 :
수익이 나지 않는 포지션 합산을 중단하는 방법을 알려주세요.
 if (dt<OrderCloseTime()) {
   if (OrderProfit()< 0 ) p+=OrderProfit(); 
   else break ;
   }