Faits: Faits: A. Né en 1922, X._, citoyen américain domicilié en Belgique, est l'unique ayant droit économique de A._, entreprise fiduciaire de droit liechtensteinois, spécialisée dans la gestion de patrimoine. A._ a d'abord été cliente de la banque T._, à Genève. Dès 1995, X._ a convenu avec cette banque d'une stratégie d'investissement fondée sur la spéculation sur les taux de change entre le yen japonais (JPY) et d'autres monnaies. En substance, il s'agissait de s'endetter dans une monnaie à faible taux d'emprunt - le yen -, avant d'investir le produit du prêt dans un portefeuille d'obligations en monnaies à plus haut rendement, par exemple le dollar américain (USD). Cette stratégie est fondée sur la stabilité du taux de change JPY/USD; en cas d'appréciation du yen par rapport au dollar, la perte de change risque en effet d'annuler le bénéfice lié à la différence de taux d'intérêts, une forte hausse du yen pouvant même entraîner des pertes. Pour assurer une couverture adéquate des prêts et avances à terme fixe consentis par la banque, ce genre d'opération spéculative implique la fixation d'une marge de sécurité exprimée en pour-cent de la valeur totale du portefeuille; à titre d'exemple, une marge de 30% permet un emprunt à concurrence de 70% de la valeur du portefeuille. Lorsque l'endettement dépasse ce dernier taux, la banque demande au client de reconstituer la marge (appel de marge), par la réalisation de titres du portefeuille ou par l'apport d'actifs. Elle peut aussi, dans certaines conditions, liquider les positions. Même s'il ne disposait pas de connaissances bancaires approfondies, X._ avait une compréhension partielle des marchés financiers. Il était en tout cas conscient du risque lié aux opérations spéculatives décrites ci-dessus; il savait ce que signifiait un appel de marge. En bref, il maîtrisait sa stratégie d'investissement. Auprès de la banque T._, l'endettement de A._ ne pouvait dépasser le 70% de la valeur du portefeuille. En 1997, X._ a cherché à obtenir une marge permettant un endettement plus important. La banque était d'accord à condition que le client l'autorise d'emblée à réaliser certains biens en cas d'appréciation du yen et de non-respect de la marge. Comme il refusait cette exigence, X._ s'est adressé à la banque W._ SA, devenue par la suite V._ SA. Le 2 mai 1997, X._ et Y._, gestionnaire et membre de la direction de V._, ont convenu de poursuivre dans cet établissement la stratégie d'investissement initiée auprès de la banque T._. Le courrier de confirmation indiquait une marge de 30%, sans faire mention de la possibilité donnée à la banque de réaliser les actifs du compte en cas de dépassement de la limite. Le 12 juin 1997, A._ a ouvert un compte auprès de V._. Elle a conféré à X._ un pouvoir de signature individuelle. Aucun mandat de gestion n'a été confié à V._, qui devait se contenter d'exécuter les instructions de X._. Parmi les documents signés, figurent notamment une décharge pour ordres téléphoniques ainsi que les «conditions spéciales pour opération et contrat à terme, options et autres dérivés», qui comprennent le passage suivant: «Les marges de garantie relatives à ce genre d'opérations et, de manière générale, aux nantissements seront déterminées par la Banque de cas en cas. Le Client s'engage à veiller au maintien et à la reconstitution desdites marges dont le montant doit correspondre en tout temps à la marge indiquée lors de la confirmation de la ligne, sans que la Banque soit obligée de l'aviser, de manière formelle ou autre en cas d'insuffisance de marge. La Banque se réserve le droit de modifier les marges requises en tout temps et sans préavis. Les pertes, qu'elles soient réalisées ou non, doivent toujours être couvertes à 100%. (...) Lorsque le Client ne fournit pas de sûretés complémentaires, la Banque a le droit, mais non l'obligation de prendre immédiatement, ou à tout autre moment qui lui conviendra ultérieurement, les mesures nécessaires pour reconstituer la couverture intégrale. La Banque peut, à son choix, liquider en tout ou en partie les transactions ou contrats conclus ou réaliser les sûretés fournies.» Jusqu'en août 1999, X._, qualifié de «client privilégié», se trouvait en contact téléphonique presque quotidien avec Y._ ou son assistante. Les appels ont également été très fréquents entre le 1er et le 15 septembre 1999. Vu l'intensité de ces échanges, la banque avait cessé de consigner leur contenu par écrit. Les relevés bancaires étaient envoyés mensuellement au domicile privé de X._, qui était aussi informé de la position des comptes sur demande téléphonique. D'accord entre les parties, la marge initiale de 30% a été réduite à 20%, autorisant ainsi un emprunt à concurrence de 80% de la valeur du portefeuille. En octobre 1998, cette dernière limite a été dépassée. A cette occasion, le comité de crédit de V._ a approuvé une marge «exceptionnelle» fixée à 10%. A._ affirme qu'elle n'en a pas été informée, alors que V._ soutient que le comité de crédit ne serait pas intervenu sans la volonté de la cliente de disposer d'une marge plus favorable à ses investissements. Dès le début 1999, le yen s'est régulièrement renforcé par rapport au dollar, de sorte que le taux d'utilisation du crédit a passé à 81,16% du portefeuille le 2 juillet 1999, puis à 85,5% le 31 juillet 1999. X._ a alors demandé à Y._ s'il était indiqué de mettre en place une option permettant de limiter le risque. Selon le gestionnaire, le bénéficiaire de A._ a renoncé à ce projet à cause du prix d'une telle option, oscillant entre 200 000 et 300 000 USD. Pour sa part, X._ prétend avoir donné l'instruction d'acheter l'option, mais que la banque n'y a pas donné suite. Parmi les emprunts contractés en yens, trois venaient à échéance en août 1999. Ils ont été reconduits respectivement les 3 et 29 août 1999 à concurrence de 625 000 000 JPY, représentant le tiers des emprunts. X._ soutient que ces renouvellements ont été exécutés par la banque à son insu, tandis que V._ affirme le contraire. En septembre 1999, la différence de change entre le yen et le dollar américain a encore évolué en défaveur des investissements de A._. La banque a alors demandé à sa cliente de vendre des actions du portefeuille pour reconstituer la marge; ces transactions, exécutées les 8 et 13 septembre 1999, ont produit 1 350 000 USD, montant insuffisant pour respecter la marge fixée. Toujours en septembre 1999, le département des crédits de V._ a indiqué au gestionnaire que la pose d'un «stop loss» à 107 était nécessaire; ce chiffre représente un taux de change JPY/USD qui, s'il est atteint, entraîne la liquidation de toutes les positions du client. Y._ affirme avoir avisé X._ de cette mesure; celui-ci aurait alors refusé un «stop loss» à 107 et demandé au gestionnaire de solliciter la pose d'un tel mécanisme à un niveau plus bas, car il était persuadé que la progression du yen par rapport au dollar n'était qu'un accident de parcours. A la suite de plusieurs requêtes de Y._, le comité des crédits a accepté la fixation d'un «stop loss» à 104 sur l'ensemble des investissements. Selon le gestionnaire, il a communiqué cette décision à X._ le 10 septembre 1999 et ce dernier l'a acceptée. Le 15 septembre 1999, le seuil de 104 a été atteint et les positions de A._ ont été liquidées. Le gestionnaire de V._ affirme avoir téléphoné ce jour-là à X._ pour lui annoncer cette liquidation et avoir obtenu son accord afin que le montant à rembourser soit réparti sur les diverses échéances des prêts en yens, sous forme d'opérations «swap». Le 16 septembre 1999, X._ a rencontré Y._ et deux autres membres de la direction de V._. Il affirme avoir appris à cette occasion la reconduction des emprunts en août 1999. Il soutient également avoir ignoré qu'un «stop loss» avait été fixé à 104 et qu'il avait été exécuté la veille. Lors de cette réunion, X._ a signé un ordre pour vendre toutes les obligations en dollars australiens et canadiens ainsi qu'en livres sterling. Comme les parties étaient liées par une forte relation de confiance, la banque n'a pas demandé au client de signer un bien-trouvé. Dans un courrier du 20 septembre 1999, X._ a reproché à la banque la fixation d'un «stop loss» à 104 et la liquidation de la totalité de ses positions. V._ a nié que sa responsabilité soit engagée pour les pertes subies par A._. Dans un courrier du 20 septembre 1999, X._ a reproché à la banque la fixation d'un «stop loss» à 104 et la liquidation de la totalité de ses positions. V._ a nié que sa responsabilité soit engagée pour les pertes subies par A._. B. Par demande déposée le 17 octobre 2001, A._ a assigné V._ en paiement de 5 916 497 USD avec intérêts à 7,5% dès le 3 août 2001. Fondant son action sur la violation fautive des obligations contractuelles de la banque, A._ réclamait réparation d'un dommage qu'elle décomposait ainsi (sic): - 4 584 895 USD représentant la différence en dollars américains des yens mis à disposition de A._ le 17 septembre 1999 et leur valeur au 3 août 2001, date d'échéance des opérations à terme; - 1 585 099 USD correspondant au manque à gagner jusqu'au 3 août 2001 résultant du défaut de revenu des obligations vendues le 17 septembre 1999. Par jugement du 22 septembre 2003, le Tribunal de première instance du canton de Genève a rejeté toutes les conclusions de A._. Statuant le 11 juin 2004 sur appel de la demanderesse, la Chambre civile de la Cour de justice a confirmé le jugement entrepris. Statuant le 11 juin 2004 sur appel de la demanderesse, la Chambre civile de la Cour de justice a confirmé le jugement entrepris. C. A._ interjette un recours en réforme, dans lequel elle reprend ses conclusions en paiement de première instance. A titre subsidiaire, elle demande le renvoi de la cause à la cour cantonale aux fins de procéder à la détermination et au calcul du dommage. La banque propose le rejet du recours. Après le prononcé de l'arrêt cantonal, la raison sociale de la défenderesse a été modifiée en B._ SA. Par arrêt de ce jour, la cour de céans a rejeté dans la mesure de sa recevabilité le recours de droit public déposé parallèlement par A._.