Browse Source

Test

etomic
jl777 7 years ago
parent
commit
7e43bf3f88
  1. 53
      iguana/exchanges/LP_ordermatch.c

53
iguana/exchanges/LP_ordermatch.c

@ -421,34 +421,39 @@ struct LP_utxoinfo *LP_address_myutxopair(struct LP_utxoinfo *butxo,int32_t iamb
printf("%.8f ",dstr(utxos[i]->U.value)); printf("%.8f ",dstr(utxos[i]->U.value));
printf("targetval %.8f vol %.8f price %.8f txfee %.8f %s %s\n",dstr(targetval),relvolume,price,dstr(fee),coin->symbol,coinaddr); printf("targetval %.8f vol %.8f price %.8f txfee %.8f %s %s\n",dstr(targetval),relvolume,price,dstr(fee),coin->symbol,coinaddr);
} }
mini = -1; while ( 1 )
if ( targetval != 0 && (mini= LP_nearest_utxovalue(coin,coinaddr,utxos,m,targetval+fee)) >= 0 )
{ {
up = utxos[mini]; mini = -1;
utxos[mini] = 0; if ( targetval != 0 && (mini= LP_nearest_utxovalue(coin,coinaddr,utxos,m,targetval+fee)) >= 0 )
//printf("found mini.%d %.8f for targetval %.8f -> targetval2 %.8f, ratio %.2f\n",mini,dstr(up->U.value),dstr(targetval),dstr(targetval2),(double)up->U.value/targetval);
if ( (double)up->U.value/targetval < ratio-1 )
{ {
if ( 0 ) up = utxos[mini];
{ utxos[mini] = 0;
int32_t i; //printf("found mini.%d %.8f for targetval %.8f -> targetval2 %.8f, ratio %.2f\n",mini,dstr(up->U.value),dstr(targetval),dstr(targetval2),(double)up->U.value/targetval);
for (i=0; i<m; i++) if ( (double)up->U.value/targetval < ratio-1 )
if ( utxos[i] != 0 && utxos[i]->U.value >= targetval2 )
printf("%.8f ",dstr(utxos[i]->U.value));
printf("targetval2 %.8f vol %.8f price %.8f txfee %.8f %s %s\n",dstr(targetval2),relvolume,price,dstr(fee),coin->symbol,coinaddr);
}
if ( (mini= LP_nearest_utxovalue(coin,coinaddr,utxos,m,(targetval2+2*fee) * 1.01)) >= 0 )
{ {
if ( up != 0 && (up2= utxos[mini]) != 0 ) if ( 0 )
{ {
LP_butxo_set(butxo,iambob,coin,up,up2,targetval); int32_t i;
return(butxo); for (i=0; i<m; i++)
} else printf("cant find utxos[mini %d]\n",mini); if ( utxos[i] != 0 && utxos[i]->U.value >= targetval2 )
} else printf("cant find targetval2 %.8f\n",dstr(targetval2)); printf("%.8f ",dstr(utxos[i]->U.value));
} else printf("failed ratio test %.8f\n",(double)up->U.value/targetval); printf("targetval2 %.8f vol %.8f price %.8f txfee %.8f %s %s\n",dstr(targetval2),relvolume,price,dstr(fee),coin->symbol,coinaddr);
} else if ( targetval != 0 && mini >= 0 ) }
printf("targetval %.8f mini.%d\n",dstr(targetval),mini); if ( (mini= LP_nearest_utxovalue(coin,coinaddr,utxos,m,(targetval2+2*fee) * 1.01)) >= 0 )
{
if ( up != 0 && (up2= utxos[mini]) != 0 )
{
LP_butxo_set(butxo,iambob,coin,up,up2,targetval);
return(butxo);
} else printf("cant find utxos[mini %d]\n",mini);
} else printf("cant find targetval2 %.8f\n",dstr(targetval2));
} else printf("failed ratio test %.8f\n",(double)up->U.value/targetval);
} else if ( targetval != 0 && mini >= 0 )
printf("targetval %.8f mini.%d\n",dstr(targetval),mini);
if ( targetval == 0 || mini < 0 )
break;
}
} else printf("no %s utxos pass LP_address_utxo_ptrs filter\n",coinaddr); } else printf("no %s utxos pass LP_address_utxo_ptrs filter\n",coinaddr);
} else printf("address_myutxopair couldnt find %s %s\n",coin->symbol,coinaddr); } else printf("address_myutxopair couldnt find %s %s\n",coin->symbol,coinaddr);
return(0); return(0);

Loading…
Cancel
Save