묻다! - 페이지 45

 
majlisb:
안녕하세요, 프로페셔널

예를 들어 Ea에서 우리는 신호를 받고 신호 막대의 높이에 BUYSTOP/SellStop 주문을 하기를 원합니다.

신호 막대의 높이를 찾으려면 새 막대가 열릴 때까지 기다려야 합니다. 어떻게 해야 합니까? (모든 기사, 게시물, EA , , , )

감사해요

신호에 대해 3bars를 계산하면 이제 4bars를 계산합니다. 단순히 예? Codersguru에는 mql4 사이트의 다른 방법에 대한 좋은 기사가 있습니다.

 

질문이 있습니다:

이것은 MT에서 수행할 수 없는 몇 가지 추가 프로그래밍이 필요할 수 있습니다. 확실하지 않다. 기본적으로 Alpari 데이터를 사용하여 MT에서 백테스트와 포워드 테스트를 모두 잘 수행하는 EA가 있습니다. 다른 브로커의 데이터 피드에는 종종 거래 간에 불일치가 있습니다. 때때로 Alpari에서 거래가 열리면 다른 브로커로 열리지 않을 수 있으며 그 반대의 경우도 마찬가지입니다. Alpari 플랫폼에서 거래가 실행된 직후에 내 브로커 플랫폼에서 거래를 실행 하는 일종의 스크립트를 작성할 수 있습니까?

예를 들어, 나는 Alpari에서 1.9450에 2개의 케이블을 구매하라는 신호를 받았습니다. 거래가 실행됩니다. 그 동일한 주문이 잠시 후 내 라이브 중개인의 플랫폼에 입력됩니다. Alpari에서 정지 또는 t/p 수준에 도달하고 거래가 마감되면 동일한 거래가 내 라이브 브로커 플랫폼에서 마감됩니다.

이것은 스캘핑 시스템이 아니므로 두 가격 사이에 2핍 차이가 있어도 큰 문제는 아닙니다. 이것이 가능한지 아는 사람이 있습니까? 그렇다면 어떻게 해야 합니까? 고맙습니다.

 

기동특무부대 xpMA에 대한 도움말

코더스 구루,

xpMA의 MTF 기능을 확인해 주시겠습니까?

많은 감사,

피핏

다음 위치에서 게시물 #364를 참조하세요.

https://www.mql5.com/en/forum/173574

 

간단한 질문이지만 이해할 수 없습니다. 이중 값을 반올림하는 데 사용되는 mql의 수학 함수 는 무엇입니까?

예를 들어, 나는 0.69이고 결과는 .70이 되기를 원합니다. 또는 값이 .63이고 결과가 .60인 경우.

mathceiling() 및 mathfloor()는 트릭을 수행하지 않습니다.

 

초보자 질문

여러분, 안녕하세요...

CodersGuru와 그의 훌륭한 과정 덕분에 MQL4를 배우려고 합니다.

MQL3에서 작성한 표시기를 변환하여.

문제가 발생하여 도움을 주시면 감사하겠습니다... 누군가 다음 코드에서 제가 뭘 잘못하고 있는지 알려주세요.

문제는 2 If 문... 78 & 79행에 있습니다.

//+----------------------------------------------- -------------------+

//| First_Indicator.mq4 |

//| 코더스구루 |

//| https://www.mql5.com/en/forum |

//+----------------------------------------------- -------------------+

#property copyright "Codersguru"

#속성 링크 "https://www.forex-tsd.com"

#속성 표시기_차트_창

#속성 표시기_버퍼 8

#property indicator_color1 빨간색

//---- 버퍼

이중 ExtMapBuffer1[];

//----------------- 변수 선언 ----------------------+

정수 위치 = 0;

이중 Pivot_Point = 0;

이중 new_Pivot_Point = 0;

이중 prev_Pivot_Point=0;

이중 Pivot_Factor=0;

이중 LastClose=0;

//+----------------------------------------------- -------------------+

//| 커스텀 인디케이터 초기화 기능 |

//+----------------------------------------------- -------------------+

정수 초기화()

{

//---- 표시기

SetIndexStyle(1,DRAW_LINE,STYLE_SOLID,1);

SetIndexBuffer(0,ExtMapBuffer1);

string short_name = "피벗 라인";

IndicatorShortName(short_name);

반환(1);

}

//+----------------------------------------------- -------------------+

//| 고객 표시기 초기화 해제 기능 |

//+----------------------------------------------- -------------------+

정수 초기화()

{

리턴(0);

}

//+----------------------------------------------- -------------------+

//| 사용자 지정 표시기 반복 기능 |

//+----------------------------------------------- -------------------+

정수 시작()

{

int counted_bars=IndicatorCounted();

//---- 가능한 오류 확인

if (counted_bars<0) return(-1);

//---- 마지막으로 계산된 막대가 다시 계산됩니다.

if (counted_bars>0) counted_bars--;

int cnt=막대 개수 계산된 막대;

//---- 메인 계산 루프

동안(cnt >= 0)

{

마지막 닫기 = 닫기[cnt];

If (LastClose > Pivot_Point) // 78행

If(new_Pivot_Point > prev_Pivot_Point) // 79행

{

prev_Pivot_Point = new_Pivot_Point;

Pivot_Point = new_Pivot_Point;

}

ExtMapBuffer1[cnt]= 피벗_포인트 ;

cnt--;

}

리턴(0);

}

다음은 컴파일러 메시지입니다.

-------------------------------------------------- --------------

'If' - 함수가 정의되지 않았습니다.....(78,10)

'If' - 세미콜론이 필요합니다 .....(79,13)

'If' - 함수가 정의되지 않았습니다...(79, 13)

'{' - 세미콜론이 필요합니다. ....(80, 13)

-------------------------------------------------- --------------

아무리 생각해도 뭐가 문제인지 잘 모르겠어.. 너무 간단한거 알지만 도망가네...

이 기본적인 질문에 도움을 주신 모든 분들께 감사드립니다....

셰프

PS ALL 모두에게 행복하고 건강하고 번영하는 새해

 

MQL은 대소문자를 구분합니다. "If" 대신 "if"를 사용합니다.

 

와... 패스트였다....

빠른 답변 감사합니다... 해결했습니다...

답변 너무 감사합니다... 새해 복 많이 받으세요...

셰프

 

MathRound

BluePearl:
간단한 질문이지만 이해할 수 없습니다. 이중 값을 반올림하는 데 사용되는 mql의 수학 함수는 무엇입니까?

예를 들어, 저는 0.69를 가지고 있고 결과가 .70이 되기를 원합니다. 또는 값이 .63이고 결과가 .60인 경우.

mathceiling() 및 mathfloor()는 트릭을 수행하지 않습니다.

값을 가장 가까운 정수로 반올림하는 "MathRound(double x)"가 있습니다. "MathFloor(x+0.5)"와 동일하다고 생각합니다. 소수점 하나로 반올림하려면 "MathRound(x*10)/10"과 같은 소수점 시프트/언시프트 표현식을 사용할 수 있습니다.

 

십자가에서 위아래로 보이도록 첨부된 화살표를 어떻게 추가할 수 있습니까?

파일:
mtf_cross.mq4  5 kb
 

히스토그램

글쎄, MQL3에서 MQL4로 변환하는 방법을 계속 배우면서 여기에 또 다른 질문이 있습니다....

차트의 위쪽과 아래쪽 두 선 사이에 있는 부분을 그리고 싶습니다. 화면 부분을 그리는 기능이 있는지 없는지 몰라서 SetIndexStyle() 문에서 "Draw_Histogram"을 사용해 보기로 했습니다. 하지만 어떻게 작동하는지 잘 이해가 되지 않습니다. 사용하면 아무 일도 일어나지 않습니다.

전:

SetIndexStyle(7,DRAW_HISTOGRAM,0,1);

ExtMapBuffer8[cnt]= (Pivot_Point-(Short_Line*Point));

Print("Cnt = ",cnt," Histo = ",ExtMapBuffer8[cnt]," Calc = ",(Pivot_Point+(Short_Line*Point)));

저널의 출력은 적절한 cnt, 적절한 계산을 생성하지만 Histo 값은 0입니다.

나는 MACD 표시기와 Heiken-Ashi 표시기의 코드를 검사했지만 소용이 없었습니다. 작동 방식을 이해하지 못했습니다. Heiken-Ashi 표시기는 각 양초를 생성 하기 위해 4개의 버퍼를 사용하는 것으로 보이지만 확실하지 않습니다.

MACD는 히스토그램 막대가 그려지는 0의 기준선을 사용하는 것으로 보입니다. MACD가 시작되는 기준선이 있습니까? 그렇다면 어떻게 설정합니까?

누군가가 이 기능이 어떻게 작동하는지 설명해 주시겠습니까? 그래야 제대로 코딩하는 방법을 배울 수 있습니다. 지정된 화면 섹션을 그리는 기능이 있다면 그에 대한 정보도 감사합니다.

모두 친절하게 도와주셔서 감사합니다....

감사합니다,

셰프