코딩하는 방법? - 페이지 80

 
 

손절매 숨기기

누구든지 EA에서 손절매와 후행 정지를 숨기는 방법을 말할 수 있습니까? (중개인이 내 손절매 또는 후행 정지를 보는 아이디어가 마음에 들지 않습니다. 그것은 그들을 위한 목표와 같습니다). 감사해요.

 
jturns23:
누구든지 EA에서 손절매와 후행 정지를 숨기는 방법을 말할 수 있습니까? (중개인이 내 손절매 또는 후행 정지를 보는 아이디어가 마음에 들지 않습니다. 그것은 그들을 위한 목표와 같습니다). 감사해요.

코드에서 단순히 stopvalue와 대상 값을 정의합니다.

그런 다음 거래를 한 후 거래에 입력한 가격을 얻은 다음 새로운 각 틱이 있을 때마다 중지 또는 목표에 도달했는지 확인합니다.

적중되면 EA가 OrderClose 기능 을 실행하도록 합니다.

개인적으로, 나는 그것이 가격 행동 50-100 핍에서 멀리 떨어져 있지만 브로커가 볼 수 있는 스톱이 있습니다. 이런 식으로 터미널이 어떤 이유로 다운되는 경우 최소한 갑작스러운 움직임으로부터 보호됩니다.

건배,

성공자

 
jturns23:
누구든지 EA에서 손절매와 후행 정지를 숨기는 방법을 말할 수 있습니까? (중개인이 내 손절매 또는 후행 정지를 보는 아이디어가 마음에 들지 않습니다. 그것은 그들을 위한 목표와 같습니다). 감사해요.

구현하고자 하는 것은 가장 흔히 '소프트 스톱'이라고 하며, 여기서 손익을 동적으로 추적하고 필요한 목표에 도달하면 주문을 마감합니다. 볼 수 있고 스파이크 할 수 있습니다 ...

어느 정도의 하드 스톱은 필수입니다('just-in-case' 시나리오의 경우 ..). 그러나 Fxopen 과 같은 완전히 파렴치한 브로커가 있는 경우 이 방법도 도움이 되지 않습니다.

https://www.forex-tsd.com/forum/commercial-talks/9512-complaints-and-brokers-scam#comment_273270

 

어려운 질문!

여러분 모두에게

저는 MT4 프로그래밍을 처음 접했습니다. EA코드를 완성했는데 테스트를 해보니 몇가지 에러가 나네요 하나는 내 코드가 거의 동시에 같은 가격으로 4개의 주문을 열고 싶지만 내 EA는 때때로 완전히 열 수 있지만 다른 상황은 주문이 하나씩 다른 가격으로 열렸습니다.

다음을 사용하여 이 문제를 해결할 수 있다고 생각하십니까?

if(IsTradeAllowed()==false) 절전(10000);

이 문제를 해결하는 데 도움을 주실 수 있나요?

미리 감사드립니다!

 

이것은 모든 포지션을 청산하는 나의 기능입니다. 매우 간단하다고 생각합니다. 그러나 EA는 항상 모든 포지션을 청산하는 데 오랜 시간을 소비하므로 종가 가 다를 수 있습니다.

문제를 해결하는 데 도움을 줄 수 있습니까?

미리 감사합니다!

무효 close_all_position_now(int total_order)

{

정수 티켓 = 0;

이중 볼륨=0, 가격=0;

for(int i=0;i<total_order;i++)

{

if(주문선택(i,SELECT_BY_POS,MODE_TRADES)==거짓)

부서지다;

// 주문선택(i,SELECT_BY_POS,MODE_TRADES);

if (OrderMagicNumber()==magic_number && OrderType()==0)

{

티켓=OrderTicket();

볼륨=OrderLots();

가격=입찰가;

OrderClose(티켓, 볼륨, 가격, 슬립, CLR_NONE);

}

else if (OrderMagicNumber()==magic_number && OrderType()==1)

{

티켓=OrderTicket();

볼륨=OrderLots();

가격=묻다;

OrderClose(티켓, 볼륨, 가격, 슬리피지, CLR_NONE);

}

else if(OrderMagicNumber()==magic_number && OrderType()>=2)

{

티켓=OrderTicket();

OrderDelete(티켓);

}

}

}

 
ys16:
... 그러나 EA는 항상 모든 포지션을 청산하는 데 오랜 시간을 소비하므로 종가가 다를 수 있습니다. ...}

동일한 가격으로 많은 포지션을 청산하는 방법은 단 두 가지입니다.

1) 동일한 TP(또는 SL)를 가지고 있습니다.

2) 청산하려는 총 랏의 크기로 반대 포지션을 엽니다. 나중에 CloseBy()를 수행할 수 있습니다.

동일한 가격에 여러 포지션을 여는 것은 같은 문제입니다. 또는 보류를 사용하거나 총 로트 중 하나의 포지션만 개설하고 결국 부분 청산을 관리합니다.

 
Michel:
동일한 가격으로 많은 포지션을 청산하는 방법은 단 두 가지입니다.

1) 동일한 TP(또는 SL)를 가지고 있습니다.

2) 청산하려는 총 랏의 크기로 반대 포지션을 엽니다. 나중에 CloseBy()를 수행할 수 있습니다.

동일한 가격에 여러 포지션을 여는 것은 같은 문제입니다. 또는 보류를 사용하거나 총 로트 중 하나의 포지션만 개설하고 결국 부분 청산을 관리합니다.

친애하는 미셸,

매우 감사합니다. 비용은 어떻습니까? 반대 입장의 스프레드에 대해 비용을 지불해야 합니까?

EA가 단기간에 모든 포지션을 청산할 수 없는 이유는 무엇입니까? 마감 주문을 실행하는 데 시간이 필요하기 때문입니다.

때로는 한 번의 가격 변경 후에 3개의 포지션이 청산될 수 있지만 때로는 1개의 포지션만 청산될 수 있습니다.

MQL4 프로그래밍 과 관련된 리소스가 있습니까? EA를 실행하기 위한 시간 척도를 몰랐습니다.

나는 엔지니어이기 때문에 C 프로그래밍을 잘 알고 있지만 내 EA는 내가 프로그래밍한 것을 완전히 실행할 수 없습니다.

어때요

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

if(OrderMagicNumber()==magic_number && OrderType()==OP_BUY)

이런 종류의 함수는 EA의 각 주기보다 더 긴 실행 시간이 매우 오래 걸린다고 생각하십니까?

 
ys16:
친애하는 미셸,

매우 감사합니다. 비용은 어떻습니까? 반대 입장의 스프레드에 대해 비용을 지불해야 합니까?

EA가 단기간에 모든 포지션을 청산할 수 없는 이유는 무엇입니까? 마감 주문을 실행하는 데 시간이 필요하기 때문입니다.

때로는 한 번의 가격 변경 후에 3개의 포지션이 청산될 수 있지만 때로는 1개의 포지션만 청산될 수 있습니다.

MQL4 프로그래밍과 관련된 리소스가 있습니까? EA를 실행하기 위한 시간 척도를 몰랐습니다.

나는 엔지니어이기 때문에 C 프로그래밍을 잘 알고 있지만 내 EA는 내가 프로그래밍한 것을 완전히 실행할 수 없습니다.

어때요

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

if(OrderMagicNumber()==magic_number && OrderType()==OP_BUY)

이런 종류의 함수는 EA의 각 주기보다 더 긴 실행 시간이 매우 오래 걸린다고 생각하십니까?

많은 중개인이 "완전 헤지"를 허용합니다. 즉, 사용된 마진은 롱 포지션과 숏 포지션의 차이에 따라 계산됩니다. 따라서 완전 헤지 포지션에는 사용된 증거금이 없으며 추가 스프레드 없이 둘 다(하나씩) 청산할 수 있습니다. 따라서 일반적으로 포지션을 콜하거나 반대 포지션을 열면 하나의 스프레드만 소비합니다.

그 무렵 코드의 실행 시간은 매우 빠르며 브로커의 딜링 데스크 시간과 아무 관련이 없습니다.

 

오프라인 차트 전문가

안녕,

오프라인 차트에서 EA를 사용하려고 합니다(예: period_converter에서 생성). 그들은 내부에서 while() 루프를 사용해야 하는 틱을 수신하지 않습니다. 그러나 몇 분 후 오프라인 차트에 "업데이트 대기 중"이 표시되고 더 이상 업데이트되지 않습니다. 다른 오프라인 차트를 열면 올바르게 업데이트되고 닫으면 다음 "업데이트 대기 중" 잠금이 해제될 때까지 원래 차트가 잠시 동안 정상이기 때문에 일종의 교착 상태라고 생각합니다.

제가 뭔가 잘못하고 있는 건가요 아니면 MT4의 문제인가요?