Heb je hulp nodig in EA Coding
Results 1 to 4 of 4

Thread: Heb je hulp nodig in EA Coding

  1. #1
    #eigendom show_inputs
    # include lt; WinUser32.mqhgt;
    # include lt; stdlib.mqhgt;
    #define NL \ n
    #define highline Volgend hoog rond getal
    #define highlinetradetrigger Volgende koop handelstrigger
    #define lowline Volgend laag rond getal
    #define lowlinetradetrigger Volgende handelstrigger verkopen


    /*
    void DisplayUserFeedback ()
    begin()

    ---- Handelsfuncties ----
    void LookForTradingOpportunity ()
    bool SendSingleTrade (int type, stringcommentaar, dubbele lotsize, dubbele prijs, dubbele stop, dubbele TP, int magie)
    bool DoesTradeExist ()

    ---- Matt's Order Betrouwbare bibliotheekcode
    bool O_R_CheckForHistory (int ticket) Proost Matt, je bent een ster.
    ongeldig O_R_Sleep (double mean_time, double max_time)

    *




    extern string bs = ---- Basis dingen ----;
    externe dubbele partij = 0,01;
    extern int MagicNumber = 615046;
    extern string TradeComment = Ronde nummers;
    extern bool CriminalIsECN = false;
    extern int TradeTriggerPips = 15;
    extern bool ReverseTradeDirection = false;
    extern bool TakeFirstTrade = true;
    externe string tpsl = ---- Stop loss ----;
    extern int StopLoss = 100;
    externe string TSL = ---- Trailing stop loss ----;
    extern int TrailingStopPips = 15;
    extern int BreakEvenProfitPips = 1;
    extern string trs = ---- Odds and ends ----;
    extern int DisplayGapSize = 30;
    extern bool DeleteLinesOnExit = true;
    externe dubbele bprice = 1,3480;
    extern dubbel sprietje = 1,3460;
    dubbele sl = 20;
    dubbele TP = 20;




    //Matt's O-R-dingen
    int O_R_Setting_max_retries = 10;
    dubbele O_R_Setting_sleep_time = 4.0;* seconden *
    dubbel O_R_Setting_sleep_max = 15.0;* seconden *


    //Ronde nummers
    dubbele RoundNumberHigh, RoundNumberHighTrigger;
    dubbele RoundNumberLow, RoundNumberLowTrigger;

    //Misc dingen
    string ScreenMessage, Gap;
    bool RobotDisabled;
    string Uitgeschakeld bericht;
    int Spread;


    void DisplayUserFeedback ()
    {
    ScreenMessage =;

    ScreenMessage = StringConenate (ScreenMessage, Gap, NL);
    ScreenMessage = StringConenate (ScreenMessage, Gap, Lot size =, Lot, NL);
    ScreenMessage = StringConenate (ScreenMessage, Gap, Stop loss =, StopLoss, NL);
    ScreenMessage = StringConenate (ScreenMessage, Gap, Magic number =, MagicNumber, NL);
    dubbele spread = MarketInfo (Symbol (), MODE_SPREAD);
    ScreenMessage = StringConenate (ScreenMessage, Gap, Spread =, spread, NL);

    ScreenMessage = StringConenate (ScreenMessage, NL);
    Reactie (ScreenMessage);


    }/void DisplayUserFeedback ()


    // ----------------------------------------------- -------------------
    //| expert Initialisatie functie |
    // ----------------------------------------------- -------------------

    int init ()
    {

    int vermenigvuldiger;
    if (Cijfers == 2 || Cijfers == 4) vermenigvuldiger = 1;
    if (Cijfers == 3 || Cijfers == 5) vermenigvuldiger = 10;
    if(Digits == 6) multiplier = 100;
    if (Cijfers == 7) vermenigvuldiger = 1000;

    TradeTriggerPips * = vermenigvuldiger;
    StopLoss * = vermenigvuldiger;
    BreakEvenProfitPips * = vermenigvuldiger;



    Gap =;
    if (DisplayGapSize gt; 0)
    {
    voor (int cc = 0; cc; Display Size; c )
    {
    Gap = StringConenate (Gap,);
    }
    }



    Commentaar (......... Wachten op een vinkje);
    begin();

    }

    // ----------------------------------------------- -------------------
    //| expert De�nitialisatiefunctie |
    // ----------------------------------------------- -------------------

    int deinit ()
    {


    Commentaar();

    }



    bool DoesTradeExist ()
    {
    //Zoekt naar open transacties


    if (OrdersTotal () == 0) return (false);/niets te doen
    bool gevonden = false;

    for (int cc = OrdersTotal () - 1; cc gt; = 0; cc--)
    {
    als (! OrderSelect (cc, SELECT_BY_POS)) verdergaat;
    if (OrderMagicNumber () == MagicNumber OrderSymbol () == Symbol ())
    {
    gevonden = waar;


    if (OrderProfit () gt; 0) TrailingStopLoss ();
    }
    }


    terugkeer (gevonden);

    }/End bool DoesTradeExist ()



    bool SendSingleTrade (int type, stringcommentaar, dubbele lotsize, dubbele prijs, double sl, double TP, int magic)
    {



    int slippage = 10;
    if (Cijfers == 3 || Cijfers == 5) Slippage = 100;

    kleur col = rood;
    if (type == OP_BUY || type == OP_BUYSTOP) col = Green;

    int expiry = 0;
    /if (SendPendingTrades) expiry = TimeCurrent() (PendingExpiryMinutes * 60);


    if (! CriminalIsECN) int ticket = OrderSend (Symbol (), type, lotsize, price, slippage, sl, TP, comment, magic, expiry, col);


    //Is een crimineel in 2 fasen
    if (CriminalIsECN)
    {
    ticket = OrderSend (Symbol (), type, lotsize, price, slippage, 0, 0, comment, magic, expiry, col);
    if (sl != 0)
    {
    if (ticket gt; 0)
    bool result = OrderModify (ticket, OrderOpenPrice (), sl, TP, 0, CLR_NONE);
    if (! resultaat)
    {
    int err = GetLastError ();
    Afdrukken (symbool (),, type, SL-order wijzigen mislukt met fout (, err,):, ErrorDescription (err));
    }//if (!result)
    }/if (Sl! = 0)


    }/if (CriminalIsECN)

    //Foutopsporing voor beide
    if (ticket lt; 0)
    {
    string type;
    if (type == OP_BUY) stype = OP_BUY;
    if (type == OP_BUYSTOP) stype = OP_BUYSTOP;
    if (type == OP_SELL) stype = OP_SELL;
    if (type == OP_SELLSTOP) stype = OP_SELLSTOP;
    err = GetLastError ();
    Alert (Symbol (),, stype, Handmatig EA order verzenden mislukt met fout (, err,):, ErrorDescription (err));
    Afdrukken (Symbol (),, stype, Handmatig EA order verzenden mislukt met fout (, err,):, ErrorDescription (err));
    terugkeer (false);
    }//if (ticket lt; 0)

    //Zorg ervoor dat de handel in de geschiedenis van het platform is verschenen om duplie-transacties te voorkomen
    O_R_CheckForHistory (ticket);

    //Zo ver gekomen, zodat het verzenden van de handel gelukt is
    terugkeer (true);


    }/End bool SendSingleTrade (int-type, stringcommentaar, dubbele lots, dubbele prijs, dubbele stop, dubbele TP)



    //START TRADE LOGIC/

    void LookForTradingOpportunity ()
    {

    als (IsTradeContextBusy ()) terugkeert;

    dubbele sl, TP;
    RefreshRates ();
    bool resultaat;


    double MinStop = MarketInfo (Symbol (), MODE_STOPLEVEL) * Point;


    if (! ReverseTradeDirection)
    {
    //Lang

    if (Bieden gt; = prijs)
    {


    if (TakeFirstTrade)
    {
    //Eerste ruil met tp
    resultaat = false;
    while (result == false)
    {
    if (StopLoss gt; 0) sl = NormalizeDouble(Ask - (StopLoss * Point), Digits);

    result = SendSingleTrade (OP_BUY, TradeComment, Lot, Ask, sl, TP, MagicNumber);
    }/while (result = false)
    }/if (TakeFirstTrade)


    }/



    //Short
    //if (Bied lt; = lo Open [0] gt; lo lo gt; 0)
    if (Bied lt; = prijs)
    {


    if (TakeFirstTrade)
    {
    //Eerste ruil met tp
    resultaat = false;
    terwijl (! resultaat)
    {
    if (StopLoss gt; 0) sl = NormalizeDouble (Bied (StopLoss * Punt), Cijfers);
    result = SendSingleTrade (OP_SELL, TradeComment, Lot, Bid, sl, TP, MagicNumber);
    }/Terwijl (! Resultaat)
    }//if (TakeFirstTrade)


    }/if (Bied lt; = lo Open [1] gt; lo lo gt; 0)
    }/if (! ReverseTradeDirection)


    }/void LookForTradingOpportunity ()
    //EINDE HANDELLOGIEK/


    Ik krijg foutmelding 130 Ongeldige tussenstops, waar zou ik het mis kunnen hebben ???

    wanneer ik extern inst StopLoss = 0; alles is goed als het gaat om het ontslag van orders, behalve dat er geen tp- of sl-waarden bij de bestelling worden gevoegd.

  2. #2

    Quote Originally Posted by ;
    Ik krijg foutmelding 130 Ongeldige tussenstops, waar zou ik het mis kunnen hebben ??? wanneer ik extern inst StopLoss = 0; alles is goed als het gaat om het ontslag van orders, behalve dat er geen tp- of sl-waarden bij de bestelling worden gevoegd.
    Is dit met een ECN-type Broker? Kijk hier eens:
    http://crum.be/ecn

  3. #3
    nee deze fout is bij alle soorten brokers. ik weet waarom de fout komt omdat ik handmatig een cijfer krijg bij deze variabelen sprice en bprice, maar ik weet niet hoe ik eroverheen kan komen door wijzigingen in de code aan te brengen. alles wat ik wil is omdat het de bestelling koopt en verkoopt op basis van de voorwaarde die correct is ingesteld, samen met dat het de stops en tp allemaal in dezelfde volgorde moet vuren die nu niet gebeurt.

  4. #4

    Quote Originally Posted by ;
    nee deze fout is bij alle soorten brokers. ik weet waarom de fout komt omdat ik handmatig een cijfer krijg bij deze variabelen sprice en bprice, maar ik weet niet hoe ik eroverheen kan komen door wijzigingen in de code aan te brengen. alles wat ik wil is omdat het de bestelling koopt en verkoopt op basis van de voorwaarde die correct is ingesteld, samen met dat het de stops en tp allemaal in dezelfde volgorde moet vuren die nu niet gebeurt.
    Lees de reacties die je op het mql4-forum hebt gekregen

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.