오류 코드

 

안녕

잘못된 중지 오류 130 오류 메시지가 나타납니다.

내 값을 인쇄하고 다음과 같습니다

2006.06.29 13:15:05 AUDUSD,H1: 주문내역: SellPrice : 0.731 ,CurrentBid : 0.731 ,stoploss : 0.7319 ,takeprofit : 0.7291 ,slippage : 2

주문하기 전에 내 sl과 tp를 확인하기 위해 다음을 사용하고 있습니다.

/

if (StopLoss<=MarketInfo(Symbol(),MODE_STOPLEVEL)) StopLoss=MarketInfo(Symbol(),MODE_STOPLEVEL)+3;

if (TakeProfit<=MarketInfo(Symbol(),MODE_STOPLEVEL)) TakeProfit=2*(MarketInfo(Symbol(),MODE_STOPLEVEL)+3);

간혹 아래와 같이 매도가 진행되는 경우가 있습니다.

2006.06.29 08:32:56 AUDUSD,H1: 오픈 #5976740 0.01 AUDUSD에서 0.7309 sl: 0.7324 tp: 0.7278 ok

중지 확인이 제대로 작동 하지 않을 수 있습니다.

어떤 제안?

 

나는 당신이 주문하는 방식에 오류가 있다고 생각합니다. 중지 주문 을 사용하는 경우 주문이 시장 가격에 너무 가깝습니다. 일반적으로 매수 정류장은 현재 매도호가에서 최소한 "MarketInfo(Symbol(),MODE_STOPLEVEL)"핍 떨어져 있어야 합니다.

정지 주문을 하는 경우에는 RefreshRates()를 사용하고 필요한 거리만큼 떨어진 곳에 주문을 넣어야 합니다. 빠르게 움직이는 시장의 경우 여전히 작동하지 않을 수 있으며 더 멀리 주문해야 합니다.

도움이 되었기를 바랍니다.

 

매수/매도가 멈추지 않습니다

안녕

감사합니다. 정지가 아니라 거래입니다 - 매수/매도, 시도하겠습니다 2*MarketInfo(Symbol(),MODE_STOPLEVEL)

 
cardio:
안녕

잘못된 중지 오류 130 오류 메시지가 나타납니다.

내 값을 인쇄하고 다음과 같습니다

2006.06.29 13:15:05 AUDUSD,H1: 주문내역: SellPrice : 0.731 ,CurrentBid : 0.731 ,stoploss : 0.7319 ,takeprofit : 0.7291 ,slippage : 2

주문하기 전에 내 sl과 tp를 확인하기 위해 다음을 사용하고 있습니다.

/

if (StopLoss<=MarketInfo(Symbol(),MODE_STOPLEVEL)) StopLoss=MarketInfo(Symbol(),MODE_STOPLEVEL)+3;

if (TakeProfit<=MarketInfo(Symbol(),MODE_STOPLEVEL)) TakeProfit=2*(MarketInfo(Symbol(),MODE_STOPLEVEL)+3);

간혹 아래와 같이 매도가 진행되는 경우가 있습니다.

2006.06.29 08:32:56 AUDUSD,H1: 오픈 #5976740 0.01 AUDUSD에서 0.7309 sl: 0.7324 tp: 0.7278 ok

중지 확인이 제대로 작동하지 않을 수 있습니다.

어떤 제안?

아마도 당신은 매수와 매도 모두에서 "+ 3"을 사용하고 있을 것입니다. 판매 시 유효한 가격으로 만들기 위해 "-3"을 입력해야 합니다.

 

그것은 번거 로움이 아닙니다

나는 그 interbankfx가 시장이 빡빡할 때 스캘핑을 방지하려고 한다고 생각하기 시작했습니다. 시장이 빡빡하지 않을 때 작동합니다. 여전히 sl과 tp가 MarketInfo(Symbol(),MODE_STOPLEVEL)보다 크면 거래를 열어야 하기 때문에 여전히 혼란스럽습니다.

어쨌든 다음은 내가 사용하는 코드입니다.

StopLoss = NormalizeDouble((TradeAbovePct/100)*(DemaH-DemaL)*(1/Point),0);

if (StopLoss<=MarketInfo(Symbol(),MODE_STOPLEVEL)) StopLoss=MarketInfo(Symbol(),MODE_STOPLEVEL)+3;

TakeProfit = NormalizeDouble(2*((DemaH-DemaL)*(1/Point)),0);

if (TakeProfit<=MarketInfo(Symbol(),MODE_STOPLEVEL)) TakeProfit=2*(MarketInfo(Symbol(),MODE_STOPLEVEL)+3);

//Then I call a buy and sell as needed

//e.i

OpenBuy1(10);

OpenSell1(10);

////////////////////////////////////////////////

bool OpenBuy1(int pips1)

{

int ticket;

string comment="";

//reset defaults

use_MTBE = use_MTBEd;

use_split = use_splitd;

RefreshRates();

price1 = Ask;

stoploss1 = NormalizeDouble(price1-StopLoss*Point,Digits);

tp1 = NormalizeDouble(price1+TakeProfit*Point,Digits);

//expire1 = iTime(Symbol(),TimeFrame,0)+TimeFrame*HoursStopOpen*60;

Print("Openbuy lots: ", Lots);

if(UseStopLoss)

ticket=OrderSend(Symbol(),OP_BUY,Lots,price1,2,stoploss1,tp1,comment,MAGICMA,0,Orange);

else

ticket=OrderSend(Symbol(),OP_BUY,Lots,price1,2,0,tp1,comment,MAGICMA,0,Orange);

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))

{

Print("BUY order opened : ",OrderOpenPrice());

//time1 = CurTime()+2*60*Period();

return(true);

}

}

else

{

Print("Error opening BUY order : ",GetLastError());

Print("OrderDetails: BuyPrice : ",price1," ,CurrentAsk : ", Ask," ,stoploss : ",stoploss1," ,takeprofit : ",tp1," ,slippage : ",2);

return(false);

}

}

bool OpenSell1(int pips1)

{

int ticket;

string comment="";

//reset defaults

use_MTBE = use_MTBEd;

use_split = use_splitd;

RefreshRates();

price1 = Bid;

stoploss1 = NormalizeDouble(price1+StopLoss*Point,Digits) ;

tp1 = NormalizeDouble(price1-TakeProfit*Point,Digits);

// expire1 = iTime(Symbol(),TimeFrame,0)+TimeFrame*HoursStopOpen*60;

Print("Opensell lots: ", Lots);

if(UseStopLoss)

ticket=OrderSend(Symbol(),OP_SELL,Lots,price1,2,stoploss1,tp1,comment,MAGICMA,0,Red);

else

ticket=OrderSend(Symbol(),OP_SELL,Lots,price1,2,0,tp1,comment,MAGICMA,0,Red);

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))

{

Print("SELL order opened : ",OrderOpenPrice());

// time1 = CurTime()+2*60*Period();

return(true);

}

}

else

{

Print("Error opening SELL order : ",GetLastError());

Print("OrderDetails: SellPrice : ",price1," ,CurrentBid : ", Bid," ,stoploss : ",stoploss1," ,takeprofit : ",tp1," ,slippage : ",2);

return(false);

}

}

 

도움이 필요함 - 오류 138 주문을 여는 중

안녕!

글쎄요, 보시다시피 저는 이 포럼의 초보자입니다. 저는 아르헨티나에서 온 Ignacio입니다. 그리고 간단한 EA를 개발하려고 합니다.

전략은 "준비"되었다고 생각합니다. 그러나 백테스트 실행을 실행할 때 열려 있는 주문이 없습니다. 일부 디버그 정보를 인쇄했으며 조건은 정상입니다. OrderSend 함수 에서 발생한 오류는 138입니다.

코드는 다음과 같습니다.

RefreshRates();

OrderSend( Symbol(), OP_BUY, Lots, Slippage, Ask, 0.0, 0.0, c , magic_number, 0, Blue);

아무도 나에게 무엇이 잘못되었는지 설명 할 수 있습니까?

모두 감사합니다.

로그인...

 
ignacio:
안녕!

글쎄요, 보시다시피 저는 이 포럼의 초보자입니다. 저는 아르헨티나에서 온 Ignacio입니다. 그리고 간단한 EA를 개발하려고 합니다.

전략은 "준비"되었다고 생각합니다. 그러나 백테스트 실행을 실행할 때 열려 있는 주문이 없습니다. 일부 디버그 정보를 인쇄했으며 조건은 정상입니다. OrderSend 함수에서 발생한 오류는 138입니다.

코드는 다음과 같습니다.

RefreshRates();

OrderSend( Symbol(), OP_BUY, Lots, Slippage, Ask, 0.0, 0.0, c , magic_number, 0, Blue);

아무도 나에게 무엇이 잘못되었는지 설명 할 수 있습니까?

모두 감사합니다.

로그인...

오류 138 은 requote가 있음을 의미합니다. 3과 5 사이와 같이 슬리피지에 대해 더 큰 pip 값을 사용해 보셨습니까?

 

나는 백테스트에서 requot 와 같은 것은 없다고 생각한다. 제 생각에 문제는 백 테스팅에서 재인용 문제를 일으킬 수 있는 "RefreshRates" 때문에 발생합니다. 이걸 고려하세요

if (!isTesting()) RefreshRates();

 

응답해 주셔서 감사합니다.

Maji, 루프에서 일부 미끄러짐 값을 테스트했는데 OrderSend에서 동일한 오류가 발생했습니다.

elihayun, 귀하의 조건을 올바르게 추가했지만 여전히 동일한 오류입니다.

많은 테스트를 했지만 좋은 결과가 없었습니다

어떠한 제안? 이거 끝내고 EA 좀 더 진지하게 해보고 싶네요 ㅎㅎ

모두 감사합니다

로그인...

 

먼저 오류 설명을 얻으려면 다음을 수행하십시오.

#property 링크 뒤에 행을 추가하십시오.

#속성 링크 "http://www.elihayun.com"

#포함하다

이제 오류를 확인하려면 다음을 수행하십시오.

int err = GetLastError();

if (err != 0)

{

Print("Error # ", err, " ", ErrorDescription(err));

}

귀하의 문제에 대해 다른 문제를 생각할 수 없습니다. 다른 RefreshRates() 를 사용 중일 수 있습니다. 주석 처리를 시도하십시오.

// 새로고침 비율()

 
elihayun:
먼저 오류 설명을 얻으려면 다음을 수행하십시오.

#property 링크 뒤에 행을 추가하십시오.

#속성 링크 "http://www.elihayun.com"

#포함하다

이제 오류를 확인하려면 다음을 수행하십시오.

int err = GetLastError();

if (err != 0)

{

Print("Error # ", err, " ", ErrorDescription(err));

}[/PHP]

For your problem, I cannot think of another problem. Maybe u are using another RefreshRates() Try to comment them out

// RefreshRates()

다음은 스크립트 외입니다.

2006.07.02 11:07:15 2006.01.04 12:00 eaButler EURUSD,H4: Error Description [#138]: requote

2006.07.02 11:07:15 2006.01.04 12:00 stdlib EURUSD,H4: loaded successfully

코드는 다음과 같습니다.

[PHP]

last_ticket = OrderSend( Symbol(), OP_SELL, 랏, 슬리피지, Bid, 0.0, 0.0, c, magic_number, 0, Red);

if(마지막 티켓 < 0)

{

rv = GetLastError();

Print("오류 설명 [#"+ rv + "]: " + ErrorDescription(rv));

}