Expert Advisor는 양의 이익을 낼 때 주문 그리드의 첫 번째 주문, 마지막 주문 및 끝에서 두 번째 주문을 마감합니다.
데모 계정에서는 모든 것이 정상이지만 실제 생활에서는 최소 및 끝에서 두 번째 것만 닫힙니다. 나는이 문제에 직면했고 전체 주문 그리드를 닫을 필요가 있었고 문제는 requots에 있었고 플래그가 설정되고 문제가 해결되었습니다. 여기서도 똑같이 했지만 문제는 사라지지 않았습니다.
깃발:
int flag_close3= 0 ;
//-------------------------------------------------------------------+ Команда на закрытие мин макс и предпоследнего ордеров в сетке профит = 0if (CalculiteProfitMinMaxPenultimateOrders() >= 0 && Drawdown >= DrawdownClosingMinMaxOrdersZero && FindPenultimateProfit() > 0 )
{
flag_close3= 1 ;
}
//-------------------------------------------------------------------+ Флаг на закрытие ордеровif (flag_close3== 1 )
ClosseMinMaxPenultimateOrdersZero();
//+----------------------------------------------------------------------------+//| Закрытие минимального максимального и предпоследнего ордеров профит = 0 |//+----------------------------------------------------------------------------+void ClosseMinMaxPenultimateOrdersZero()
{
int slipp = ( int ) MarketInfo( _Symbol , MODE_SPREAD )* 2 ;
for ( int i = OrdersTotal ()- 1 ; i>= 0 ; i--)
{
if ( OrderSelect (i, SELECT_BY_POS, MODE_TRADES))
{
if (OrderSymbol() == Symbol () && OrderMagicNumber() == Magic)
{
if (OrderType() == OP_BUY)
{
if (CalculiteProfitMinMaxPenultimateOrders() >= 0 && Drawdown >= DrawdownClosingMinMaxOrdersZero && FindPenultimateProfit() > 0 )
{
if (OrderClose(GetTicketPenultimateOrder(), FindPenultimateLots(), Bid, slipp) && OrderClose(GetTicketMinOrder(), GetMinLotOrder(), Bid, slipp) &&
OrderClose(GetTicketMaxOrder(), FindLastLots(), Bid, slipp))
{
SendNotification ( "Закрылся минимальный максимальный и предпоследний ордера на покупку: " + Symbol () + ", Баланс: " + DoubleToString ( NormalizeDouble (AccountBalance(), 2 ))
+ ", Свободно денежных средств: " + DoubleToString ( NormalizeDouble (AccountFreeMargin(), 2 )));
Print ( "Максимальный и минимальный ордера на покупку успешно закрыты!" );
}
else
{
Print ( "Не удалось закрыть максимальный и минимальный ордера на покупку!" , GetLastError ());
}
}
}
if (OrderType() == OP_SELL)
{
if (CalculiteProfitMinMaxPenultimateOrders() >= 0 && Drawdown >= DrawdownClosingMinMaxOrdersZero && FindPenultimateProfit() > 0 )
{
if (OrderClose(GetTicketPenultimateOrder(), FindPenultimateLots(), Ask, slipp) && OrderClose(GetTicketMinOrder(), GetMinLotOrder(), Ask, slipp) &&
OrderClose(GetTicketMaxOrder(), FindLastLots(), Ask, slipp))
{
SendNotification ( "Закрылся минимальный максимальный и предпоследний ордера на продажу: " + Symbol () + ", Баланс: " + DoubleToString ( NormalizeDouble (AccountBalance(), 2 ))
+ ", Свободно денежных средств: " + DoubleToString ( NormalizeDouble (AccountFreeMargin(), 2 )));
Print ( "Максимальный и минимальный ордера на продажу успешно закрыты!" );
}
else
{
Print ( "Не удалось закрыть максимальный и минимальный ордера на продажу!" , GetLastError ());
}
}
}
}
}
}
}
EVGENII SHELIPOV 데모 계정에서는 모든 것이 정상이지만 실제 생활에서는 최소 및 끝에서 두 번째 것만 닫힙니다. 나는이 문제에 직면했고 전체 주문 그리드를 닫을 필요가 있었고 문제는 requots에 있었고 플래그가 설정되고 문제가 해결되었습니다. 여기서도 똑같이 했지만 문제는 사라지지 않았습니다.
//-------------------------------------------------------------------+ Команда на удаление линий отображающую среднюю цену мин и макс ордеров и текстаif ( CountTrade() == 0 || Drawdown < DrawdownClosingMinMaxOrdersZero)
{
flag_close2= 0 ;flag_close3= 0 ;
하루의 기억이 있습니까?
아니요. 나는 필요한 것을 구현하는 방법을 배우지 않았습니다. 아마도 두 번째 반복에서 작동할 것입니다 ;-)
Maxim Kuznetsov가 방법에 대해 답변했습니다. 읽고 있었다?
좋은 하루, 잘못된 주문 마감 문제를 해결하는 데 도움을 요청합니다.
Expert Advisor는 양의 이익을 낼 때 주문 그리드의 첫 번째 주문, 마지막 주문 및 끝에서 두 번째 주문을 마감합니다.
데모 계정에서는 모든 것이 정상이지만 실제 생활에서는 최소 및 끝에서 두 번째 것만 닫힙니다. 나는이 문제에 직면했고 전체 주문 그리드를 닫을 필요가 있었고 문제는 requots에 있었고 플래그가 설정되고 문제가 해결되었습니다. 여기서도 똑같이 했지만 문제는 사라지지 않았습니다.
깃발:
감사해요!!!!
깃발:
감사해요!!!!
당신의 깃발은 어디에 0으로 설정되어 있습니까?
여기에 붙여 넣기하면 정확할 것입니다.
여기에 붙여 넣기하면 정확할 것입니다.
아니요. 따라서 모든 주문이 마감되면 재설정됩니다.
모든 주문을 마감할 필요가 없다는 점을 감안할 때 티켓을 살펴보고 마감하는 것이 좋습니다.
아니요. 따라서 모든 주문이 마감되면 재설정됩니다.
모든 주문을 마감할 필요가 없다는 점을 감안할 때 티켓을 살펴보고 마감하는 것이 좋습니다.
이제 잠깐만
이제 잠깐만
그래서
아니요. 따라서 모든 주문이 마감되면 재설정됩니다.
모든 주문을 마감할 필요가 없다는 점을 감안할 때 티켓을 살펴보고 마감하는 것이 좋습니다.
하지만 주문을 마감하는 기능으로 티켓을 분류하지 않습니까?
그래서
주문이 없는 경우를 의미합니다.