귀하의 추천에 따라 void OnTick() 함수에서 TrailingGroupOrder() 함수를 첨부하여 그룹 주문의 후행을 수정하는 명령을 보낼 수 있는 위치를 찾았습니다. 그리고 보라, 그룹 주문의 추적이 작동하기 시작했습니다. 그러나 기쁨은 길지 않았습니다. 자세히 보니 최소 티켓이 있는 주문만 추적되고 있었습니다.
//+----------------------------------------------------------------------------+//| Трейлинг стоп групповых ордеров |//+----------------------------------------------------------------------------+void TrailingGroupOrder()
{
for ( int i = OrdersTotal ()- 1 ; i>= 0 ; i--)
{
if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderType() == OP_BUY && Bid - GetAveragePrice() > TrailingStopGroupOrder* Point )
{
if (Bid - GetAveragePrice() > TrailingStopGroupOrder* Point || OrderStopLoss() == 0 )
{
if (OrderStopLoss() < Bid - (TrailingStep + TrailingStopGroupOrder )* Point || OrderStopLoss() == 0 )
{
if (!OrderModify( OrderTicket() , OrderOpenPrice(), NormalizeDouble (Bid - TrailingStopGroupOrder* Point , Digits ), tp, 0 ))
Print ( "Ошибка модификации групповых ордеров на покупку!" );
}
}
}
if (OrderType() == OP_SELL && GetAveragePrice() - Ask > TrailingStopGroupOrder* Point )
{
if (GetAveragePrice() - Ask > TrailingStopGroupOrder* Point || OrderStopLoss() == 0 )
{
if (OrderStopLoss() > Ask + (TrailingStep + TrailingStopGroupOrder)* Point || OrderStopLoss() == 0 )
{
if (!OrderModify( OrderTicket() , OrderOpenPrice(), NormalizeDouble (Ask + TrailingStopGroupOrder* Point , Digits ), tp, 0 ))
Print ( "Ошибка модификации групповых ордеров на продажу!" );
}
}
}
}
}
}
나는 문제가 한 번에 모두가 아니라 첫 번째(최소) 순서만 수정하는 데 있다고 높은 확률로 가정할 수 있습니다.
Makar, 코드의 어느 부분에서 함수에 대한 참조가 있는지 설명할 수 있습니까?
1개 이상의 주문이 있는 경우
죄송합니다, 4에 대해 썼습니다 ...
5시에 확인! 모든 것이 작동합니다.
감사해요. 내 솔루션이 작동하지 않는 것은 매우 이상합니다. 뇌 전체가 망가졌다))
감사해요. 내 솔루션이 작동하지 않는 것은 매우 이상합니다.
이상한게 아니라...
경로를 작성하지 않았습니다. 여기에 코드가 있습니다.
"src_path"와 "dst_path"는 무엇과 같습니까?
1개 이상의 주문이 있는 경우
아니 Makar 그것은 작동하지 않습니다
이상한게 아니라...
경로를 작성하지 않았습니다. 여기에 코드가 있습니다.
"src_path"와 "dst_path"는 무엇과 같습니까?
https://www.mql5.com/ru/docs/files/filemove 도움말에서 가져온 다음 두 줄로 작성되었습니다.
그리고 그것이 요점이 아닙니다. 이 코드는 MT4에서 작동했고 MT5에서는 첫 번째 화면이 이동했습니다.
아니 Makar 그것은 작동하지 않습니다
그럴 수는 없습니다... 오후에 모든 코드를 줘
당신을 보내
당신을 보내
답변됨
Makar님 감사합니다 더 생각하겠습니다
답변됨
마카르 좋은 하루 !!!
귀하의 추천에 따라 void OnTick() 함수에서 TrailingGroupOrder() 함수를 첨부하여 그룹 주문의 후행을 수정하는 명령을 보낼 수 있는 위치를 찾았습니다. 그리고 보라, 그룹 주문의 추적이 작동하기 시작했습니다. 그러나 기쁨은 길지 않았습니다. 자세히 보니 최소 티켓이 있는 주문만 추적되고 있었습니다.
나는 문제가 한 번에 모두가 아니라 첫 번째(최소) 순서만 수정하는 데 있다고 높은 확률로 가정할 수 있습니다.
Makar, 그리드의 모든 주문이 한 번에 수정되도록 만드는 방법을 알려주세요????