Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Quotazioni oro e argento

    Salve a tutti,
    di recente mi è capitato di dover, per conto di un cliente, inserire le quotazioni di oro e argento ,aggiornate in tempo reale, sul sito.
    Facendo delle ricerche si trova davvero poco materiale, quindi sperando di fare cosa gradita, scrivo quali passi ho fatto io.

    1) Per avere le quotazioni di oro e altri metalli preziosi serve un file xml o json con i dati aggiornati. Una azienda di trading on line "Instaforex" fornisce proprio ciò che serve gratuitamente.
    Quotazioni
    leggete le istruzioni e create il vostro file xml o json con ciò che vi interessa.
    (Per chi volesse l'argento, anche se non è specificato basta aggiungere silver dopo il ?. Esempio: quotazioni oro e argento

    2) Una volta fatto questo i passi successivi si possono fare in vari modi, io ho utilizzato php con la libreria CURL (su google trovate molti esempi ). Naturalmente dovrete prima chiedere al vostro servizio di hosting se è abilitato, in genere non ci sono problemi, alcuni chiedono anche di fornirgli l'ip del sito dove risiede il file (questo perché state facendo richiesta di un file che risiede fuori dal vostro dominio e non in locale).
    Quindi adesso dovreste creare un file php che fa da proxy e processi i dati ricevuti.

    2.1) Per avere le quotazioni in euro/grammo basta prendere il valore di "ask" e dividerlo per 31.10 (il valore fisso dell'oncia) otterrete il prezzo in dollari.Dividete ancora per 1.30 (valore di euro - dollaro al momento) ed avrete il prezzo in €/g
    Sia che di oro o argento ecc il valore da considerare è quello di ask (prezzo lettera).

    3)Per mostrare le quotazioni sulla vostra pagina html ( se fosse php potreste fare tutto nella stessa pagina, l'unico inconveniente è che ad ogni richiesta la pagina si aggiorna caricando il server) ho usato jquery e ajax (anche qui trovate molti esempi su google che speigano come fare. Basta cercare jquery e php oggetto json ).
    Quindi potreste creare uno script js da caricare nella pagina html oppure scrivere il codice direttamente.
    A questo punto vi trovate il dato visibile nel tag html che volete.
    Infine con l'istruzione di jquery, setInterval(function(){cose da ripetere}, millisecondi), fate aggiornare il file php ogni tot secondi in modo da avere sempre i dati aggiornati.

    Volutamente non ho scritto codici perchè ci sono diversi modi per fare la stessa cosa ed inoltre con google si trova tutto il materiale che serve corredato di esempi.

  2. #2
    Io ho partecipato un anno e mezzo fa ad un grande progetto su quotazioni in tempo reale (con immagazzinamento dati su server db mastodontici per tracciare degli storici).
    Se può essere di complemento i dati erano forniti da Xignite (in json), precisi, in Real Time anche con intervalli davvero brevi (a seconda del metallo), cambi, valute etc, etc....

    Il tutto però a pagamento!!! (non era problema mio, non ho idea dei costi...)

    Per completare l'opera ci siamo avvalsi di AnyCharts per tracciare i grafici più disparati...
    Fantasupermegafavolipermeramagicultra irresistibili
    4 10 30 100 1001 personaggi insuperabili fantaincredibili ultraimpossibili iperterribili irresistibili!!!

    "... a quell'età ... bastava un dito per fare la pace ..."
    fotine

  3. #3
    Come hai detto tu, il tuo era un progetto molto grande e quindi servivano controlli più raffinati, prendi la pagina del sole24ore, e molto ben fatta!
    Il mio cliente invece voleva le quotazioni dei due metalli in tempo reale e in più quelle delle monete (come esempio basta vedere il sito prontogold). Quindi diciamo che il mio è un piccolo sito vetrina dove mostrare i prezzi di acquisto fatti dal cliente in base alla quotazione di mercato.
    Ah per chi fosse interessato, per le monete la fomula è:

    peso_in_grammi_oro_moneta x ? x quotazione_24kt_oro = valore acquisto della moneta

    peso_in_grammi_oro_moneta = ogni moneta ha una quantità di oro fissa espressa in grammi (peso al netto). Basta fare una ricerca con Google per avere il dato.

    ? = guadagno che il commerciante vuole ottenere (in genere va da 0,6 a 0.9 )

    quotazione_24kt_oro = la quotazione di mercato del 24 carati (prezzo ask)

  4. #4
    Ottimo lavoro
    Fantasupermegafavolipermeramagicultra irresistibili
    4 10 30 100 1001 personaggi insuperabili fantaincredibili ultraimpossibili iperterribili irresistibili!!!

    "... a quell'età ... bastava un dito per fare la pace ..."
    fotine

  5. #5
    ciao francesco,
    io stò cercando di fare la stessa cosa per un amico ma stò incontrano un po' di difficoltà, potresti aiutarmi a capire meglio come fare per favore?

    grazie mille! ciao, marco

  6. #6
    Certo mioii.
    Spiegami esattamente quali sono i problemi che hai e vediamo di trovare una soluzione.

  7. #7
    dunque, sono a questo punto:

    ho tre documenti
    1) .php che legge da instaforex.com il file json
    2) .js con questa struttura

    $.getJSON('json.php', function(json) {
    var gold = json.GOLD;
    var silver = json.SILVER;

    var goldSymbol = gold.symbol;
    var goldLasttime = gold.lasttime;
    var goldChange = gold.change;
    var goldBid = gold.bid;
    var goldAsk = gold.ask;

    var silverSymbol = silver.symbol;
    var silverLasttime = silver.lasttime;
    var silverChange = silver.change;
    var silverBid = silver.bid;
    var silverAsk = silver.ask;

    var html = '<ul>';
    html += '[*]' + '<a>Metallo: </a>' + goldSymbol + '';
    html += '[*]' + '<a>Ultimo aggiornamento: </a>' + goldLasttime + '';
    html += '[*]' + '<a>Variazione: </a>' + goldChange + '';
    html += '[*]' + '<a>Offerta: </a>' + goldBid + '';
    html += '[*]' + '<a>Domanda: </a>' + goldAsk_kg + '';
    html += '[/list]';

    $('<div id="quota-oro" style="padding-bottom:10px"/>').html(html).appendTo('.container-quote');

    var html = '<ul>';
    html += '[*]' + '<a>Metallo: </a>' + silverSymbol + '';
    html += '[*]' + '<a>Ultimo aggiornamento: </a>' + silverLasttime + '';
    html += '[*]' + '<a>Variazione: </a>' + silverChange + '';
    html += '[*]' + '<a>Offerta: </a>' + silverBid + '';
    html += '[*]' + '<a>Domanda: </a>' + silverAsk + '';
    html += '[/list]';

    $('<div id="quota-argento"/>').html(html).appendTo('.container-quote');

    });

    3) .html con i richiami al .js ed al .css ed il div.container-quote.

    i miei problemi sono:
    1) auto update.
    2) operazioni di conversione

    1) ho provato ad inserire nel .html questo

    <script type="text/javascript">setInterval("updateValues()", 30000 );</script>

    e nel .js ho racchiuso tutto quello che ho postato prima entro questo

    function updateValues() {
    var d=new Date();

    //qui in mezzo il codice postato in precedenza

    }

    ma così facendo aggiornando mi genera sempre dei div.container-quote nuovi e la pagina (giustamente) pian piano si allunga, io vorrei aggiornare il valore senza che vengano aggiunti elementi all'.html. Credo di dover escludere le operazioni di

    ar html = '<ul>';
    html += '[*]' + '<a>Metallo: </a>' + goldSymb......
    //eccetera

    ma non ci riesco.

    2) ho provato le operazioni per ottenere le conversioni ma niente... ad esempio ho provato così:

    var goldAsk = (gold.ask * 31.10);

    ma non funziona, poi quando carico la pagina non si vede più nulla.
    Come devo fare?
    Pensavo anche di pescare da instaforex il valore euro-dollaro per fare una conversione sempre aggiornata, cosa ne dici? come si fa?

    Vorrei poi anche provare a fare uno di quei form tipo preventivo dove inserisci i grammi e ti fa l'operazione ma sono un autodidatta e stò facendo un po fatica.

    ti ringrazio.
    Marco

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.