묻다! - 페이지 171

 

안녕,

I', EA를 만들려고 하지만 코드에 몇 가지 문제가 있습니다. EA가 작동하는 것 같지만 한 가지 오류가 있습니다.

"OrderDelete 기능 에 대한 잘못된 티켓"

이 문제를 해결하는 방법은 무엇입니까?

다음은 코드의 일부입니다.

{

정수 주문Cnt;

for(OrderCnt=0;OrderCnt<전체;OrderCnt++)

if(Bid>iBuyPrice){종료 = true; OrderDelete(OrderTicket());반환(0);}

if(Ask<iSellPrice){결산 = true; OrderDelete(OrderTicket());반환(0);}

{

OrderSelect(OrderCnt,SELECT_BY_POS,MODE_TRADES);

if(OrderSymbol()==Symbol() && OrderMagicNumber()== 매직넘버 && OrderType()== OP_BUYSTOP) OrderDelete(OrderTicket());

else if(OrderSymbol()==Symbol() && OrderMagicNumber() == 매직넘버 && OrderType() == OP_SELLSTOP) OrderDelete(OrderTicket());

else if(OrderSymbol()==Symbol() && OrderMagicNumber() == 매직넘버 && OrderType() ==OP_SELLLIMIT) OrderDelete(OrderTicket());

else if(OrderSymbol()==Symbol() && OrderMagicNumber() == magicnumber && OrderType() ==OP_BUYLIMIT) OrderDelete(OrderTicket());

}

if(!ContinueTrading) Enter=거짓;

}

리턴(0);

 

스캘핑 및 헤징이 있는 MA 교차

경우 폐쇄...

 

EA 코딩에 대한 뺄셈 질문

80핍이라고 말하고 싶다면 80 * Point로 코딩할 것입니다.

그러나 2개의 통화 값을 빼서 결과 핍을 코딩하려면 A=1.4290-1.4210 / Point를 코딩해야 합니까? A의 값으로 80을 얻으려면?

귀하의 도움에 감사드립니다.

데이브

 

"()"를 잊지 마세요.

"(1.4290-1.4210 )/ Point"여야 합니다.

 

I맞춤 매개변수

ICustom에 대해 두 가지 질문이 있습니다.

첫째, ICustom 호출에 표시기의 모든 매개변수를 포함하지 않는 경우 누락된 매개변수가 표시기의 기본값으로 설정되어 있다고 가정하는 것이 맞습니까?

다른 질문은 잘못된 유형의 매개변수가 제공된 경우 stdlib에서 식별할 수 있는 오류 메시지가 발생합니까?

답변 미리 감사드립니다

 

매개변수 를 생략하면 yes 기본값이 사용됩니다. 사용하려는 매개변수가 표시기에 나타나는 순서와 정확히 같아야 하므로 주의하십시오.

잘못된 유형을 전달하려고 하면 오류가 발생했는지 기억할 수 없지만 매우 쉽게 테스트할 수 있습니다.

행운을 빕니다

럭스

 

이 작업을 수행하는 방법

열린 거래, 거래가 손실되면 15개의 후행 스탑을 추가하고 거래를 열린 상태로 두고 새 거래를 엽니다(EA는 한 번에 1개의 거래만 열림). 따라서 EA는 이제 새로운 거래로만 운영됩니다.

 

이익으로 미결 주문에 로트를 추가하는 스크립트

안녕하세요 코더스구루님

방금 귀하의 MT4 과정을 읽고 다음 스크립트를 작성하려고 시도했습니다.

이익이 나는 미결 주문에 제비를 추가합니다.

또한 튜토리얼에 대해 큰 감사를 표합니다. 잘 쓰여지고 유머러스합니다....

코드는 다음과 같습니다.

#property show_inputs

#포함하다

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

//| 스크립트 프로그램 시작 기능 |

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

정수 시작()

{

정수 합계, cnt, 오류;

총계 = OrdersTotal();

for(cnt=0;cnt<전체;cnt++)

{

주문 선택(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderProfit() >= 15) // 이익이 15핍보다 큽니다.

if(주문 유형()==OP_BUY)

OrderSend(OrderSymbol(),OP_BUY, 0.1, MarketInfo(OrderSymbol(),MODE_ASK), 2, NULL, NULL, NULL, NULL, NULL, CLR_NONE );

또 다른

OrderSend(OrderSymbol(),OP_SELL, 0.1, MarketInfo(OrderSymbol(),MODE_BID), 2, NULL, NULL, NULL, NULL, NULL, CLR_NONE);

err=GetLastError();

Print("오류(",오류,"): ",오류설명(오류));

수면(1000);

}

//----

//----

리턴(0);

}

좋은 코더스구루인가요??

미리 감사합니다, 감사합니다...

건배

제프

 

안녕 모두

누군가가 나를 도울 수 있습니다. 파일을 받았는데 먼저 메타트레이더 창에서 '디컴파일'한 다음 차트에 표시기를 로드해야 한다고 들었습니다! 컴파일 및 디컴파일이 정확히 무엇인가요? 이 작업을 수행하는 방법, EA 로드 및 mt4에 대한 기타 항목과 같은 항목을 탐색하는 방법에 대한 단계별 지침이 포함된 pdf도 있습니다. 나는 지금 mt4에 관한 여러 가지에 대해 괜찮습니다. 즉, 하향 지표는 충분히 간단하지만 이에 대해 더 많이 이해할 필요가 있습니다. 감사합니다.

 

제 생각에는 컴파일이 필요합니다.

디컴파일은 해킹과 마찬가지로 불법입니다.

ex4 파일이 창/차트에 로드/첨부되기 때문입니다. 컴파일은 MetaEditor에서 합니다.

하우투에 대해 처음부터 이 스레드를 읽으십시오.

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