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

 
hoz :

Expert Advisor의 전체 작업 동안 변경되지 않는 데이터를 저장하기 위해 init 기능이 필요합니다...

주제를 벗어난 답변, 다시 한 번 - 기록 데이터로드 init() 함수 가 실행 됩니다. ( 이것은 고문에게만 적용되고 지표에는 적용되지 않음 ) - 이것을 이해하는 방법(사냥을 느끼기 위해)?


일종의 통로에 있는 폰 캡처, 그런 규칙이 있는 것으로 알고 있지만 어떻게 적용되는지 모르겠습니다(더 명확합니다)?

 
위에 제가 이해한대로 답변드렸습니다. 나는 당신의 관점을 정말로 이해하지 못했습니다. 아마도 다른 누군가가 이해할 것입니다.
 

모두에게 좋은 날. 사랑해주세요 도와주세요, 저는 양초 조합을 가지고 있고 그것들이 다른 시간 척도에서 작동하기를 바랍니다. 예를 들어 -

if(iHigh("EURUSD", PERIOD_M5 ,1)>iLow("EURUSD",PERIOD_M5,1)+8*kio*Point)

{

go_s=참;

}

내 조합을 iHigh, iLow, iOpen 등과 결합할 수 있다고 생각했지만 M5에서 테스트했을 때 하나의 결과를 보여주고 다른 시간 척도에서는 다른 결과를 보여줍니다. 내가 뭘 잘못하고 있는지 도와주세요. 고맙습니다!

 
hoz :

...

튜토리얼 https://book.mql4.com/en/build/conditions에서는 모든 것이 복잡합니다. 거기에 MACD와 스토캐스틱은 같은 기능인데 저는 그렇게 필요하지 않습니다.

그리고 실제로 참조에 의한 모든 지표 값은 해당 기능으로 전송되어야 합니다. 왜 안 돼? 논리적입니다.

따라서 칠면조의 모든 계산은 신호를 수신하는 하나의 주요 기능에 있음이 밝혀졌습니다. 여기에서는 모든 것이 논리적입니다.

죄송합니다. 하지만 당신은 아직 먹이 사슬의 맨 처음에 있는 것 같습니다. "모든 것이 논리적입니다." :-)

TEXTBOOK AND DOCKS 모양으로 만든 다음, 별도의 기능으로 묶어서 결과에서 거래 기준을 얻으십시오.

교과서에서 모든 것이 결과에 즉시 철자되어 있으며 교과서에서와 같이 별도로 기능을 처방하고 결과를 정렬 할 수 있습니다! 루프가 없고 참조로 매개변수 값을 전달하지 않습니다. 여기에서 필요하지 않습니다!

추신 일반적으로 초보자를 위해 exp의 코드를 정렬하십시오. 모두 교과서에 있고 여러 코드베이스에 있습니다. 모든 것이 즉시 제자리에 놓일 것입니다.

 
fore-x :

차트에 첨부한 직후 프로그램은 init() 함수로 작업을 시작합니다. Expert Advisor 의 init() 함수 또는 차트에 첨부된 커스텀 인디케이터는 금융 상품 변경 후 과거 데이터 를 클라이언트 터미널 시작 및 로드 ( Expert Advisors에만 적용되고 인디케이터에는 적용되지 않음 ) 직후에 시작 됩니다. 및/또는 차트 주기, MetaEditor에서 프로그램을 다시 컴파일한 후, 전문가 또는 사용자 지정 표시기의 설정 창에서 입력 매개변수를 변경한 후. EA도 계정 변경 후 초기화 됩니다.

어떻게 작동하는지 설명해 주시겠습니까? 백그라운드에서 또는 어떻게든 추적할 수 있습니까? 아니면 긴 유휴 시간 후에 터미널이 시작될 때 표시기의 init 기능이 전혀 시작되지 않습니까?

원하는 것이 완전히 명확하지 않습니다. init()에 대한 설명 버전에서 빨간색으로 강조 표시된 일부 "순간"이 정확하지 않습니다. 예를 들어 클라이언트 터미널의 시작은 이력 데이터의 로드를 동반하며 "로딩"이라는 단어를 강조 표시하는 것은 올바르지 않습니다. 이것은 초기화를 시작하지 않는 프로세스입니다.

그리고 삶의 모든 것이 만질 수 있는 것은 아닙니다. 최대치는 명상하는 것입니다. :))) 초기화 프로세스를 수정하고 싶습니다. init() 함수 시작 - 이 함수 내부에 알림 줄을 인쇄합니다.

 
hoz :

Che와 나는 이미 완전히 혼란스러워했습니다. 다음은 3가지 기능으로, 각 기능은 특정 칠면조에 대한 고유한 신호를 수신합니다.

이 함수는 모든 칠면조로부터 공통 신호를 받아 BUY 또는 SELL 을 결정합니다.

그리고 이것은 일반 신호를 얻는 주요 기능입니다. 여기에서 모든 막대를 통과하는 루프를 통해 칠면조 값을 얻습니다. 기능:

int GetCrossingMa(더블& i_maFast1, 더블& i_maFast2, 더블& i_maSlow1, 더블& i_maSlow2)

int GetStochSignal(더블& stochD1, 더블& stochD2, 더블& stochK1, 더블& stochK2)

void GetMomentumSignal() , 원칙적으로 거기에 밀어 넣을 수도 있습니다.

따라서 칠면조의 모든 계산은 신호를 수신하는 하나의 주요 기능에 있음이 밝혀졌습니다. 여기에서는 모든 것이 논리적입니다.

승리자! 당신은 논리가 있지만 지식은 여전히 충분하지 않습니다. 첫째, 이 사업을 포기하지 않는다면 교과서를 뛰어넘는 데 도움이 되겠지만, 둘째를 '승리'하기 위해서는 당분간 (교과서부터) 시작해야 한다. 아직 논리적 코드 구조를 구축할 준비가 되지 않았습니다. 알파벳순으로 돌아가십시오.
추신: 귀하의 코드에서 "눈에 띄는" 것은 무엇입니까?

GetSignal() 함수에서 for 루프는 두 줄의 교차점을 찾는 데 사용할 수 있지만 개인 취향이지만 while 루프 가 더 좋습니다. 그리고 우선 "실행, 용서할 수 없습니다."와 같이 코드가 음성을 실행하려면 괄호를 이동해야 합니다. 어떤 이유로 이 (결과) 함수는 GetStochSignal() 및 GetMomentumSignal()의 두 함수 결과를 포함하지 않습니다. 이것은 LITTLE 비트 비논리적입니다.

GetCrossingMa() 및 GetStochSignal() 함수에는 참조로 매개변수를 전달할 필요가 없습니다. 함수 내부의 이러한 변수가 값을 변경하면 의미가 있기 때문입니다.

void GetMomentumSignal() 함수는 아무것도 반환하지 않습니다.

측면에서 "보기가 더 나쁘다"는 것을 인정하지만 ... :)))

 
laveosa :

모두에게 좋은 하루. 사랑해주세요 도와주세요, 저는 양초 조합을 가지고 있고 그것들이 다른 시간 척도에서 작동하기를 바랍니다. 예를 들어 -

if(iHigh("EURUSD",PERIOD_M5,1)>iLow("EURUSD",PERIOD_M5,1)+8*kio*Point)

{

go_s=참;

}

나는 내 콤보를 iHigh, iLow, iOpen 등과 묶을 수 있다고 생각했지만 M5에서 테스트했을 때 하나의 결과와 다른 시간 척도에서 다른 결과를 보여줍니다. 내가 뭘 잘못하고 있는지 도와주세요. 고맙습니다!

다음과 같이 시도하십시오.

 if ( iHigh ( "EURUSD" , PERIOD_M5 , 1 )> ( iLow ( "EURUSD" , PERIOD_M5 , 1 )+ 8 *kio* Point () ) )

포럼에 코드를 아름답게 삽입 하려면 SRC를 누른 다음 거기에 있는 코드를 누르십시오.


 
나는 페니 지폐(페니 라이트 아님)와 브러시당 100, 1:500의 레버리지를 가지고 있습니다. 어떻게 베팅할 수 있는 최대 로트를 계산할 수 있습니까? 돕다! 가격 목록에 최대 100개까지 넣을 수 있다는 것을 알고 있습니다. 내가 언제 많이 넣고 이와 같은 것에 대한 자금이 충분하지 않은지 알고 싶습니다. )))
 
Beowulf :
나는 페니 지폐(페니 라이트 아님)와 브러시당 100, 1:500의 레버리지를 가지고 있습니다. 어떻게 베팅할 수 있는 최대 로트를 계산할 수 있습니까? 돕다! 가격 목록에 최대 100개까지 넣을 수 있다는 것을 알고 있습니다. 내가 언제 많이 넣고 이와 같은 것에 대한 자금이 충분하지 않은지 알고 싶습니다. )))
 double maxvolume = MathMax ( MarketInfo ( Symbol (), MODE_MAXLOT), AccountFreeMargin () / MarketInfo ( Symbol (), MODE_MARGINREQUIRED));
 
제가 잘못된 위치에 글을 쓴 것 같습니다. 이 코드에서 아무 것도 이해하지 못합니다. 예를 들어 최대 20.0이라고 말할 것이라고 생각했습니다.
사유: