Hulp bij het debuggen van mijn EA Ik vind dat de oplossing te simpel is.
Results 1 to 2 of 2

Thread: Hulp bij het debuggen van mijn EA Ik vind dat de oplossing te simpel is.

  1. #1
    Hierna volgt een kopie van mijn EA-code. Wanneer ik het aan een grafiek koppel, zit het daar gewoon, opent of sluit geen transacties. Het is ingesteld om live te handelen zonder handmatige bevestiging.

    Wat denk jij?







    Quote Originally Posted by ;
    #define SIGNAL_NONE 0
    #define SIGNAL_BUY 1
    #define SIGNAL_SELL 2
    #define SIGNAL_CLOSEBUY 3
    #define SIGNAL_CLOSESELL 4
    #property copyright YOU
    extern int MagicNumber = 0;
    extern bool SignalMail = False;
    extern bool EachTickMode = True;
    externe dubbele partijen = 5,0;
    extern int Slippage = 0;
    extern bool StopLossMode = False;
    extern int StopLoss = 0;
    extern bool TakeProfitMode = False;
    extern int TakeProfit = 0;
    extern bool TrailingStopMode = False;
    extern int TrailingStop = 0;
    int BarCount;
    int Huidig;
    bool TickCheck = False;
    // ----------------------------------------------- -------------------
    //| expert initialisatie functie |
    // ----------------------------------------------- -------------------
    int init () {
    BarCount = Bars;
    if (EachTickMode) Current = 0; anders Current = 1;
    return (0);
    }
    // ----------------------------------------------- -------------------
    //| expert functie voor de�nitialisatie |
    // ----------------------------------------------- -------------------
    int deinit () {
    return (0);
    }
    // ----------------------------------------------- -------------------
    //| expert startfunctie |
    // ----------------------------------------------- -------------------
    int start () {
    int Order = SIGNAL_NONE;
    int Totaal, Ticket;
    dubbel StopLossLevel, TakeProfitLevel;

    if (EachTickMode Bars! = BarCount) TickCheck = False;
    Totaal = OrdersTotaal ();
    Order = SIGNAL_NONE;
    // ----------------------------------------------- -------------------
    //| Variabele Begin |
    // ----------------------------------------------- -------------------
    dubbele Var1 = iMACD (NULL, 0, 8, 17, 9, PRICE_CLOSE, MODE_SIGNAL, Current 0);
    dubbele Var2 = iMACD (NULL, 0, 8, 17, 9, PRICE_CLOSE, MODE_MAIN, Current 0);
    dubbele Var3 = iMACD (NULL, 0, 8, 17, 9, PRICE_CLOSE, MODE_SIGNAL, Current 1);
    dubbele Var4 = iMACD (NULL, 0, 8, 17, 9, PRICE_CLOSE, MODE_MAIN, Current 1);
    dubbele Buy1_1 = Var1 lt; Var2;
    dubbele Buy2_1 = Var3 gt; Var4;
    dubbel Sell1_1 = Var1 gt; var2;
    dubbel Sell2_1 = Var3 lt; Var4;
    double CloseBuy1_1 = Var1 gt; var2;
    double SluitenBuy2_1 = Var3 lt; Var4;
    dubbel SluitenSell1_1 = Var1 lt; Var2;
    dubbele CloseSell2_1 = Var3 gt; Var4;

    // ----------------------------------------------- -------------------
    //| Variabele einde |
    // ----------------------------------------------- -------------------
    //Controleer positie
    bool IsTrade = False;
    for (int i = 0; i lt; Total; i ) {
    OrderSelect (i, SELECT_BY_POS, MODE_TRADES);
    if (OrderType () lt; = OP_SELL OrderSymbol () == Symbol ()) {
    IsTrade = Waar;
    if (OrderType () == OP_BUY) {
    //Dichtbij
    // ----------------------------------------------- -------------------
    //| Signal Begin (Exit Buy) |
    // ----------------------------------------------- -------------------
    if (False False) Order = SIGNAL_CLOSEBUY;

    // ----------------------------------------------- -------------------
    //| Signal End (Exit Buy) |
    // ----------------------------------------------- -------------------
    if (Order == SIGNAL_CLOSEBUY ((EachTickMode! TickCheck) || (! EachTickMode (Bars! = BarCount)))) {
    OrderClose (OrderTicket (), OrderLots (), Bid, Slippage, MediumSeaGreen);
    if (SignalMail) SendMail ([Signal Alert], [ Symbol () ] DoubleToStr (Bid, Digits) Close Buy);
    if (! EachTickMode) BarCount = Bars;
    IsTrade = False;
    doorgaan met;
    }
    //Trailing stop
    if (TrailingStopMode TrailingStop gt; 0) {
    if (Bied - OrderOpenPrijs () gt; Punt * TrailingStop) {
    if (OrderStopLoss () lt; Bid - Point * TrailingStop) {
    OrderModify (OrderTicket (), OrderOpenPrice (), Bid - Point * TrailingStop, OrderTakeProfit (), 0, MediumSeaGreen);
    if (! EachTickMode) BarCount = Bars;
    doorgaan met;
    }
    }
    }
    } else {
    //Dichtbij
    // ----------------------------------------------- -------------------
    //| Signal Begin (Exit Sell) |
    // ----------------------------------------------- -------------------
    if (False False) Order = SIGNAL_CLOSESELL;

    // ----------------------------------------------- -------------------
    //| Signal End (Exit Sell) |
    // ----------------------------------------------- -------------------
    if (Order == SIGNAL_CLOSESELL ((EachTickMode! TickCheck) || (! EachTickMode (Bars! = BarCount)))) {
    OrderClose (OrderTicket (), OrderLots (), Ask, Slippage, DarkOrange);
    if (SignalMail) SendMail ([Signal Alert], [ Symbol () ] DoubleToStr (Ask, Digits) Close Sell);
    if (! EachTickMode) BarCount = Bars;
    IsTrade = False;
    doorgaan met;
    }
    //Trailing stop
    if (TrailingStopMode TrailingStop gt; 0) {
    if ((OrderOpenPrice () - Ask) gt; (Point * TrailingStop)) {
    if ((OrderStopLoss () gt; (Ask Point * TrailingStop)) || (OrderStopLoss () == 0)) {
    OrderModify (OrderTicket (), OrderOpenPrice (), Ask Point * TrailingStop, OrderTakeProfit (), 0, DarkOrange);
    if (! EachTickMode) BarCount = Bars;
    doorgaan met;
    }
    }
    }
    }
    }
    }
    // ----------------------------------------------- -------------------
    //| Signal Begin (Entry) |
    // ----------------------------------------------- -------------------
    if (False False) Order = SIGNAL_BUY;
    if (False False) Order = SIGNAL_SELL;

    // ----------------------------------------------- -------------------
    //| Signal End |
    // ----------------------------------------------- -------------------
    //Kopen
    if (Order == SIGNAL_BUY ((EachTickMode! TickCheck) || (! EachTickMode (Bars! = BarCount)))) {
    if (! IsTrade) {
    //Controleer de vrije marge
    if (AccountFreeMargin () lt; (1)) {
    Afdrukken (we hebben geen geld.) Vrije marge =, AccountFreeMargin ());
    return (0);
    }
    if (StopLossMode) StopLossLevel = Ask - StopLoss * Point; anders StopLossLevel = 0,0;
    if (TakeProfitMode) TakeProfitLevel = Ask TakeProfit * Point; anders TakeProfitLevel = 0,0;
    Ticket = OrderSend (Symbol (), OP_BUY, Lots, Ask, Slippage, StopLossLevel, TakeProfitLevel, Buy (# MagicNumber ), MagicNumber, 0, DodgerBlue);
    if (Ticket gt; 0) {
    if (OrderSelect (Ticket, SELECT_BY_TICKET, MODE_TRADES)) {
    Afdrukken (KOPEN bestelling geopend:, OrderOpenPrice ());
    SetIndexStyle (3, DRAW_ARROW, EMPTY, 2, Groen);
    if (SignalMail) SendMail ([Signal Alert], [ Symbol () ] DoubleToStr (Ask, Digits) Open Buy);
    } else {
    Afdrukken (Fout bij openen BUY-volgorde:, GetLastError ());
    }
    }
    if (EachTickMode) TickCheck = True;
    if (! EachTickMode) BarCount = Bars;
    return (0);
    }
    }
    //Verkopen
    if (Order == SIGNAL_SELL ((EachTickMode! TickCheck) || (! EachTickMode (Bars! = BarCount)))) {
    if (! IsTrade) {
    //Controleer de vrije marge
    if (AccountFreeMargin () lt; (1)) {
    Afdrukken (we hebben geen geld.) Vrije marge =, AccountFreeMargin ());
    return (0);
    }
    if (StopLossMode) StopLossLevel = Bid ?????? StopLoss * Point; anders StopLossLevel = 0,0;
    if (TakeProfitMode) TakeProfitLevel = Bid ??????- TakeProfit * Point; anders TakeProfitLevel = 0,0;
    Ticket = OrderSend (symbool (), OP_SELL, Partijen, Bod, Slippage, StopLossLevel, TakeProfitLevel, Verkoop (# MagicNumber ), MagicNumber, 0, DeepPink);
    if (Ticket gt; 0) {
    if (OrderSelect (Ticket, SELECT_BY_TICKET, MODE_TRADES)) {
    Afdrukken (VERKOOPorder geopend:, OrderOpenPrice ());
    SetIndexStyle (3, DRAW_ARROW, EMPTY, 2, Red);
    if (SignalMail) SendMail ([Signal Alert], [ Symbol () ] DoubleToStr (Bid, Digits) Open Sell);
    } else {
    Afdrukken (fout openen VERKOOPorder:, GetLastError ());
    }
    }
    if (EachTickMode) TickCheck = True;
    if (! EachTickMode) BarCount = Bars;
    return (0);
    }
    }
    if (! EachTickMode) BarCount = Bars;
    return (0);
    }
    // ----------------------------------------------- -------------------
    Quote Originally Posted by ;
    #define SIGNAL_NONE 0
    #define SIGNAL_BUY 1
    #define SIGNAL_SELL 2
    #define SIGNAL_CLOSEBUY 3
    #define SIGNAL_CLOSESELL 4
    #property copyright YOU
    extern int MagicNumber = 0;
    extern bool SignalMail = False;
    extern bool EachTickMode = True;
    externe dubbele partijen = 5,0;
    extern int Slippage = 0;
    extern bool StopLossMode = False;
    extern int StopLoss = 0;
    extern bool TakeProfitMode = False;
    extern int TakeProfit = 0;
    extern bool TrailingStopMode = False;
    extern int TrailingStop = 0;
    int BarCount;
    int Huidig;
    bool TickCheck = False;
    // ----------------------------------------------- -------------------
    //| expert initialisatie functie |
    // ----------------------------------------------- -------------------
    int init () {
    BarCount = Bars;
    if (EachTickMode) Current = 0; anders Current = 1;
    return (0);
    }
    // ----------------------------------------------- -------------------
    //| expert functie voor de�nitialisatie |
    // ----------------------------------------------- -------------------
    int deinit () {
    return (0);
    }
    // ----------------------------------------------- -------------------
    //| expert startfunctie |
    // ----------------------------------------------- -------------------
    int start () {
    int Order = SIGNAL_NONE;
    int Totaal, Ticket;
    dubbel StopLossLevel, TakeProfitLevel;

    if (EachTickMode Bars! = BarCount) TickCheck = False;
    Totaal = OrdersTotaal ();
    Order = SIGNAL_NONE;
    // ----------------------------------------------- -------------------
    //| Variabele Begin |
    // ----------------------------------------------- -------------------
    dubbele Var1 = iMACD (NULL, 0, 8, 17, 9, PRICE_CLOSE, MODE_SIGNAL, Current 0);
    dubbele Var2 = iMACD (NULL, 0, 8, 17, 9, PRICE_CLOSE, MODE_MAIN, Current 0);
    dubbele Var3 = iMACD (NULL, 0, 8, 17, 9, PRICE_CLOSE, MODE_SIGNAL, Current 1);
    dubbele Var4 = iMACD (NULL, 0, 8, 17, 9, PRICE_CLOSE, MODE_MAIN, Current 1);
    dubbele Buy1_1 = Var1 lt; Var2;
    dubbele Buy2_1 = Var3 gt; Var4;
    dubbel Sell1_1 = Var1 gt; var2;
    dubbel Sell2_1 = Var3 lt; Var4;
    double CloseBuy1_1 = Var1 gt; var2;
    double SluitenBuy2_1 = Var3 lt; Var4;
    dubbel SluitenSell1_1 = Var1 lt; Var2;
    dubbele CloseSell2_1 = Var3 gt; Var4;

    // ----------------------------------------------- -------------------
    //| Variabele einde |
    // ----------------------------------------------- -------------------
    //Controleer positie
    bool IsTrade = False;
    for (int i = 0; i lt; Total; i ) {
    OrderSelect (i, SELECT_BY_POS, MODE_TRADES);
    if (OrderType () lt; = OP_SELL OrderSymbol () == Symbol ()) {
    IsTrade = Waar;
    if (OrderType () == OP_BUY) {
    //Dichtbij
    // ----------------------------------------------- -------------------
    //| Signal Begin (Exit Buy) |
    // ----------------------------------------------- -------------------
    if (False False) Order = SIGNAL_CLOSEBUY;

    // ----------------------------------------------- -------------------
    //| Signal End (Exit Buy) |
    // ----------------------------------------------- -------------------
    if (Order == SIGNAL_CLOSEBUY ((EachTickMode! TickCheck) || (! EachTickMode (Bars! = BarCount)))) {
    OrderClose (OrderTicket (), OrderLots (), Bid, Slippage, MediumSeaGreen);
    if (SignalMail) SendMail ([Signal Alert], [ Symbol () ] DoubleToStr (Bid, Digits) Close Buy);
    if (! EachTickMode) BarCount = Bars;
    IsTrade = False;
    doorgaan met;
    }
    //Trailing stop
    if (TrailingStopMode TrailingStop gt; 0) {
    if (Bied - OrderOpenPrijs () gt; Punt * TrailingStop) {
    if (OrderStopLoss () lt; Bid - Point * TrailingStop) {
    OrderModify (OrderTicket (), OrderOpenPrice (), Bid - Point * TrailingStop, OrderTakeProfit (), 0, MediumSeaGreen);
    if (! EachTickMode) BarCount = Bars;
    doorgaan met;
    }
    }
    }
    } else {
    //Dichtbij
    // ----------------------------------------------- -------------------
    //| Signal Begin (Exit Sell) |
    // ----------------------------------------------- -------------------
    if (False False) Order = SIGNAL_CLOSESELL;

    // ----------------------------------------------- -------------------
    //| Signal End (Exit Sell) |
    // ----------------------------------------------- -------------------
    if (Order == SIGNAL_CLOSESELL ((EachTickMode! TickCheck) || (! EachTickMode (Bars! = BarCount)))) {
    OrderClose (OrderTicket (), OrderLots (), Ask, Slippage, DarkOrange);
    if (SignalMail) SendMail ([Signal Alert], [ Symbol () ] DoubleToStr (Ask, Digits) Close Sell);
    if (! EachTickMode) BarCount = Bars;
    IsTrade = False;
    doorgaan met;
    }
    //Trailing stop
    if (TrailingStopMode TrailingStop gt; 0) {
    if ((OrderOpenPrice () - Ask) gt; (Point * TrailingStop)) {
    if ((OrderStopLoss () gt; (Ask Point * TrailingStop)) || (OrderStopLoss () == 0)) {
    OrderModify (OrderTicket (), OrderOpenPrice (), Ask Point * TrailingStop, OrderTakeProfit (), 0, DarkOrange);
    if (! EachTickMode) BarCount = Bars;
    doorgaan met;
    }
    }
    }
    }
    }
    }
    // ----------------------------------------------- -------------------
    //| Signal Begin (Entry) |
    // ----------------------------------------------- -------------------
    if (False False) Order = SIGNAL_BUY;
    if (False False) Order = SIGNAL_SELL;

    // ----------------------------------------------- -------------------
    //| Signal End |
    // ----------------------------------------------- -------------------
    //Kopen
    if (Order == SIGNAL_BUY ((EachTickMode! TickCheck) || (! EachTickMode (Bars! = BarCount)))) {
    if (! IsTrade) {
    //Controleer de vrije marge
    if (AccountFreeMargin () lt; (1)) {
    Afdrukken (we hebben geen geld.) Vrije marge =, AccountFreeMargin ());
    return (0);
    }
    if (StopLossMode) StopLossLevel = Ask - StopLoss * Point; anders StopLossLevel = 0,0;
    if (TakeProfitMode) TakeProfitLevel = Ask TakeProfit * Point; anders TakeProfitLevel = 0,0;
    Ticket = OrderSend (Symbol (), OP_BUY, Lots, Ask, Slippage, StopLossLevel, TakeProfitLevel, Buy (# MagicNumber ), MagicNumber, 0, DodgerBlue);
    if (Ticket gt; 0) {
    if (OrderSelect (Ticket, SELECT_BY_TICKET, MODE_TRADES)) {
    Afdrukken (KOPEN bestelling geopend:, OrderOpenPrice ());
    SetIndexStyle (3, DRAW_ARROW, EMPTY, 2, Groen);
    if (SignalMail) SendMail ([Signal Alert], [ Symbol () ] DoubleToStr (Ask, Digits) Open Buy);
    } else {
    Afdrukken (Fout bij openen BUY-volgorde:, GetLastError ());
    }
    }
    if (EachTickMode) TickCheck = True;
    if (! EachTickMode) BarCount = Bars;
    return (0);
    }
    }
    //Verkopen
    if (Order == SIGNAL_SELL ((EachTickMode! TickCheck) || (! EachTickMode (Bars! = BarCount)))) {
    if (! IsTrade) {
    //Controleer de vrije marge
    if (AccountFreeMargin () lt; (1)) {
    Afdrukken (we hebben geen geld.) Vrije marge =, AccountFreeMargin ());
    return (0);
    }
    if (StopLossMode) StopLossLevel = Bid ?????? StopLoss * Point; anders StopLossLevel = 0,0;
    if (TakeProfitMode) TakeProfitLevel = Bid ??????- TakeProfit * Point; anders TakeProfitLevel = 0,0;
    Ticket = OrderSend (symbool (), OP_SELL, Partijen, Bod, Slippage, StopLossLevel, TakeProfitLevel, Verkoop (# MagicNumber ), MagicNumber, 0, DeepPink);
    if (Ticket gt; 0) {
    if (OrderSelect (Ticket, SELECT_BY_TICKET, MODE_TRADES)) {
    Afdrukken (VERKOOPorder geopend:, OrderOpenPrice ());
    SetIndexStyle (3, DRAW_ARROW, EMPTY, 2, Red);
    if (SignalMail) SendMail ([Signal Alert], [ Symbol () ] DoubleToStr (Bid, Digits) Open Sell);
    } else {
    Afdrukken (fout openen VERKOOPorder:, GetLastError ());
    }
    }
    if (EachTickMode) TickCheck = True;
    if (! EachTickMode) BarCount = Bars;
    return (0);
    }
    }
    if (! EachTickMode) BarCount = Bars;
    return (0);
    }
    // ----------------------------------------------- -------------------

  2. #2
    Wat wil je zeggen met de if (False False) -clausule? Ik heb dat niet eerder gezien.

Similar Threads

  1. Waar vind ik een marktliquiditeit van EA of indy?
    By oxnwlvixxagrdo in forum Cryptocurrencies
    Replies: 1
    Last Post: 16:09,
  2. De ultieme oplossing - Martingale met trend na 2 in 1
    By ihigo2123e in forum Forex Brokers
    Replies: 40
    Last Post: 21:47,
  3. Ontbrekende kaarsen-oplossing?
    By 0SIX in forum Cryptocurrencies
    Replies: 1
    Last Post: 22:49,

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.