Begintijd instellen voor EA? - Page 3
Page 3 of 634 FirstFirst 1234 LastLast
Results 21 to 30 of 32

Thread: Begintijd instellen voor EA?

  1. #21
    Het eerste dat me opviel in de code van Ronald was dat er een ) ontbrak: if (TimeCurrent() gt;= StrToTime (08:30) TimeCurrent() lt;= StrToTime (19:30) CanTrade = True; Het lijkt ontbreken a ) om de allereerste in de code voor TimeCurrent te sluiten. Juist?

  2. #22
    kan zijn. Ik heb net de eerste sectie afgesloten (deze hele routine kan uit 1 segment bestaan ??????en moest verderop in de keten worden gesloten), maar als er 'onevenwichtig' staat, kun je geloven dat dit zo is. - kan echter overal zijn uitgeschakeld.

  3. #23

    Quote Originally Posted by ;
    vertragen en betere foutcontrole uitvoeren. bekijk enkele praktijkvoorbeelden om idee�n op te doen over de structuur van het programma. niemand zal je hier leren programmeren.[code]//Sell if (Order == SIGNAL_SELL ((EachTickMode !TickCheck) || (!EachTickMode (Bars != BarCount)))) {//Loop #1...
    Eerlijk genoeg en ik ga een programmeur niet uitdagen, maar voordat ik de starttijdcode toevoegde, deed zich hier geen fout voor dat de lussen niet gesloten zijn, zoals je hebt gesuggereerd. Eigenlijk is het programma zonder fouten gecompileerd en werkte het totdat ik de tijdcodering invoerde. Ik moet alleen het probleem oplossen om de tijd te beginnen met coderen op de juiste plaats met de juiste haakjes.

  4. #24
    vertragen en betere foutcontrole uitvoeren. bekijk enkele praktijkvoorbeelden om idee�n op te doen over de structuur van het programma. niemand zal je hier leren programmeren. Code ingevoegd/Sell if (Order == SIGNAL_SELL ((EachTickMode !TickCheck) || (!EachTickMode (Bars != BarCount)))) {/Loop #1 if(!IsTrade) {/Loop #2/Controleer vrije marge als (AccountFreeMargin() lt; (1000 * Lots)) {/Loop #3 Print(We hebben geen geld. Gratis marge = , AccountFreeMargin()); return(0);}/End of Loop #3 }/End of Loop #2 }/End of Loop #1 Opmerking: End of Parenth-regels wijzen zelden naar de juiste regel. - Je miste er een die lus #1 sloot - Zorg er altijd voor dat de {} en () overeenkomen. Schrijf schonere code met voldoende tussenruimte om dit soort fouten gemakkelijk op te lossen. Eigenlijk lijkt deze code heel ver weg van werken, maar dat is het proces. Je leert eerst alle manieren om een ??????programma NIET te laten werken, daarna stop je met het maken van die fouten.

  5. #25
    Bedankt voor het antwoord. Dit is waarschijnlijk eenvoudig voor een programmeur, maar ik krijg nu het einde van het programma - ongebalanceerde fout tussen haakjes links en ik heb moeite om te bepalen waar de haakjes moeten komen om de onbalans te verwijderen. Het leidt me naar een lijn waarvan ik niet zou denken dat die zou zijn waar de onbalans zou optreden. Het leidt me naar de vetgedrukte onderstreping van de onderstaande code, het laatste deel van de EA. Is er een gemakkelijke manier om de juiste loion te bepalen of moet ik de methode van vallen en opstaan ????????????gebruiken totdat ik hem vind?/Verkopen als (Order == SIGNAL_SELL ((EachTickMode!TickCheck) || (!EachTickMode (Bars!= BarCount)))) { if(!IsTrade) {//Controleer vrije marge if (AccountFreeMargin() lt; (1000 * Veel)) { Print(We hebben geen geld. Gratis marge = , AccountFreeMargin()); return(0);} } if (Use_Stop_Loss) StopLossLevel = Bod StopLoss * Punt; anders StopLossLevel = 0,0; als (Use_Take_Profit) TakeProfitLevel = Bod - TakeProfit * Punt; anders TakeProfitLevel = 0,0; if(OrderOpenTime()!= Current_Bar) { Ticket = OrderSend(Symbol(), OP_SELL, LotsOptimized(), Bid, Slippage, StopLossLevel, TakeProfitLevel, Sell(# MagicNumber ), MagicNumber, 0, DeepPink); Alarm (Kort, Rood); if(OpenBar != Bars) OpenBar = Bars; } if(Ticket gt; 0) { if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) { Print(VERKOOP bestelling geopend : , OrderOpenPrice()); if (SignalMail) SendMail([Signal Alert], [ Symbol() ] DoubleToStr(Bid, Digits) Open Sell); } else { Print(Fout bij het openen van de VERKOOP-order: , GetLastError()); } } if (EachTickMode) TickCheck = True; if (!EachTickMode) BarCount = Bars; terug(0); } } if (!EachTickMode) BarCount = Bars; terug(0);

  6. #26
    het moet start() zijn {//Het haakje hierboven is belangrijk bool CanTrade = False; if (TimeCurrent() gt;= StrToTime (08:30) TimeCurrent() lt;= StrToTime (19:30) CanTrade = True; { int Order = SIGNAL_NONE; int Total, Ticket; double StopLossLevel, TakeProfitLevel; datetime Current_Bar = Time [0]; if (EachTickMode Bars != BarCount) TickCheck = False; Total = OrdersTotal(); Order = SIGNAL_NONE; rest van code..... return(0); }

  7. #27
    Ronald, ik ben een beginneling in programmeren, dus heb geduld. Ik heb dit geprobeerd, maar het leek niet te werken toen ik het compileerde. Ik kreeg de volgende fouten: 'bool' - puntkomma verwacht C
    programma Bestanden MetaTrader - Experts van Alpari UK Lag3.mq4 (81, 1) 'CanTrade' - uitdrukking op wereldwijde schaal niet toegestaan ??????C
    rogram FilesMetaTrader - Alpari UKexpertsLag3.mq4 (82, 80) Dit is hoe ik het heb ingesteld:/ ------------------------------------------ --------------------------------------- /| deskundige startfunctie |/ ------------------------------------------------------------ ------------------- int start() bool CanTrade = False; if (TimeCurrent() gt;= StrToTime (08:30) TimeCurrent() lt;= StrToTime (19:30) CanTrade = True; { int Order = SIGNAL_NONE; int Total, Ticket; double StopLossLevel, TakeProfitLevel; datetime Current_Bar = Time [0];if (EachTickMode Bars != BarCount)TickCheck = False;Totaal = OrdersTotal();Order = SIGNAL_NONE;

  8. #28
    if (TimeCurrent() gt;= StrToTime(08:30) TimeCurrent()lt;= StrToTime(19:30) CanTrade = True Dit gebied gaat onder Start() maar v��r uw invoerlogica.

  9. #29
    U kunt ook het volgende gebruiken: Code ingevoegd extern StartHour=2/02:00 = 2:00 - 14:00 = 14:00 extern StartMinute=0/Voer in als 24hr Time extern WORKHours=12; bool TradeOK=false; dubbele ShutOffTime; if(TradeOK==false TimeHour(TimeLocal())gt;=StartHour TimeMinute(TimeLocal())gt;=StartMinute){TradeOK=tr ue; ShutOffTime=TimeCurrent() (WORKHours*3600);} if(TimeCurrent()gt;=ShutOffTime){TradeOK=false;} if(TradeOK){......Je routine ......} Er is ook TimeDayOf Week om ook op een bepaalde dag te activeren. TimeLocal haalt de tijd van uw lokale computer. Deze routine begint in de 'UIT'-stand. OPMERKING: 3600 seconden (60*60) in 1 uur.

  10. #30
    bool CanTrade = Onwaar; if(TimeCurrent() gt; StrToTime(02:30)) CanTrade = True; Deze code vertelt de EA dat als de tijd langer is dan 2:30 makelaarstijd, het een transactie kan plaatsen.

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.