Aangepaste MQL4-functie
Results 1 to 8 of 8

Thread: Aangepaste MQL4-functie

  1. #1
    Hallo mensen,

    Ik probeer mijn eigen aangepaste functie uit te voeren om me open orders te tonen (kopen verkopen). Deze code werkt, maar mist enkele dingen.

    Inserted Code void OpenOrders () {BuyOrdersOpen = 0; SellOrdersOpen = 0; int TotalOrders; TotalOrders = OrdersTotal (); for (int iii = TotalOrders-1; iiigt; = 0; iii--) {OrderSelect (iii, SELECT_BY_POS); if (OrderSymbool ()! = Symbool ()) ga verder; if (OrderType () == OP_BUY) {BuyOrdersOpen = BuyOrdersOpen 1; } if (OrderType () == OP_SELL) {SellOrdersOpen = SellOrdersOpen 1; }}} Mijn probleem tot nu toe is dat ik met globale variabelen werk om de resultaten van de functie te krijgen (BuyOrdersOpen, SellOrdersOpen). Ik weet dat ik op de een of andere manier kan zorgen dat de functie de waarden retourneert en dat de waarden beschikbaar zijn, als ik gewoon de functiereis aanroep. Weet niet hoe er te komen echter ...

    Kan iemand me helpen?

  2. #2

    Quote Originally Posted by ;
    Hallo mensen, ik probeer mijn eigen aangepaste functie uit te voeren om me open orders te tonen (kopen verkopen). Deze code werkt, maar mist enkele dingen. [code] void OpenOrders () {BuyOrdersOpen = 0; SellOrdersOpen = 0; int TotalOrders; TotalOrders = OrdersTotal (); for (int iii = TotalOrders-1; iiigt; = 0; iii--) {OrderSelect (iii, SELECT_BY_POS); if (OrderSymbool ()! = Symbool ()) ga verder; if (OrderType () == OP_BUY) {BuyOrdersOpen = BuyOrdersOpen 1; } if (OrderType () == OP_SELL) {...
    opzoeken in het retourbestand van het helpbestand. je hebt de laatste tijd een aantal zeer beginner programmeervragen gesteld. misschien moet je de mql neerleggen en een beetje licht lezen over zoiets als qbasic of python of zoiets ... of een goede C-tutorial vinden. je kunt hier gewoon niet blijven komen om te vragen wat klinkt als huiswerkvragen. mql is best poep voor het proberen te leren hoe je alles met code kunt doen. het is half c-achtig en half iets abstracts, en het hulpbestand is in gebroken Engels dat meestal weinig zin heeft. ga lezen over een andere taal. speel ermee. kom dan terug naar mql. dan zou je misschien wat mql-specifieke vragen kunnen hebben in plaats van met je hoofd tegen de basis te botsen en iedereen hier te vragen. een goede programmeur hoeft niet elke kleine functie van een taal te kennen. ze moeten alleen de grondbeginselen begrijpen van hoe de taal werkt en dan weten hoe ze in hulpbestanden (en online) de bijzonderheden van alle andere dingen die kunnen worden gedaan, kunnen vinden. je moet de grondbeginselen leren kennen en begrijpen ... mql is niet de plek om te beginnen. hel, misschien zelfs iets als robotbattle zou een starter zijn. het zou op zijn minst semi-interessant kunnen zijn (en dan kernoorlogen als je echt in dingen stapt en van een programmeergroentje naar een beetje meer geavanceerd gaat). edit: en om te volgen vanuit codemeister .... kijk ook naar passerende variabelen door verwijzing of naar waarde.

  3. #3
    Het probleem met MQL (en andere taal) functies is dat ze slechts ��n waarde teruggeven. Ik merk dat ik af en toe in hetzelfde raadsel zit. Het gebruik van globals is geen slechte keuze gezien enkele van de alternatieven. Sommigen stellen voor om 2 functies te gebruiken, ��n die het aantal kopen en een ander voor de verkopen retourneert. Maar dat betekent dat u zowel elke keer als het dupliantie van code moet bellen. Ik heb gezien dat sommige mensen ��n waarde retourneren als de functiewaarde en de andere als een globaal - lelijke code en heeft geen enkele betekenis.

  4. #4
    Misschien ben ik gewoon old school - ik heb C geleerd voordat ik MQL leerde - maar de oplossing voor dit probleem bestaat al sinds ... nou C, denk ik.
    http://docs.mql4.com/basis/variables/formal

  5. #5

    Quote Originally Posted by ;
    Hallo mensen, ik probeer mijn eigen aangepaste functie uit te voeren om me open orders te tonen (kopen verkopen). Deze code werkt, maar mist enkele dingen.
    Iets dergelijks (parameters doorgeven door middel van verwijzing) en het totaal teruggeven? Op deze manier krijgt u alle drie waarden: buyopenorders, sellopenorders (op basis van de parameterlijst) en de waarde van totalopenorders geretourneerd uit de functie. Let ook op de wijzigingen in de inspringing. Het doel van inspringen is om te laten zien waar blokken code beginnen en eindigen (zoals lussen of blokken) voor eenvoudige visuele inspectie. Zorg ervoor dat uw accolades de blokken correct omlijsten. Dit betekent op de juiste manier de gekrulde beugellijnen naar boven (links uitgelijnd) met de bijbehorende for-lus of als blok. Code binnen het blok (binnen de accolades) is ingesprongen. Ingevoegde Code int OpenOrders (int BuyOrdersOpen, int SellOrdersOpen) {BuyOrdersOpen = 0; SellOrdersOpen = 0; int TotalOrders = OrdersTotal (); for (int iii = TotalOrders-1; iiigt; = 0; iii--) {OrderSelect (iii, SELECT_BY_POS); if (OrderSymbool ()! = Symbool ()) ga verder; if (OrderType () == OP_BUY) {BuyOrdersOpen = 1; } if (OrderType () == OP_SELL) {SellOrdersOpen = 1; }} retourneer TotalOrders; }

  6. #6

    Quote Originally Posted by ;
    Het probleem met MQL (en andere taal) functies is dat ze slechts ��n waarde teruggeven. Ik merk dat ik af en toe in hetzelfde raadsel zit. Het gebruik van globals is geen slechte keuze gezien enkele van de alternatieven. Sommigen stellen voor om 2 functies te gebruiken, ��n die het aantal kopen en een ander voor de verkopen retourneert. Maar dat betekent dat u zowel elke keer als het dupliantie van code moet bellen. Ik heb gezien dat sommige mensen ��n waarde retourneren als de functiewaarde en de andere als een globaal - lelijke code en heeft geen enkele betekenis.
    Ik hoor de bezorgdheid. Ik heb de neiging om te denken dat het herhalen van code (met name loops) vaak een slecht idee is. MT4 is ineffici�nt genoeg zoals het is, het is niet nodig om het minder effici�nt te maken. Als parameters echter door verwijzing worden doorgegeven, kan het lezen of begrijpen van de code voor sommige of in sommige gevallen moeilijker worden. Als het dit doet, is het misschien de prestatieshit of het gebruik van een globale variabele waardig die ik liever herhaal dan herhalende lussen. Mijn voorkeur gaat uit naar een enkele lus wanneer mogelijk en om referenties door te geven zoals in de bovenstaande code. Globalen werken ook, maar dan wordt het minder duidelijk wat een herbruikbare functie is en wat een breekbare code is. Niet dat ik een globale variabele vaak niet gebruik op ontwerp. Soms is het maken van de code herbruikbaar of gegeneraliseerd meer moeite dan het waard is. Ik hergebruik niet alles.

  7. #7

    Quote Originally Posted by ;
    Iets dergelijks (parameters doorgeven door middel van verwijzing) en het totaal teruggeven? Op deze manier krijgt u alle drie waarden: buyopenorders, sellopenorders (op basis van de parameterlijst) en de waarde van totalopenorders geretourneerd uit de functie. Let ook op de wijzigingen in de inspringing. Het doel van inspringen is om te laten zien waar blokken code beginnen en eindigen (zoals lussen of blokken) voor eenvoudige visuele inspectie. Zorg ervoor dat uw accolades de blokken correct omlijsten. Dit betekent op de juiste manier dat de gekrulde beugel lijnen oplijnt (links uitgelijnd) met de bijbehorende voor ...
    ik veronderstel dat je niet veel in het hele 'teach a man to fish'-concept bent en meer hebt om de vis weg te geven aan iedereen die erom vraagt. en die indeuking doet pijn aan mijn hoofd. ik weet dat velen het zo doen, maar ik ben zelf meer een 1TBS-stijl. na een paar duizend regels code in 1TBS zouden die verspilde openingsbeugels echt zijn opgeteld - veel extra verspilde lijnen die de leesbaarheid aanzienlijk belemmeren. gewoon een idle observatie, want deze thread is nu in feite klaar. kr-inspringen zou deze dag op weg moeten zijn (volgens mij tenminste).

  8. #8

    Quote Originally Posted by ;
    ik veronderstel dat je niet veel in het hele 'teach a man to fish'-concept bent en meer hebt om de vis weg te geven aan iedereen die erom vraagt.
    Het gaat erom een ??????persoon te leren vissen, maar ik voelde dat hij een eerlijke poging deed op basis van welke code werd gepost en wat werd gevraagd. Hij wist wat hij niet wist en was niet te trots om om hulp te vragen.
    Quote Originally Posted by ;
    en die indeuking doet pijn aan mijn hoofd. ik weet dat velen het zo doen, maar ik ben zelf meer een 1TBS-stijl. na een paar duizend regels code in 1TBS zouden die verspilde openingsbeugels echt zijn opgeteld - veel extra verspilde lijnen die de leesbaarheid aanzienlijk belemmeren. gewoon een idle observatie, want deze thread is nu in feite klaar. kr-inspringen zou deze dag op weg moeten zijn (volgens mij tenminste).
    Ik geef ook de voorkeur aan 1TBS vanwege de schermeconomie, maar omdat Mike moeite had om alleen de haakjes op te stellen, wilde ik me niet verbazen.

Similar Threads

  1. Functie voor Madro EA
    By Jululu in forum Cryptocurrencies
    Replies: 12
    Last Post: 07:19,
  2. Over de functie OrderTicket ()
    By Susorh in forum Cryptocurrencies
    Replies: 2
    Last Post: 08:08,
  3. Money Mgmt-functie
    By jttue30 in forum Cryptocurrencies
    Replies: 11
    Last Post: 23:31,

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.