귀하의 함수가 오류 1(재미: 오류 1 = 오류가 없지만 결과는 알 수 없음)을 발생시키고 추적하지 않는 이유를 알 수 없습니다. 때때로 일부 스레드가 지연기를 잡는 일이 발생하지만 대부분 >>>ERROR1 로그에 있고 정상이며 기침하지 마십시오...
나는 이렇게 부른다.
지정가 주문 추가(이전 코드에서 잊어버렸습니다 :)) + 오류 처리 #1(수정하기 전에 새 가격이 현재 가격과 비교되고 동일하면 아무 것도 하지 않음):
//+------------------------------------------------------------------+void trailingOrder( int magic, int trailing){
int index = 0 ;
while (trailing > 0 && OrdersTotal () != 0 && OrderSelect (index, SELECT_BY_POS)){
if (OrderMagicNumber() == magic){
if (OrderType() == OP_BUYSTOP){
if (OrderOpenPrice() - Ask > Point *trailing){
if ((Ask+ Point *trailing) - Ask >= MarketInfo( Symbol (), MODE_STOPLEVEL)* Point &&
(Ask+ Point *trailing) - Ask > MarketInfo( Symbol (), MODE_FREEZELEVEL)* Point &&
(Ask+ Point *trailing) != OrderOpenPrice()){
if (!OrderModify(OrderTicket(),Ask+ Point *trailing,OrderStopLoss(),OrderTakeProfit(), 0 )) Print ( ">>> ERROR " , GetLastError ());
} else {
Print ( ">>> Слишком близко к рынку или передано неизмененное значение!" );
}
}
return ;
}
if (OrderType() == OP_SELLSTOP){
if (Bid - OrderOpenPrice() > Point *trailing){
if (Bid - (Bid- Point *trailing) >= MarketInfo( Symbol (), MODE_STOPLEVEL)* Point &&
Bid - (Bid- Point *trailing) > MarketInfo( Symbol (), MODE_FREEZELEVEL)* Point &&
(Bid- Point *trailing) != OrderOpenPrice()){
if (!OrderModify(OrderTicket(),Bid- Point *trailing,OrderStopLoss(),OrderTakeProfit(), 0 )) Print ( ">>> ERROR " , GetLastError ());
} else {
Print ( ">>> Слишком близко к рынку или передано неизмененное значение!" );
}
}
return ;
}
if (OrderType() == OP_SELLLIMIT){
if (OrderOpenPrice() - Bid > Point *trailing){
if ((Bid+ Point *trailing) - Bid >= MarketInfo( Symbol (), MODE_STOPLEVEL)* Point &&
(Bid+ Point *trailing) - Bid > MarketInfo( Symbol (), MODE_FREEZELEVEL)* Point &&
(Bid+ Point *trailing) != OrderOpenPrice()){
if (!OrderModify(OrderTicket(),Bid+ Point *trailing,OrderStopLoss(),OrderTakeProfit(), 0 )) Print ( ">>> ERROR " , GetLastError ());
} else {
Print ( ">>> Слишком близко к рынку или передано неизмененное значение!" );
}
}
return ;
}
if (OrderType() == OP_BUYLIMIT){
if (Ask - OrderOpenPrice() > Point *trailing){
if (Ask - (Ask- Point *trailing) >= MarketInfo( Symbol (), MODE_STOPLEVEL)* Point &&
Ask - (Ask- Point *trailing) > MarketInfo( Symbol (), MODE_FREEZELEVEL)* Point &&
(Ask- Point *trailing) != OrderOpenPrice()){
if (!OrderModify(OrderTicket(),Ask- Point *trailing,OrderStopLoss(),OrderTakeProfit(), 0 )) Print ( ">>> ERROR " , GetLastError ());
} else {
Print ( ">>> Слишком близко к рынку или передано неизмененное значение!" );
}
}
return ;
}
}
index++;
}
}
//+------------------------------------------------------------------+
네.
이것은 어떻게 든 이해할 수 있습니까?
도움이 필요하다!!! 히스토리에서 마지막 손실 주문을 선택하는 방법???
당신에게는 너무 복잡합니다 :)
지연된 마술사와 원하는 노예를 매개 변수로 메서드에 전달합니다.여기 내 코드가 있습니다
귀하의 함수가 오류 1(재미: 오류 1 = 오류 없음, 그러나 결과는 알 수 없음)을 발생시키고 추적하지 않는 이유를 알 수 없습니다. 때때로 일부 스레드가 지연기를 잡는 일이 발생하지만 대부분 >>>ERROR1 로그에 있고 정상이며 기침하지 마십시오...
나는 이렇게 부른다.
귀하의 함수가 오류 1(재미: 오류 1 = 오류가 없지만 결과는 알 수 없음)을 발생시키고 추적하지 않는 이유를 알 수 없습니다. 때때로 일부 스레드가 지연기를 잡는 일이 발생하지만 대부분 >>>ERROR1 로그에 있고 정상이며 기침하지 마십시오...
나는 이렇게 부른다.
이 때문에 오류 1이 나타날 수 있습니다(OrderModify()에 대한 문서에서).
변경되지 않은 값이 함수 매개변수로 전달되면 이 경우 오류 1(ERR_NO_RESULT)이 생성됩니다.
귀하의 함수가 오류 1(재미: 오류 1 = 오류가 없지만 결과는 알 수 없음)을 발생시키고 추적하지 않는 이유를 알 수 없습니다. 때때로 일부 스레드가 지연기를 잡는 일이 발생하지만 대부분 >>>ERROR1 로그에 있고 정상이며 기침하지 마십시오...
나는 이렇게 부른다.
지정가 주문 추가(이전 코드에서 잊어버렸습니다 :)) + 오류 처리 #1(수정하기 전에 새 가격이 현재 가격과 비교되고 동일하면 아무 것도 하지 않음):
그건 그렇고, 나는 보류중인 사용자에 대한 StopLevel 및 FreezeLevel 거리에 대한 자습서에서 오류를 발견했습니다.
최소 거리 StopLevel에 대한 제한.
지정된 요구 사항 중 하나라도 위반되면 거래 작업 이 수행되지 않습니다.
SellLimit은 현재 가격보다 높게 설정되어 있으므로 다음과 같이 정확합니다.
OpenPrice - Bid ≥ StopLevel
화면 하단의 탭에서 도구를 정렬하는 방법이 있습니까? 그렇지 않으면 4개의 시간대에 있는 8개의 악기가 무질서하게 흩어집니다....
화면 하단의 탭에서 도구를 정렬하는 방법이 있습니까? 그렇지 않으면 4개의 시간대에 있는 8개의 악기가 무질서하게 흩어집니다....
차트 이름이 있는 탭을 클릭하고 원하는 위치로 끕니다.