Advertisement
Guest User

Untitled

a guest
Mar 4th, 2012
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.87 KB | None | 0 0
  1. package ie.jackhiggins.csvsender;
  2.  
  3. import java.io.IOException;
  4. import java.net.*;
  5. import java.util.ArrayList;
  6. import java.util.logging.Level;
  7. import java.util.logging.Logger;
  8. import org.jumpmind.symmetric.csv.CsvReader;
  9.  
  10. /**
  11.  * Hello world!
  12.  *
  13.  */
  14. public class App
  15. {
  16.     private static DatagramSocket dgramSock;
  17.     private static InetAddress address;
  18.     public static void main(String[] args) throws IOException {
  19.  
  20.         try {
  21.             dgramSock = new DatagramSocket(11000);
  22.         } catch (SocketException ex) {
  23.             //Logger.getLogger(SignalToNoise.class.getName()).log(Level.SEVERE, null, ex);
  24.         }
  25.        
  26.        
  27.         try {
  28.             address = InetAddress.getByName("10.172.8.59");
  29.         } catch (UnknownHostException ex) {
  30.             //Logger.getLogger(SignalToNoise.class.getName()).log(Level.SEVERE, null, ex);
  31.         }
  32.         int port = 11000;
  33.        
  34.         Thread volSender = new Thread(new VolSender());
  35.         volSender.start();
  36.        
  37.         try {
  38.             ReadFromCSV();
  39.         } catch (Exception ex) {
  40.             Logger.getLogger(App.class.getName()).log(Level.SEVERE, null, ex);
  41.         }
  42.        
  43.     }
  44.  
  45.     private static void ReadFromCSV() throws Exception {
  46.         while(true){
  47.             CsvReader reader = new CsvReader("C:\\Users\\Jack\\Desktop\\EURUSD_Ticks_02.03.2012-03.03.2012.csv",',');
  48.             reader.readHeaders();
  49.             while(reader.readRecord()){
  50.                 float bid = Float.parseFloat(reader.get(1));
  51.                 float ask = Float.parseFloat(reader.get(2));
  52.                 float bidVol = Float.parseFloat(reader.get(3));
  53.                 float askVol = Float.parseFloat(reader.get(4));
  54.  
  55.                 SendBid(bid,bidVol);
  56.                 Thread.sleep(100);
  57.                 SendAsk(ask,askVol);
  58.                 Thread.sleep(100);
  59.             }
  60.         }
  61.        
  62.     }
  63.    
  64.     private static void SendBid(float price, float vol){
  65.         //Bid:3.92:BTC:4.4443 USD\n
  66.         SendDatagram("Bid:"+vol+":BTC:"+price+ " USD");
  67.     }
  68.    
  69.     private static void SendAsk(float price, float vol){
  70.         SendDatagram("Ask:"+vol+":BTC:"+price+ " USD");
  71.     }
  72.    
  73.     private static void SendVol(float vol){
  74.         //"Vol:19,460.94985697 BTC#High:$4.73800#Low:$4.58000#Avg:$4.66883#Last:$4.64571";
  75.         //System.out.println(vol);
  76.         SendDatagram("Vol:"+vol);
  77.     }
  78.    
  79.     private static void SendDatagram(String text){
  80.                 byte[] buf = text.getBytes();
  81.  
  82.         DatagramPacket packet = new DatagramPacket(buf, buf.length, address, 11000);
  83.         try {
  84.             dgramSock.send(packet);
  85.         } catch (IOException ex) {
  86.             Logger.getLogger(App.class.getName()).log(Level.SEVERE, null, ex);
  87.         }
  88.         double d = 1.2;
  89.         float f = Float.parseFloat(d+"");
  90.     }
  91.    
  92.    
  93.    
  94.    
  95.     static class VolSender implements Runnable{
  96.  
  97.         private int interpolPoints = 100;
  98.        
  99.         public void run() {
  100.             while(true){
  101.                 try{
  102.                     CsvReader reader = new CsvReader("C:\\Users\\Jack\\Desktop\\SPX500.csv",',');
  103.                     float prevVol = 0;
  104.                    
  105.                     while(reader.readRecord()){
  106.                         float vol = Float.parseFloat(reader.get(1));
  107.  
  108.                         float interpolDiff = (vol - prevVol)/interpolPoints;
  109.                        
  110.                         for(int i=0;i<interpolPoints-1;i++){
  111.                             float toSend = prevVol+(interpolDiff*(i+1));
  112.                             SendVol(toSend);
  113.                             Thread.sleep(10);
  114.                         }
  115.                         prevVol = vol;
  116.                        
  117.                     }
  118.                 }catch(Exception e){
  119.                    
  120.                 }
  121.                
  122.             }
  123.         }
  124.  
  125.     }
  126. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement