묻다! - 페이지 142

 

EA로 좀 도와주세요

매도 주문 을 마감하고 새 매수 주문을 열려고 합니다. 매수는 열리지만 매도는 오류 4051을 표시합니다.

나는 사용하고있다

티켓 = OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, Gold);// 포지션 마감

그리고

티켓 = OrderSend(Symbol(), OP_BUY, 랏, Ask, Slippage, StopLossLevel, TakeProfitLevel, "Buy(#" + MagicNumber + ")", MagicNumber, 0, DodgerBlue);

 

매직넘버 어떻게 바꾸나요?

안녕하세요 여러분,

차이 차트 창에서 차이 쌍을 거래하기 위해 차이 EA(하나의 원점 EA에서 복사)를 사용하고 매직 넘버를 변경하고 싶지만 매직 넘버가 어떻게 작동하는지 모르십니까? 말씀해 주시겠습니까?

1. 매직 넘버는 어떻게 작동합니까?

2. 매직넘버는 어떻게 변경하나요?

3. 매직 넘버를 변경하기 위해 아무 숫자나 사용할 수 있습니까? 아니면 일부 규칙에서 어떤 숫자를 사용해야 합니까?

4. 제 EA의 매직넘버 16763에서 매직넘버를 변경하는 예를 들어주시겠습니까?

도와 주셔서 정말 감사합니다!

 

매직 넘버는 고유 식별자에 불과합니다. 동일한 EA의 각 인스턴스를 구별하는 동시에 실행 중인 다른 EA와도 구별합니다.

매직 넘버가 외부 변수인 경우 원하는 숫자로 변경하기만 하면 됩니다. 실행 중인 다른 EA와 동일한 번호가 아닌지 확인하십시오.

외부 변수가 아니면 코드에서 변수를 찾아 원하는 숫자로 변경하십시오.

도움이 되기를 바랍니다.

럭스

 
luxinterior:
매직 넘버는 고유 식별자에 불과합니다. 동일한 EA의 각 인스턴스를 구별하는 동시에 실행 중인 다른 EA와도 구별합니다.

매직 넘버가 외부 변수인 경우 원하는 숫자로 변경하기만 하면 됩니다. 실행 중인 다른 EA와 동일한 번호가 아닌지 확인하십시오.

외부 변수가 아니면 코드에서 변수를 찾아 원하는 숫자로 변경하십시오.

도움이 되기를 바랍니다.

럭스

안녕하세요 럭스입니다.

내 EA의 매직 번호를 16763에서 16764로 변경할 수 있다는 뜻입니다. 16765 등등...?

빠른 답변 감사합니다.

 
luu:
안녕하세요 럭스입니다.

내 EA의 매직 번호를 16763에서 16764로 변경할 수 있다는 뜻입니다. 16765 등등...?

빠른 답변 감사합니다.

정확히! 번호가 고유하기만 하면 어떤 번호를 선택하든 상관 없습니다.

특별한 이유가 없으면 변경할 필요가 없습니다.

럭스

 
luxinterior:
정확히! 번호가 고유하기만 하면 어떤 번호를 선택하든 상관 없습니다.

특별한 이유가 없으면 변경할 필요가 없습니다.

럭스

도움을 주셔서 대단히 감사합니다 Lux!

 

EA 마감 주문 문제

친구 나는 지원 저항 표시기가 있는 EA가 있습니다.EA는 목표 이익에 대한 주문을 완료해야 합니다.하지만 언젠가는 부족합니다.이 문제를 어떻게 제거할 수 있습니까?제발 도와주세요

 

간단한 일반 스크립트를 도와주세요.

안녕

간단한 스크립트로 도와주세요.

여기 내가 필요한 것입니다.

SELL_STOP 및 BUY_STOP에 대해 3-4개의 주문을 하는 모든 기호에 사용할 수 있는 매우 일반적인 스크립트

현재 가격보다 20포인트 높은 buy_stop, 현재 가격보다 40포인트 높은 두 번째 주문, 3d 80포인트 등을 배치하고 싶다고 가정해 보겠습니다.

Sell_Stop도 마찬가지입니다.

몇 가지 예제를 기반으로 스크립트를 조합하려고 했지만 C 언어에 익숙하지 않기 때문에 몇 가지 문제가 있습니다.

"""""""""""""""""""""""""""""""""""""""""""""""" """""""""""""""""""""""""""""""""""""""""""""""" """"// 개선된.mq4

정수 시작()

{

int 티켓, 나;

정수 cnt=1;

정수 Dist_SL = 10; // 프리셋 SL(pt)

정수 Dist_TP = 100; // 프리셋 TP(pt)

문자열 Symb=Symbol(); // 기호

새로 고침 비율();

이중 입찰 = MarketInfo(Symb,MODE_BID);

이중 요청 =MarketInfo(Symb,MODE_ASK);

더블 포인트 = MarketInfo(Symb,MODE_POINT);

int Min_Dist=MarketInfo(Symb,MODE_STOPLEVEL);

if (Dist_TP < Min_Dist) // 허용보다 작으면

{

Dist_TP=Min_Dist; // 허용 설정

Alert(" TakeP의 거리 증가 = ",Dist_TP," pt");

}

//------------------------------------------------ -------------------- 6 --

Alert("서버로 요청을 보냈습니다. 응답을 기다리는 중입니다..");

for(i=100;i<400;i=i+100)

{

이중 TP=(요청+i*포인트) + Dist_TP*포인트; // TP 요청 가격

ticket=OrderSend(Symb,OP_BUYSTOP,0.1,ask+i*Point,1,(ask+i*Point)-Dist_SL*Point,TP);

수면(500);

정수 오류 = GetLastError(); // 실패

switch(Error) // 극복 가능한 오류

{

case 130:Alert("SL이 잘못되었습니다. 다시 시도하는 중입니다..");

새로 고침 비율(); // 데이터 업데이트

if (Dist_SL < Min_Dist) // 허용된 값보다 작으면

{

Dist_SL=Min_Dist; // 허용 설정

Alert(" SL의 거리 증가 = ",Dist_SL," pt");

}

i=i-50;

경고 (i);

경고(Dist_SL);

cnt=cnt+1;

경고(cnt);

if (cnt==3) break;

계속하다; // 다음 반복에서

case 135:Alert("가격이 변경되었습니다. 재시도 중..");

새로 고침 비율(); // 데이터 업데이트

계속하다; // 다음 반복에서

case 136:Alert("가격이 없습니다. 새 틱을 기다리는 중입니다..");

while(RefreshRates()==false) // 새 틱까지

수면(1); // 사이클 지연

계속하다; // 다음 반복에서

case 146:Alert("거래 하위 시스템이 사용 중입니다. 재시도 중입니다..");

수면(500); // 간단한 솔루션

새로 고침 비율(); // 데이터 업데이트

계속하다; // 다음 반복에서

}

switch(Error) // 치명적인 오류

{

사례 2 : Alert("일반적인 오류입니다.");

부서지다; // '스위치' 종료

case 5 : Alert("클라이언트 단말기의 오래된 버전입니다.");

부서지다; // '스위치' 종료

case 64: Alert("계정이 차단되었습니다.");

부서지다; // '스위치' 종료

case 133:Alert("거래 금지");

부서지다; // '스위치' 종료

기본값: Alert("오류 발생",오류);// 기타 대안

}

//부서지다;

}

//------------------------------------------------ --------------------------------------- 9 --

Alert("스크립트가 작업을 완료했습니다 ---------------------------");

반품; // 시작() 종료

}

"""""""""""""""""""""""""""""""""""""""""""""""" """"""""""""""""""""""""""""""""""""""""""

그것은 일종의 작동하지만 여러 번 나는 정지 손실에 문제가 있습니다.

 

내부의 가우스 sr 비율로 뱀을 전환할 수 있는지에 대한 제 생각은 다음과 같습니다.

ssrc 표시기는 배당금을 지급할 수 있습니다. 어떻게 생각하세요?

ssrc 그것은 한쪽 가우스 sr 비율 스피어맨 순위 상관 관계입니다.

"osgsrspc" lol .(코딩을 시도했지만 머리를 넘겼습니다)

ssrc_bar.mq4

ssrc.mq4

os_gaussian_sr_rate.mq4

파일:
 

새 질문: 5번째 소수 및 자금 관리

특정 EA의 고객을 위해 자주 열리는 다른 포럼에서 한 고객은 EA 개발자가 아직 EA에 대한 소수점 이하 다섯 번째 가격 문제를 수정하지 않았다는 사실에 대해 불평했습니다.

개발자는 몇 달 전에 이 문제를 해결하려면 특별한 스크립팅이 필요하다고 주장했습니다. 4개월이 지난 지금, 저는 기본적으로 아직 수정되지 않았다는 것이 우스꽝스럽다고 말했습니다. 그리고 여기에 설명된 방법과 유사한 "Point"를 재정의하는 데 몇 줄의 코드만 있으면 된다고 주장했습니다.

그래서 여기에 질문이옵니다. 개발자는 여전히 이 문제가 매우 복잡하고 이를 해결하기 위해 특별한 스크립트 프로그래밍이 필요하다고 주장합니다. 다음은 개발자의 설명입니다.

안녕 존. 네가 옳아. 점점 더 많은 중개인이 분수 핍으로 가고 있습니다. 그러나 소수 핍 문제는 [이름 제거됨]의 버그가 아닙니다. MT4 플랫폼이 소수점 이하 자릿수 차이를 정의하는 방식의 문제입니다. EA와 지표가 차이를 인식할 수 있도록 다시 프로그래밍하고 있습니다. 이것은 MT4 플랫폼 내 변수 "Point"의 정의에 포함되어야 하며 EA는 이 정의를 사용하여 소수점 이하 자릿수를 결정합니다. 그러나 많은 MT4 플랫폼은 EA에서 소수점 이하 4자리 이상을 전달하지 않으므로 특수 스크립팅이 포함되어야 합니다. 우리의 과제는 EA와 모든 지표에서 "Point" 변수를 사용한다는 것입니다. 따라서 "Point"를 재정의하기 위해 몇 줄의 코드를 추가하는 것만 큼 간단하지 않습니다. 다음 주 말까지 분수 pip 프로그램이 작동하기를 바랍니다.

제 질문은 다음과 같습니다. 경험 많은 프로그래머 중 이 복잡한 스크립팅 요구 사항이나 MT4 플랫폼의 "Point" 값에 문제가 발생한 적이 있습니까?

"Point"가 소수점 이하 4자리로 제한되어 있다고 가정하더라도 Point = 0.001 ---- 여전히 한 두 줄의 코드만 사용하는 쌍에 대해서만 걱정하면 됩니다.

또는 여전히 몇 줄의 코드만 사용하는 "Point" 대신 "Digits"를 사용할 수 있습니다.

또는 "UseFractionalPips = true;"와 같은 부울 변수를 사용할 수 있습니다. "포인트"를 재정의합니다.

개발자가 문제를 현재(또는 다른 동기)보다 더 복잡하게 만들고 있는 것 같습니다. 저는 "Point"가 소수점 이하 4개로 제한되어 있다는 이 문제에 대해 읽거나 들은 적이 없습니다. 그런 경우에도 "Digits" 또는 다른 방법을 사용하여 특별한 스크립팅 없이 포인트를 재정의할 수 있습니다.

저는 MT4에서 18개월 동안만 프로그래밍을 해왔기 때문에 MT4에서 소수의 pip 가격 책정을 처리하기 위한 "수정"이 얼마나 복잡한지에 대해 좀 더 숙련된 프로그래머에게 맡기기로 했습니다.

이견있는 사람?

도움을 주셔서 미리 감사드립니다.

-비