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._.

Le Tribunal fédéral considère en droit:
Le Tribunal fédéral considère en droit:
1. 1.1 Interjeté par la partie qui a succombé dans ses conclusions condamnatoires, et dirigé contre un jugement final rendu en dernière instance cantonale par un tribunal supérieur (art. 48 al. 1 OJ) sur une contestation civile dont la valeur litigieuse atteint le seuil de 8000 fr. (art. 46 OJ), le recours en réforme est en principe recevable, puisqu'il a été déposé en temps utile (art. 54 al. 1 OJ) et dans les formes requises (art. 55 OJ).
1.2 Saisi d'un tel recours, le Tribunal fédéral conduit son raisonnement juridique sur la base des faits contenus dans la décision attaquée, à moins que des dispositions fédérales en matière de preuve n'aient été violées, qu'il faille rectifier des constatations reposant sur une inadvertance manifeste (art. 63 al. 2 OJ) ou compléter les constatations de l'autorité cantonale parce que celle-ci n'a pas tenu comptes de faits pertinents, régulièrement allégués et clairement établis (art. 64 OJ; <ref-ruling> consid. 2.2 p. 106, 136 consid. 1.4 p. 140; <ref-ruling> consid. 2c).
Dans la mesure où la partie recourante présente un état de fait qui s'écarte de celui contenu dans la décision attaquée, sans se prévaloir avec précision de l'une des exceptions qui viennent d'être rappelées, il n'est pas possible d'en tenir compte (ATF <ref-ruling> consid. 2c). Il ne peut être présenté de griefs contre les constatations de fait, ni de faits ou de moyens de preuve nouveaux (art. 55 al. 1 let. c OJ). Le recours en réforme n'est donc pas ouvert pour remettre en cause l'appréciation des preuves et les constatations de fait qui en découlent (<ref-ruling> consid. 1.4, p. 140; <ref-ruling> consid. 2b/aa p. 277).
Dans la mesure où la partie recourante présente un état de fait qui s'écarte de celui contenu dans la décision attaquée, sans se prévaloir avec précision de l'une des exceptions qui viennent d'être rappelées, il n'est pas possible d'en tenir compte (ATF <ref-ruling> consid. 2c). Il ne peut être présenté de griefs contre les constatations de fait, ni de faits ou de moyens de preuve nouveaux (art. 55 al. 1 let. c OJ). Le recours en réforme n'est donc pas ouvert pour remettre en cause l'appréciation des preuves et les constatations de fait qui en découlent (<ref-ruling> consid. 1.4, p. 140; <ref-ruling> consid. 2b/aa p. 277).
2. La compétence des tribunaux suisses est donnée en raison du siège à Genève de la défenderesse (<ref-law>).
L'arrêt attaqué ne contient aucune constatation à propos d'une éventuelle élection en faveur du droit suisse. Toujours est-il qu'aucune des parties n'a contesté l'application de ce droit, correspondant à celui de l'Etat dans lequel la banque, qui fournit la prestation caractéristique, a son établissement (art. 117 al. 1, 2, 3 let. c et d LDIP).
L'arrêt attaqué ne contient aucune constatation à propos d'une éventuelle élection en faveur du droit suisse. Toujours est-il qu'aucune des parties n'a contesté l'application de ce droit, correspondant à celui de l'Etat dans lequel la banque, qui fournit la prestation caractéristique, a son établissement (art. 117 al. 1, 2, 3 let. c et d LDIP).
3. La cour cantonale a retenu en fait que, sur tous les points contestés par la demanderesse, la défenderesse avait agi avec l'accord de sa cliente. Selon l'arrêt attaqué, aucune violation fautive de ses obligations contractuelles ne peut être reprochée à la défenderesse, dès lors qu'il est établi que la banque a correctement exécuté les instructions de la demanderesse.
Dans son recours, la demanderesse fait valoir que, même en se fondant sur l'état de fait cantonal qu'elle a contesté en vain dans le recours de droit public, la défenderesse a engagé sa responsabilité contractuelle en violant ses obligations lors de la fixation de la marge, de la mise en place du «stop loss» et de la liquidation des positions de la cliente.
3.1 De manière générale, la banque qui, sans être au bénéfice d'un mandat de gestion, s'engage à exécuter des instructions, n'est pas tenue à une sauvegarde des intérêts du mandant. Un devoir général d'information n'existe pas en pareille hypothèse. En principe, la banque ne doit renseigner le client que s'il le demande; s'il apparaît que celui-ci n'a aucune idée des risques qu'il court, la banque doit toutefois l'y rendre attentif. Le devoir de fidélité n'impose pas non plus à la banque chargée d'exécuter des ordres déterminés de conseiller spontanément le client sur les développements probables des investissements choisis et sur les mesures à prendre pour limiter les risques (<ref-ruling> consid. 5 et 7 et les références; arrêt 4C.108/2002 du 23 juillet 2002, consid. 2b; cf. également arrêt 4C.410/1997 du 23 juin 1998, consid. 3b, reproduit in SJ 1999 I, p. 205).
3.2 En ce qui concerne la fixation conventionnelle de la marge à 10%, la demanderesse expose qu'un taux aussi faible avait pour pendant un accroissement exceptionnel du risque présenté par les investissements de la cliente. Or, à son avis, il n'était pas conforme aux obligations contractuelles de la banque de faire courir un tel risque à une société animée par une personne de près de 80 ans, qui n'était pas un professionnel averti.
La marge exigée pour certaines transactions tend à limiter les risques de la banque en cas d'insolvabilité du client. A priori, ce dernier ne peut donc se retourner contre la banque lorsque celle-ci se contente d'une marge insuffisante (cf. Carlo Lombardini, Droit bancaire suisse, 2002, n. 87, p. 483; cf. également arrêt 4C.166/2000 du 8 décembre 2000, consid. 5b/cc). Au demeurant, selon les constatations de la Cour de justice, la marge a été fixée en l'espèce à 10% d'entente entre les parties. Aucun élément de l'arrêt attaqué ne permet de supposer que le bénéficiaire de la demanderesse n'était pas à même d'apprécier, en raison de son âge, les risques encourus. Au contraire, il ressort de l'état de fait cantonal que X._ était conscient des risques liés aux investissements spéculatifs auxquels il se livrait depuis plusieurs années et qu'il maîtrisait sa stratégie à cet égard. Dans ces conditions, la responsabilité contractuelle de la banque ne saurait, en tout état de cause, être engagée pour avoir accepté de réduire la marge.
3.3 Selon la demanderesse, la défenderesse a également violé ses obligations contractuelles en proposant et en faisant accepter par sa cliente la pose d'un «stop loss», sans lui offrir d'alternative, par exemple en lançant un troisième appel de marge. Sans nécessité pour elle-même, la banque aurait ainsi placé l'investisseur dans une situation très défavorable.
Cette argumentation repose en partie sur des faits qui ne correspondent pas aux constatations cantonales et se révèle irrecevable dans cette mesure. Ainsi, contrairement à ce que la demanderesse prétend, les deux premiers appels de marge n'avaient pas permis de reconstituer celle-ci. En outre, la mise en place d'un «stop loss» était nécessaire pour protéger les avoirs de la cliente et ceux de la banque.
Cela étant, on ne voit pas en quoi la conclusion d'un accord de «stop loss», au niveau souhaité par le bénéficiaire de la demanderesse, pourrait constituer une violation de l'obligation de diligence de la banque, dès lors qu'il s'agissait d'une mesure destinée à limiter le risque de perte des deux parties lors d'une période de hausse du yen par rapport au dollar américain. Le moyen est manifestement mal fondé.
3.4 En dernier lieu, la demanderesse reproche à la banque une «liquidation aberrante des positions» par la mise en place d'opérations «swap». La défenderesse aurait pris l'initiative d'installer un mécanisme dont elle savait nécessairement qu'il concrétisait une perte de change pour la cliente, alors que cette perte ne pouvait plus être compensée par la suite. La banque ne saurait au surplus invoquer le consentement du bénéficiaire de la demanderesse, dont elle devait savoir qu'il ne comprenait pas le sens et la portée des opérations en cause.
Là encore, la demanderesse se fonde sur des faits qui ne ressortent pas de l'arrêt attaqué, ce qui n'est pas admissible dans un recours en réforme. Ainsi, la cour cantonale a retenu, d'une manière résistant au grief d'arbitraire selon l'arrêt sur recours de droit public, que le mode de liquidation adopté par les parties était propre à garantir les intérêts de la cliente. Par ailleurs, aucun élément de l'arrêt attaqué ne permet de conclure que X._ ne comprenait pas le sens et la portée des opérations «swap» lorsqu'il a donné son accord à cette manière de procéder. Il ne résulte pas des constatations cantonales que le bénéficiaire de la demanderesse n'a pas compris comment la position serait liquidée, qu'il ignorait ce qu'étaient des opérations «swap», qu'il a posé des questions à ce sujet ou encore qu'il a reçu des informations erronées. Dans ces conditions, la cour cantonale n'a pas méconnu le droit fédéral en refusant de voir une violation d'une obligation contractuelle de la banque dans la mise en place d'opérations «swap», approuvées par le bénéficiaire de la demanderesse.
3.5 En conclusion, l'arrêt attaqué ne consacre aucune violation du droit fédéral, de sorte que le recours sera rejeté.
3.5 En conclusion, l'arrêt attaqué ne consacre aucune violation du droit fédéral, de sorte que le recours sera rejeté.
4. Vu le sort réservé au recours, il convient de mettre les frais judiciaires à la charge de la demanderesse (art. 156 al. 1 OJ). Celle-ci versera en outre des dépens à la défenderesse (art. 159 al. 1 OJ).

Par ces motifs, le Tribunal fédéral prononce:
Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est rejeté.
1. Le recours est rejeté.
2. Un émolument judiciaire de 25 000 fr. est mis à la charge de la demanderesse.
2. Un émolument judiciaire de 25 000 fr. est mis à la charge de la demanderesse.
3. La demanderesse versera à la défenderesse une indemnité de 27 000 fr. à titre de dépens.
3. La demanderesse versera à la défenderesse une indemnité de 27 000 fr. à titre de dépens.
4. Le présent arrêt est communiqué en copie aux mandataires des parties et à la Chambre civile de la Cour de justice du canton de Genève.
Lausanne, le 26 janvier 2005
Au nom de la Ire Cour civile
du Tribunal fédéral suisse
Le Président: La Greffière: