MT4 - meerdere Take Profit-niveausgedeeltelijke afsluiting
Results 1 to 10 of 10

Thread: MT4 - meerdere Take Profit-niveausgedeeltelijke afsluiting

  1. #1
    Ik wil graag een bestelling op verschillende niveaus sluiten. Voorbeeld I sluit de helft van mijn bestelling op takeprofit1 en de rest op takeprofit2 met zoiets als dit:
    Ingevoegde code if (OrderType () == OP_BUY) {if (Bieden gt; OrderOpenPrice () TakeProfit1) {OrderClose (12345, 0.5, Bid, 2); } if (Bid gt; OrderOpenPrice () TakeProfit2) {OrderClose (12345, 0.5, Bid, 2); }} Het voor de hand liggende probleem is dat wanneer de prijs mijn TakeProfit1 raakt, deze bij elk nieuw vinkje zal sluiten en uiteindelijk de volledige bestelling zal sluiten. Is er een manier om dit te laten uitvoeren?

    Ik realiseer me dat ik twee afzonderlijke bestellingen met verschillende take-profits kon openen, maar ik zou liever leren hoe het anders te doen als er een andere manier is. Ik hou van het idee mijn winst te verbergen voor de makelaar. Alle hulp of advies wordt op prijs gesteld.

  2. #2

    Quote Originally Posted by ;
    Ik wil graag een bestelling op verschillende niveaus sluiten. Voorbeeld I sluit de helft van mijn bestelling op takeprofit1 en de rest op takeprofit2 met zoiets als dit: Ingevoegde code if (OrderType () == OP_BUY) {if (Bieden gt; OrderOpenPrice () TakeProfit1) {OrderClose (12345, 0.5, Bod , 2); } if (Bid gt; OrderOpenPrice () TakeProfit2) {OrderClose (12345, 0.5, Bid, 2); }} Het voor de hand liggende probleem is dat wanneer de prijs mijn TakeProfit1 raakt, deze zal proberen om elke nieuwe tick te sluiten die uiteindelijk wordt gesloten ...
    gebruik gewoon twee afzonderlijke bestellingen. een bestelling opsplitsen nadat deze is geopend is een lastige klus en vereist het volgen van lopende bestellingen en het zoeken naar nieuw aangemaakte tickets, enz. Het is volledig mogelijk, maar als je vastloopt nadat je alleen de bovenstaande code hebt getypt, is het het beste om het gewoon voor nu te laten en het voor de toekomst te bewaren als je beter kunt coderen. gebruik gewoon twee afzonderlijke bestellingen en ga door met je leven. anders zullen wij degenen zijn die de code voor je schrijven en je hebt niets voor jezelf gedaan.

  3. #3
    Het afsluiten van een deel van een bestelling is zeker voor codeermachines op gevorderd niveau.

  4. #4

    Quote Originally Posted by ;
    Het voor de hand liggende probleem is dat wanneer de prijs mijn TakeProfit1 raakt, deze bij elk nieuw vinkje zal sluiten en uiteindelijk de volledige bestelling zal sluiten. Is er een manier om dit te laten uitvoeren? Ik realiseer me dat ik twee afzonderlijke bestellingen met verschillende take-profits kon openen, maar ik zou liever leren hoe het anders te doen als er een andere manier is. Ik hou van het idee mijn winst te verbergen voor de makelaar. Alle hulp of advies wordt op prijs gesteld.
    //----- he trumpjr ...... gebruik orderselect om de volgorde te kiezen ..... gebruik een orderlots () filter ... hieronder is slechts een snel ruw voorbeeld .... h/- --- Ingevoegde code voor (int i = Orderstotal () - 1; i gt; = 0; i--) {OrderSelect (i, SEL_BY_POSITION, MODE_TRADES); if (OrderSymbool ()! = Symbool ()) ga verder; if (OrderLots () gt; = 1)/orderlots filter {if (OrderType () == OP_BUY) {if (Bieden gt; OrderOpenPrice () TakeProfit1) {OrderClose (OrderTicket (), 0.5, Bid, 0, CLR_NONE ); }}

  5. #5
    Je moet elke bestelling volgen via een uniek magisch nummer om posities in stukken te beheren. Zodra u een bepaalde open order gedeeltelijk sluit, verandert het orderticket en moet u het nieuwe ticketnummer ophalen. Het oude ticketnummer wordt gewoon weggegooid. Om het nieuwe ticketnummer te krijgen en op die manier de resterende gedeeltelijk openstaande bestelling te behouden, moet u het ticketnummer ophalen op basis van het magische nummer. Het magische aantal dat aan een bestelling wordt gegeven, zal niet worden gewijzigd in meerdere gesplitste sluitingen, zodat u de oorspronkelijke bestellevenscyclus nog steeds kunt volgen.

  6. #6
    Magische nummers zijn niet uniek voor een bestelling. Hetzelfde magische getal (meestal) wordt toegewezen aan elke order die door een EA wordt geopend. Er kunnen veel bestellingen met hetzelfde magische nummer worden gemaakt. Uw suggestie zal niet werken.

  7. #7
    is er een eenvoudige manier om dit te doen? de eerste set stops moet strakker zijn per fifo Veronderstel bij codition ik koop 2 afzonderlijke bestellingen .... lot A en partij B voor lotA ik wil SL-A op 30 pips en TP-A op 30pips voor partijB ik wil SL-B op 50 pips en TP-B als 50 pips, ik neem aan dat ik moet sluiten via ticketnummer en verborgen verliezen gebruiken, omdat mijn makelaar alle posities bij elke SL TP sluit dit lijkt zo simpel maar ik ben nog steeds nieuw bij de codering en als ik mezelf gek draai, zijn er voorbeelden van dergelijke code, zodat ik visueel kan achterhalen hoe het werkt

  8. #8
    Iets anders dan de daadwerkelijke take-profit in de volgorde zal imaginair zijn, dus u moet uw secundaire in uw OrderSelect-lus berekenen: Ingevoerde code if ((OrderType () == OP_BUY) (OrderSymbol () == Symbol ( )) (OrderMagicNumber () == MagicNumber)) {if (OrderLots () = gt; 1 (Bied = gt; OrderTakeProfit () - (TakeProfitA * Point))) {double dNewLotSize = NormalizeDouble (OrderLots ()2, 2 ); if (! OrderClose (OrderTicket (), dNewLotSize, Bid, 3, Violet)) Print (OrderClose-fout, GetLastError ()); else Print (OrderClose - OrderTicket ()); }}

  9. #9
    Heel erg bedankt dat je de tijd hebt genomen om dit te posten. Ik heb moeite met het vertalen van de syntax binnen de if-loop. Hoe onderscheidt dit LotA en Lot B? of gaat het ervan uit dat TakeProfit A het eerst moet gebeuren, zodat het controleert op gt; dan alleen? wat doet deze regel code? Ingevoegd Code double dNewLotSize = NormalizeDouble (OrderLots ()2, 2); ik nam aan dat dit had moeten gebeuren door het sluiten van het ticketnummer te kiezen, maar je lus lijkt daar omheen te werken, ik heb er gewoon moeite mee om het duidelijk te vertalen

  10. #10
    hoe werkt dit rond het ticketnummer?

Similar Threads

  1. Cyberia Take Profit!?!
    By Murphy17 in forum Cryptocurrencies
    Replies: 10
    Last Post: 15:24,

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.