MT5中如何对一揽子订单按利润进行排序呢?请看源代码
for(t=0; t<1000; t++) { Position_arrange_profit[t]=0;Position_arrange_tickets[t]=0;}
int aa=0;Position_arrange_sum=0;
for (t=0; t<PositionsTotal(); t++)
{
if( PositionGetTicket(t)>0 )
{
if ( PositionGetInteger(POSITION_MAGIC)!=888001 && PositionGetInteger(POSITION_MAGIC)!=888110 &&
PositionGetString(POSITION_COMMENT)!="9999" )
{
aa++;
Position_arrange_profit[aa-1]=PositionGetDouble(POSITION_PROFIT);
Position_arrange_tickets[aa-1]=PositionGetInteger(POSITION_TICKET);
Position_arrange_sum++;
}
}
}
for (t=0; t<Position_arrange_sum-1; t++)
{
if( PositionGetTicket(t)>0 )
{
for (int a=0; a<Position_arrange_sum-t-1; a++)
{
if ( Position_arrange_profit[a] > Position_arrange_profit[a+1] )
{
double temp_profit=Position_arrange_profit[a];
ulong temp_tickets=Position_arrange_tickets[a];
Position_arrange_profit[a] = Position_arrange_profit[a+1];
Position_arrange_tickets[a] = Position_arrange_tickets[a+1];
Position_arrange_profit[a+1]=temp_profit;
Position_arrange_tickets[a+1]=temp_tickets;
}
}
}
}
for (t=0; t<Position_arrange_sum; t++)
{
if( Position_arrange_tickets[t]>0 )
{
Print( "Position_arrange_tickets[",t,"]: ",Position_arrange_tickets[t],",Position_arrange_profit[",t,"]: ",Position_arrange_profit[t]);
}
}
|
金币
-
查看全部打赏
|
|
|
|