안녕. MT4에서 OrderSend()를 사용하여 주문을 생성하려고 하는데 오류 #130이 계속 발생합니다. 오류 #130은 손절매 또는 이익실현 수준이 현재 시장 가격에 너무 가깝게 설정된 것과 관련이 있음을 이해합니다. 나는 성공하지 못했습니다. 상대 값과 실제 값을 모두 사용했습니다.
kvhutch: 안녕. MT4에서 OrderSend()를 사용하여 주문을 생성하려고 하는데 오류 #130이 계속 발생합니다. 오류 #130은 손절매 또는 이익실현 수준이 현재 시장 가격에 너무 가깝게 설정된 것과 관련이 있음을 이해합니다. 나는 성공하지 못했습니다. 상대 값과 실제 값을 모두 사용했습니다.
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는
Ask+와 달리...
크리스
죄송합니다. 네, 제 잘못입니다. 그래도 문제가 지속되는 것 같아 두렵습니다![](https://c.mql5.com/forextsd/smiles/sad_smile.png)
손절매와 이익실현 수준을 인쇄하려면 주문 보내기 기능 직전에 댓글을 달거나 인쇄해 보십시오. 또한 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);
}
크리스
안녕. 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을 곱해야 한다고 생각했습니다.
건배
나는 이 경우 값에 10을 곱해야 한다고 생각했습니다. 건배
init 함수 에 이와 같은 것이 있습니까?
{
Factor = 10;
StopLoss *= 10;
TakeProfit *= 10;
MaxSpread *= 10;
Slippage *=10;
}아니요, OrderSend() 문에서 저는 이익실현 및 손절매 값에 10을 곱했습니다. 이 값의 사용에 대해 조금 더 자세히 설명할 수 있습니까? 많은 감사
그들은 단지 10을 곱한 외부 변수일 뿐입니다. 변수를 포함하도록 조정합니다. 그러나 Stoploss와 같은 부분 핍 브로커에서 다른 변수만 수행합니다.
입력 목록에 손절매를 20핍으로 입력하면 브로커가 소수인 경우 자동으로 200핍으로 조정한다는 의미입니다.