Arrayvariabelen kunnen geen numerieke waarden ontvangen
Results 1 to 3 of 3

Thread: Arrayvariabelen kunnen geen numerieke waarden ontvangen

  1. #1
    Hallo, ervaren codeerders!

    Ik heb een vreemd probleem ondervonden bij matrices in MT4. Mijn EA heeft te maken met multi-paren. Dus ik moet arrays gebruiken.

    zoals de bijgevoegde code laat zien, declareer ik enkele variabelen in array-vorm v��r init (). later, in een procedure om het aantal transacties, het aantal loten en de zwevende winstverlies samen te vatten, zal de berekening om deze waarden in deze aangegeven matrixvariabelen te zetten niet werken.

    de 4 alerts () die ik in de code heb gezet, geven allemaal 0 terug voor de corresponderende waarden (NO.of trades, lots, en PL), terwijl ze in feite waarden als 2,3,0,6 of 120 ( bijvoorbeeld).

    een voorbeeld: deze regel:
    Alert (lt; 2gt ;: this Pairs [i] heeft PL van DoubleToStr (PairNetPL [i], 1));

    zou mij het volgende moeten geven:
    lt; 2gt ;: deze USDJPY heeft een PL van 110,5

    maar geeft me eigenlijk:
    lt; 2gt ;: deze USDJPY heeft PL van 0

    het probleem is dat ik zeker ben dat OrderProfit () ook 110.5 retourneert. ogenschijnlijk kunnen de waarden op de een of andere manier eenvoudigweg niet worden doorgegeven aan de array, zelfs niet als mijn code dit schrijft.

    kan iemand hier een licht voor mij schijnen?

    erg bedankt.

    Code dubbele PairBuys # 91; # 93;, PairSells # 91; # 93;, PairNetPos # 91; # 93;, PairNetLot # 91; # 93;, PairNetPL # 91; # 93 ;;/before the init () void Count_PL_Trades_Lots () {TotalTrades = 0; EAPL = 0,0; ArrayInitialize (PairBuys, 0); ArrayInitialize (PairSells, 0); ArrayInitialize (PairNetPos, 0); ArrayInitialize (PairNetLot, 0); ArrayInitialize (PairNetPL, 0); voor (int k = 0; k lt; OrdersTotal (); k ) {OrderSelect (k, SELECT_BY_POS, MODE_TRADES); if (OrderMagicNumber () == MagicNumber OrderLots () == Lots) {for (int i = 0; i lt; ArraySize (Pairs); i ) {if (OrderSymbol () == Paren # 91; i # 93;) {Alert (lt; 1gt ;: pair is Paren # 91; i # 93; met type OrderType () , en PL OrderProfit ()); PairNetPL # 91; i # 93; = PairNetPL # 91; i # 93; OrderProfit (); Alert (lt; 2gt ;: this Pairs # 91; i # 93; heeft PL van DoubleToStr (PairNetPL # 91; i # 93;, 1)); EAPL = EAPL PairNetPL # 91; i # 93 ;; if (OrderType () == OP_BUY) {PairBuys # 91; i # 93; = PairBuys # 91; i # 93; 1; Alert (lt; 3gt ;: DoubleToStr (PairBuys # 91; i # 93;, 1)); } if (OrderType () == OP_SELL) PairSells # 91; i # 93; = PairSells # 91; i # 93; 1; Alert (WindowExpertName () Paren # 91; i # 93; heeft DoubleToStr (PairBuys # 91; i # 93;, 0) koopt; en DoubleToStr (PairSells # 91; i # 93;, 0) verkoopt .); }}}} voor (i = 0; i lt; ArraySize (Pairs); i ) {if (PairBuys # 91; i # 93; gt; PairSells # 91; i # 93;) PairNetPos # 91; i # 93; = PairBuys # 91; i # 93; - PairSells # 91; i # 93 ;; else PairNetPos # 91; i # 93; = -PairBuys # 91; i # 93; PairSells # 91; i # 93 ;; PairNetLot # 91; i # 93; = PairNetPos # 91; i # 93; * Kavels; TotalTrades = TotalTrades PairNetPos # 91; i # 93 ;; }/Alert (WindowExpertName () - TotalTrades: DoubleToStr (TotalTrades, 0)); return (0); }

  2. #2

    Quote Originally Posted by ;
    zoals de bijgevoegde code laat zien, declareer ik enkele variabelen in array-vorm v��r init (). later, in een procedure om het aantal transacties, het aantal loten en de zwevende winstverlies samen te vatten, zal de berekening om deze waarden in deze aangegeven matrixvariabelen te zetten niet werken.
    Ik zie waar je de variabelen voor de arrays declareert, maar waar bepaal je eigenlijk de grootte van de arrays?

  3. #3
    Hallo, ZZ, je kwam om me te redden, lol leuk, ik heb de grootte van de array niet ingesteld. Ik dacht dat met de for-loop het element van de array toch impliciet wordt behandeld, dus dit is het probleem? ik ga door om te corrigeren en te testen. nogmaals bedankt, en misschien meer pips met jou, ZZ!
    Quote Originally Posted by ;
    {quote} Ik zie waar u de variabelen voor de arrays declareert, maar waar stelt u de grootte van de arrays eigenlijk in?
    Quote Originally Posted by ;
    {quote} Ik zie waar u de variabelen voor de arrays declareert, maar waar stelt u de grootte van de arrays eigenlijk in?

Similar Threads

  1. Indiornaam, waarden, niveauscodering
    By thedark in forum Cryptocurrencies
    Replies: 1
    Last Post: 12:57,
  2. USD in FOMC: 'Geen trucs, geen traktaties'; 2 aandachtsgebieden - BofA Merrill
    By Aoxnda1989 in forum Forex Nieuws, Suggesties en Ideeën
    Replies: 0
    Last Post: 23:00,

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
This website uses cookies
We use cookies to store session information to facilitate remembering your login information, to allow you to save website preferences, to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners.