매수/매도가 멈추지 않습니다
안녕
감사합니다. 정지가 아니라 거래입니다 - 매수/매도, 시도하겠습니다 2*MarketInfo(Symbol(),MODE_STOPLEVEL)
안녕
잘못된 중지 오류 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입니다. 그리고 간단한 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 값을 사용해 보셨습니까?
응답해 주셔서 감사합니다.
Maji, 루프에서 일부 미끄러짐 값을 테스트했는데 OrderSend에서 동일한 오류가 발생했습니다.
elihayun, 귀하의 조건을 올바르게 추가했지만 여전히 동일한 오류입니다.
많은 테스트를 했지만 좋은 결과가 없었습니다
어떠한 제안? 이거 끝내고 EA 좀 더 진지하게 해보고 싶네요 ㅎㅎ
모두 감사합니다
로그인...
먼저 오류 설명을 얻으려면 다음을 수행하십시오.
#property 링크 뒤에 행을 추가하십시오.
#속성 링크 "http://www.elihayun.com"
#포함하다
이제 오류를 확인하려면 다음을 수행하십시오.
if (err != 0)
{
Print("Error # ", err, " ", ErrorDescription(err));
}귀하의 문제에 대해 다른 문제를 생각할 수 없습니다. 다른 RefreshRates() 를 사용 중일 수 있습니다. 주석 처리를 시도하십시오.
// 새로고침 비율()
먼저 오류 설명을 얻으려면 다음을 수행하십시오.
#property 링크 뒤에 행을 추가하십시오.
#속성 링크 "http://www.elihayun.com"
#포함하다
이제 오류를 확인하려면 다음을 수행하십시오.
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));
}
안녕
잘못된 중지 오류 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
중지 확인이 제대로 작동 하지 않을 수 있습니다.
어떤 제안?