묻다! - 페이지 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가 시작되는 기준선이 있습니까? 그렇다면 어떻게 설정합니까?

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

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

감사합니다,

셰프