| 
					
				 | 
			
			
				@@ -12,7 +12,6 @@ func CreateOrder( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	action sentio.Action, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	quotes map[string]sentio.Quote, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	rm sentio.RiskManager, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	budget float64, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ) error { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	var ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		symbol  string 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -53,21 +52,21 @@ func CreateOrder( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		return err 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	if account.GetCash() < bid { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		return sentio.ErrTooSmallOrder 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	var ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		cash  = account.GetCash() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		ratio float64 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	if ratio = rm.GetOrderSize(symbol, bid); ratio <= 0 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		return sentio.ErrRiskManagementPrevent 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if budget := m.MaxBudget(); budget > 0 && cash > budget { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		cash = budget 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	cash := account.GetCash() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	if budget > 0 && cash > budget { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		cash = budget 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if cash < bid { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return sentio.ErrTooSmallOrder 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if ratio = rm.GetOrderSize(symbol, bid); ratio <= 0 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		return sentio.ErrRiskManagementPrevent 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	// create a new order 
			 |