오류 코드 - 페이지 4

 
 

MT4 - Ordersend() 오류 #130

안녕. MT4에서 OrderSend()를 사용하여 주문을 생성하려고 하는데 오류 #130이 계속 발생합니다. 오류 #130은 손절매 또는 이익실현 수준이 현재 시장 가격에 너무 가깝게 설정된 것과 관련이 있음을 이해합니다. 나는 성공하지 못했습니다. 상대 값과 실제 값을 모두 사용했습니다.

1. 매수 시 상대적인 이익실현 및 손절매 사용:

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-50*Point,Ask+50*Point,"Long Breakout",16384,0,Green);

2. Stoploss 및 TakeProfit에 대한 실제 값 사용:

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,StopLoss,TakeProfit,"Long Breakout",16384,0,Green);

어디:

이중 정지 손실 = NormalizeDouble(정지 손실, 자릿수);

이중 TakeProfit = NormalizeDouble(TakeProfit, 자릿수);

이 값은 외부 값으로 설정됩니다(예: extern double StopLoss=1.5000, extern double=TakeProfit=1.6000).

제 브로커는 FXCM입니다. StoplLoss 및 TakeProfit 값에 10을 곱하려고 했습니다. 모든 통화 쌍에 대해 동일한 결과를 얻습니다.

각각의 경우에 오류 #130이 발생합니다. 어떤 아이디어?

건배

 

매수 포지션에 대한 이익실현 을 설정할 때. TP는

Bid+(50*Point)

Ask+와 달리...

크리스

 

죄송합니다. 네, 제 잘못입니다. 그래도 문제가 지속되는 것 같아 두렵습니다

 

손절매와 이익실현 수준을 인쇄하려면 주문 보내기 기능 직전에 댓글을 달거나 인쇄해 보십시오. 또한 stoploss/tp가 최소 거리 이상인지 확인하십시오.

주문 보내기 전에 이것을 두십시오:

if(StopLoss!=0 && StopLoss<(MarketInfo(Symbol(),MODE_STOPLEVEL)))

{

StopLoss=MarketInfo(Symbol(),MODE_STOPLEVEL);

}

if(TakeProfit!=0 && TakeProfit<(MarketInfo(Symbol(),MODE_STOPLEVEL)))

{

TakeProfit=MarketInfo(Symbol(),MODE_STOPLEVEL);

}

크리스

 
kvhutch:
안녕. MT4에서 OrderSend()를 사용하여 주문을 생성하려고 하는데 오류 #130이 계속 발생합니다. 오류 #130은 손절매 또는 이익실현 수준이 현재 시장 가격에 너무 가깝게 설정된 것과 관련이 있음을 이해합니다. 나는 성공하지 못했습니다. 상대 값과 실제 값을 모두 사용했습니다.

1. 매수 시 상대적인 이익실현 및 손절매 사용:

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-50*Point,Ask+50*Point,"Long Breakout",16384,0,Green);

2. Stoploss 및 TakeProfit에 대한 실제 값 사용:

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,StopLoss,TakeProfit,"Long Breakout",16384,0,Green);

어디:

이중 정지 손실 = NormalizeDouble(정지 손실, 자릿수);

이중 TakeProfit = NormalizeDouble(TakeProfit, 자릿수);

이 값은 외부 값으로 설정됩니다(예: extern double StopLoss=1.5000, extern double=TakeProfit=1.6000).

제 브로커는 FXCM입니다. StoplLoss 및 TakeProfit 값에 10을 곱하려고 했습니다. 모든 통화 쌍에 대해 동일한 결과를 얻습니다.

각각의 경우에 오류 #130이 발생합니다. 어떤 아이디어?

건배

5자리 FXCM.. 또는 어느 국가의 FXCM을 사용하고 있습니까?

 

답장해주셔서 감사합니다. 네, 저는 손절매와 이익실현 값 을 확인하기 위해 인쇄문을 사용했습니다. 인쇄물에 괜찮아 보였습니다.

저는 영국에서 FXCM을 사용하고 있습니다. 엔화 외 통화는 소수점 이하 5자리입니다(예: GBPUSD: 1.55125). 엔 크로스는 3자리 숫자입니다(예: GBPJPY: 132.393). 이 경우 값에 10을 곱해야 한다고 생각했습니다.

건배

 
kvhutch:
나는 이 경우 값에 10을 곱해야 한다고 생각했습니다. 건배

init 함수 에 이와 같은 것이 있습니까?

if (Digits == 3 || Digits == 5)

{

Factor = 10;

StopLoss *= 10;

TakeProfit *= 10;

MaxSpread *= 10;

Slippage *=10;

}
 

아니요, OrderSend() 문에서 저는 이익실현 및 손절매 값에 10을 곱했습니다. 이 값의 사용에 대해 조금 더 자세히 설명할 수 있습니까? 많은 감사

 

그들은 단지 10을 곱한 외부 변수일 뿐입니다. 변수를 포함하도록 조정합니다. 그러나 Stoploss와 같은 부분 핍 브로커에서 다른 변수만 수행합니다.

입력 목록에 손절매를 20핍으로 입력하면 브로커가 소수인 경우 자동으로 200핍으로 조정한다는 의미입니다.