voidOnStart ()
{
int TrailingStop= 50 ;
//--- модифицирует цену Stop Loss ордера на покупку №12345if (TrailingStop> 0 )
{
OrderSelect ( 12345 ,SELECT_BY_TICKET);
if (Bid-OrderOpenPrice()> Point *TrailingStop)
{
if (OrderStopLoss()<Bid- Point *TrailingStop)
{
bool res=OrderModify(OrderTicket(),OrderOpenPrice(), NormalizeDouble (Bid- Point *TrailingStop, Digits ),OrderTakeProfit(), 0 ,Blue);
if (!res)
Print ( "Ошибка модификации ордера. Код ошибки=" , GetLastError ());
elsePrint ( "Цена Stop Loss ордера успешно модифицирована." );
}
}
}
}
따라서 쓰레기는 지식이 거의없는 결과이며 4에서 5로의 얇은 전환으로 인해 구부러진 핸들을 곧게 펴는 제안을 수락합니다)))
티켓으로 주문을 선택하고 주문 유형(판매 또는 구매)을 선택한 다음 유형을 기반으로 주문의 현재 상태가 조건(값(현재 가격에서 현재 가격에서 주문의 개시 가격)은 1포인트의 가격에 주어진 값을 곱한 것보다 커야 합니다(내 코드에서는 이익 실현 가격을 10으로 나눈 값입니다. 이 조건이 충족되면 중지가 손실 가격은 현재 가격보다 1포인트의 가격에 주어진 값을 곱한 값만큼 낮습니다. 이것이 사실이면 손절매 가격이 변경됩니다.
전체 코드를 첨부하거나 코드 조각 전에 변수를 초기화하십시오. 예를 들어 다음과 같이 변수에 무엇이 있는지 결코 알 수 없습니다.
모든 코드:
모든 코드:
도대체 무슨 일이 있다는 것입니다?
도대체 무슨 일이 있다는 것입니다?
))))))))
MQL4 코드를 기본으로 사용했습니다.
따라서 쓰레기는 지식이 거의없는 결과이며 4에서 5로의 얇은 전환으로 인해 구부러진 핸들을 곧게 펴는 제안을 수락합니다)))
티켓으로 주문을 선택하고 주문 유형(판매 또는 구매)을 선택한 다음 유형을 기반으로 주문의 현재 상태가 조건(값(현재 가격에서 현재 가격에서 주문의 개시 가격)은 1포인트의 가격에 주어진 값을 곱한 것보다 커야 합니다(내 코드에서는 이익 실현 가격을 10으로 나눈 값입니다. 이 조건이 충족되면 중지가 손실 가격은 현재 가격보다 1포인트의 가격에 주어진 값을 곱한 값만큼 낮습니다. 이것이 사실이면 손절매 가격이 변경됩니다.
그래서 쓰레기는 약간의 지식의 결과이며 결과적으로 4에서 5로 덜 전환됩니다.
참고서 읽기 게으름의 결과로 지적한 것은 주문의 속성 식별자이며 OrderGetDouble , OrderGetInteger 등 의 식별자와 함수를 사용하여 값을 얻습니다.
또는 작은 예일 수도 있습니다. 저는 구조를 잘 이해하지 못합니다. 아마도 더 정확할 것입니다. if(OrderGetInteger(ORDER_TYPE)==ORDER_TYPE_BUY)?
나는 당신에게 말하지 않을 것입니다 - 나는 상위 5 위 안에 쓰지 않습니다. 하지만 질문을 하겠습니다. 이 검사 결과를 로그에 표시하지 못하게 하는 이유는 무엇입니까?
일하다)))))))))
단점을 수정하면 모든 것이 가이드에 따른 것 같습니다.
디버깅에서 조건에 도달합니다.
내부로 들어가지 않고 전체 기능을 통과합니다. 동시에 tik 변수는 전역적으로 선언됩니다. ulong tik=0; - 주문에 대한 응답을 받으면 새 값이 할당됩니다. tik=mresult.order; - 디버깅 시 이 값이 변경됩니다. 왜 조건에 들어가지 않습니까?
또는 작은 예일 수도 있습니다. 저는 구조를 잘 이해하지 못합니다. 아마도 더 정확할 것입니다. if(OrderGetInteger(ORDER_TYPE)==ORDER_TYPE_BUY)?