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

 
내 거래 시스템은 과거 데이터 분석을 기반으로 합니다. EA로 직접 신호를 계산하는 함수를 만들었습니다. 그러나 내가 알기로는 테스트할 때 EA 는 시각적 창에 있는 데이터만 사용합니다(그리고 아카이브에서 친구가 된 이력이 있는 일반 창보다 막대가 훨씬 적음). 그리고 신호를 계산하려면 적어도 수만 개의 과거 막대가 필요합니다. 이 문제를 해결할 수 있는 방법이 있습니까? 테스트 중인 EA가 더 짧은 기간을 테스트하는 경우에도 전체 로드 내역을 계산에 사용할 수 있도록 하시겠습니까? MT4 등을 사용합니다. MQL4
 
sannin :

괜찮으시다면 도와주세요

고문에게 지표로 거래하도록 가르치십시오.

BS_리빙나우 ver #1.mq4 https://www.mql5.com/ru/code/11014#50910

UP= iCustom(Symbol(),NULL," 지금 ",BQuant,0,0);

DOW= iCustom(Symbol(),NULL," 지금 ",BQuant,1,0);


if(DOW){OrderSend(Symbol(), OP_SELL, Lot, Bid, Slip, 0, 0, "Forex-Robots.ru SELL", Magic, 0,Red);}


if(UP ){OrderSend(Symbol(), OP_BUY, Lot, Ask, Slip, 0, 0, "Forex-Robots.ru BUY", Magic, 0,Blue);}


논평

(

"\n 이익: ", UP,

"\n 이익: ", DOW

);

댓글을 통해 값을 구하려고 했지만 항상 고정되어 있습니다. 이 표시기에 데이터가 어떻게 표시되는지 알려주세요

지표 이름은 "BS_Living Now ver #1"이어야 합니다.
 

예, 폴더에 Now 라는 표시기가 있습니다.

나는 테스터와 라이브 모두에서 숫자가 어떻게 변하고 정적인지보기 위해 댓글을 통해 UP의 값을 추론했으며 전혀 0이 아닙니다.

 
sannin :

예, 폴더에 Now 라는 표시기가 있습니다.

나는 테스터와 라이브 모두에서 숫자가 어떻게 변하고 정적인지보기 위해 댓글을 통해 UP의 값을 추론했으며 전혀 0이 아닙니다.


원칙적으로 프랙탈과 유사하다면 역사에서 더 많은 의미를 찾는 것이 합리적이지만 0 막대가 아닙니다.

ZY: 그것은, 1번 막대부터 계산을 시작합니다. 0에서 무언가를 찾는 것은 의미가 없습니다...

 

시장 가격과 가장 먼 주문의 가격 사이의 거리가 예를 들어 1000 포인트를 초과하는 경우 고문에게 모든 주문을 절대적으로 청산하는 기능을 추가하는 방법을 누가 알려줄 수 있습니까?

 
evillive :

원칙적으로 프랙탈과 유사하다면 역사에서 더 많은 의미를 찾는 것이 합리적이지만 0 막대가 아닙니다.

ZY: 그것은, 1번 막대부터 계산을 시작합니다. 0에서 무언가를 찾는 것은 의미가 없습니다...

코드별 2번 막대에서 Extrim_Detect(s+1);
 
AlexeyVik :

그리고 그에 따라 조건

고마워 알렉세이. 당신이 추천 한대로 모든 것을했습니다.

 extern int     Min_iMA_OpenDistance   = 60 ;
extern int     Max_iMA_OpenDistance   = 85 ; 

변경된 입장 조건

 int GetSignal()
{
   int Signal = 0 ;

   double iMA_Signal = iMA ( Symbol (), 0 , iMA_Period, 0 , MODE_SMMA , PRICE_CLOSE , 0 );
  
   int Ma_Bid_Diff = MathAbs (iMA_Signal - Bid )/vPoint;
  
   if (Ma_Bid_Diff > Min_iMA_OpenDistance && Ma_Bid_Diff < Max_iMA_OpenDistance && Bid > iMA_Signal) Signal = - 1 ;
   if (Ma_Bid_Diff > Min_iMA_OpenDistance && Ma_Bid_Diff < Max_iMA_OpenDistance && Bid < iMA_Signal) Signal = 1 ;
  
   return (Signal);
}

그러나 변경한 후 컴파일러는 다음 줄에서 "맹세"합니다.

iMA_OpenDistance  *= DcD; 

iMA_OpenDistance' - 선언되지 않은 식별자 - 선언되지 않은 식별자입니다. 나는 튜토리얼과 식별자에 대한 도움말을 공부했지만 아무 일도 일어나지 않습니다. 어디를 밟았는지, 어떻게 고칠 수 있는지 알려주세요.

 
tatianati :

고마워 알렉세이. 당신이 추천 한대로 모든 것을했습니다.

변경된 입장 조건

그러나 변경한 후 컴파일러는 다음 줄에서 "맹세"합니다.

iMA_OpenDistance' - 선언되지 않은 식별자 - 선언되지 않은 식별자입니다. 나는 튜토리얼과 식별자에 대한 도움말을 공부했지만 아무 일도 일어나지 않습니다. 어디를 밟았는지, 어떻게 고칠 수 있는지 알려주세요.

텔레파시를 사용해야 할 것 같습니다.

처음에는 iMA_OpenDistance만 하다가 Min_iMA_OpenDistance와 Max_iMA_OpenDistance 2개의 변수로 나누어져 iMA_OpenDistance 변수가 선언되지 않은 상태로 유지되었습니다.

외부 변수가 값을 변경할 필요는 없습니다. 추가로 선언하고 원하는 대로 하는 것이 좋습니다.

내가 알기로는 vPoint 변수는 Point*10입니다. 따라서 Ma_Bid_Diff는 4자리 포인트에서 Bid에서 MA까지의 거리입니다. DCD 란 무엇입니까? 내 텔레파시 능력이 부족합니다. 그러나 그럼에도 불구하고 iMA_OpenDistance *= DcD; 중복됩니다. 아니면 5자리 포인트로의 번역인가요? 무엇 때문에?

 
AlexeyVik :

텔레파시를 사용해야 할 것 같습니다.

처음에는 iMA_OpenDistance만 하다가 Min_iMA_OpenDistance와 Max_iMA_OpenDistance 2개의 변수로 나누어져 iMA_OpenDistance 변수가 선언되지 않은 상태로 유지되었습니다.

외부 변수가 값을 변경할 필요는 없습니다. 추가로 선언하고 원하는 대로 하는 것이 좋습니다.

내가 알기로는 vPoint 변수는 Point*10입니다. 따라서 Ma_Bid_Diff는 4자리 포인트에서 Bid에서 MA까지의 거리입니다. DCD 란 무엇입니까? 내 텔레파시 능력이 부족합니다. 그러나 그럼에도 불구하고 iMA_OpenDistance *= DcD; 중복됩니다. 아니면 5자리 포인트로의 번역인가요? 무엇 때문에?



Alexey 당신은 직선 텔레파시입니다. 이것은 실제로 5 자리로 번역됩니다. 설명과 내가 iMa 대신 Min_iMA 및 Max_iMa를 깨닫지 못한 방법에 대해 감사드립니다. 다시 감사합니다.

추신: 텔레파시 과정을 개설할 예정입니다. 가장 먼저 등록하겠습니다 :-)

 

누군가에게 그런 조언자가 있을지도 모릅니다.

1. 두 개의 서로 다른 매수 및 매도 주문을 동시에 엽니다.

2. 이익을 보고 마감할 때. 다시 두 개의 서로 다른 매수 및 매도 주문 등을 엽니다.

3. 부정적인 주문으로 아무것도 할 필요가 없습니다! 모든 것이 간단해 보입니다. 누군가 쓸 수 있습니까? 나는 매우 감사 할 것입니다!