HELP ME !!!!!

Thảo luận trong 'Lập trình MQL - Expert Advisor - Indicator' bắt đầu bởi dtyanmm, 25/06/2017.

  1. tình hình là em đang mất ngủ vì con EA , mò mãi hk ra , ace cho hỏi làm cách nào để EA gặp trường hợp 1 Buy nó Buy , sau đó khi chưa thanh khoản được trường hợp 1 mà tiếp tục gặp trường hợp 2 là Sell thì nó Sell , em BackTest toàn xổ ra 1 tràn BUY ko thấy cái nào Sell , nhưng khi /*BUY*/ thì nó mới Sell ~.~! và em chắc chắn là Buy với Sell ko bị trùng bar hay thời gian gì cả ... code em viết theo barem của forexeadvisor.com ... đại loại như cái đống code này


    int start()
    {
    double MyPoint=Point;
    if(Digits==3 || Digits==5) MyPoint=Point*10;

    int A,B,C,D,E,F;
    A=1;
    B=2:
    C=3:
    D=4;
    E=5;

    double TheStopLoss=0;
    double TheTakeProfit=0;
    if( TotalOrdersCount()>=0 )
    {
    int result=0;
    if((A>C&&B<C) || (C>E&&D<E))
    {
    result=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,0,0,"EA Generator www.ForexEAdvisor.com",MagicNumber,0,Blue);
    if(result>0)
    {
    TheStopLoss=0;
    TheTakeProfit=0;
    if(TakeProfit>0) TheTakeProfit=Ask+TakeProfit*MyPoint;
    if(StopLoss>0) TheStopLoss=Ask-StopLoss*MyPoint;
    OrderSelect(result,SELECT_BY_TICKET);
    OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(TheStopLoss,Digits),NormalizeDouble(TheTakeProfit,Digits),0,Green);

    }
    return(true);
    }
    if((A>B&&B<C) || (C>D&&D<E))

    {
    result=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,0,0,"EA Generator www.ForexEAdvisor.com",MagicNumber,0,Red);
    if(result>0)
    {
    TheStopLoss=0;
    TheTakeProfit=0;
    if(TakeProfit>0) TheTakeProfit=Bid-TakeProfit*MyPoint;
    if(StopLoss>0) TheStopLoss=Bid+StopLoss*MyPoint;
    OrderSelect(result,SELECT_BY_TICKET);
    OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(TheStopLoss,Digits),NormalizeDouble(TheTakeProfit,Digits),0,Green);
    }
    return(true);
    }
    }
    return(0);
    }

    int TotalOrdersCount()
    {
    int result=0;
    for(int i=0; i<OrdersTotal(); i++)
    {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
    {
    if (AllPositions || OrderSymbol()==Symbol())
    {
    TrailingPositions();
    if (OrderMagicNumber()==MagicNumber) result++;
    {
    return (result);
    }
    }
    }

    }

    return(0);
    }


    void TrailingPositions()
    {
    double pBid, pAsk, pp;
    //----
    pp=MarketInfo(OrderSymbol(), MODE_POINT);
    if (OrderType()==OP_BUY)
    {
    pBid=MarketInfo(OrderSymbol(), MODE_BID);
    if (!ProfitTrailing || (pBid-OrderOpenPrice())>TrailingStop*pp)
    {
    if (OrderStopLoss()<pBid-(TrailingStop+TrailingStep-1)*pp)
    {
    ModifyStopLoss(pBid-TrailingStop*pp);
    return;
    }
    }
    }
    if (OrderType()==OP_SELL)
    {
    pAsk=MarketInfo(OrderSymbol(), MODE_ASK);
    if (!ProfitTrailing || OrderOpenPrice()-pAsk>TrailingStop*pp)
    {
    if (OrderStopLoss()>pAsk+(TrailingStop+TrailingStep-1)*pp || OrderStopLoss()==0)
    {
    ModifyStopLoss(pAsk+TrailingStop*pp);
    return;
    }
    }
    }
    }

    void ModifyStopLoss(double ldStopLoss)
    {
    bool fm;
    fm=OrderModify(OrderTicket(),OrderOpenPrice(),ldStopLoss,OrderTakeProfit(),0,CLR_NONE);
    }


    //<---- Check for new candle, returns true

    bool NewBar()
    {
    static datetime OldTime = 0;
    if(OldTime < Time[0])
    {
    OldTime = Time[0];
    return(true);
    }
    else
    {
    return(false);
    }
    }
     

    Giới thiệu sách Trading hay
    Các Phương Pháp Price Action Kinh Điển

    Bộ sách tổng hợp các phương pháp Price Action truyền thống và hiện đại, với các hướng dẫn cụ thể và dễ áp dụng cho nhà giao dịch
    ✅ Cách Đọc Cấu Trúc Thị Trường Của Một SMC (Smart Money Concept) Trader | TraderViet
    ✅ Phân Tích VÀNG-FOREX-STOCK Tuần 26-30/09 Theo Phương Pháp Price Action Tinh Gọn | TraderViet
    ✅ Phân Tích VÀNG-FOREX-BITCOIN Tuần 25/09-01/10 Theo Phương Pháp WYCKOFF | TraderViet
    ✅ Tất Tần Tật Về Các Loại Cản Trader Cần Nắm | TraderViet
    ✅ Để Nằm Trong Top 5% Trader Giỏi Nhất, Hãy Làm Những Việc 95% Còn Lại Không Làm | TraderViet
    ✅ Phân Tích BITCOIN - ALTCOIN Theo Price Action Tuần 25/09-01/10 | TraderViet
    ✅ Phân Tích BITCOIN - ALTCOIN Theo Price Action Tuần 18-24/09 | TraderViet
    ✅ 4 Nguyên Tắc Xác Định Một Khối Order Block Chất Lượng | TraderViet
    Đang tải...
  2. fx9327

    fx9327

    375
    496
    Bạn phải tạo 1 hàm kiểm tra lệnh buy và sell.
    int CountOrders(int Type)
    {
    int count=0;
    //---
    for(int i=0;i<OrdersTotal();i++)
    {
    int s=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
    //if(s==false) break;

    if(OrderSymbol()==Symbol() && OrderMagicNumber()==vMagic)
    {
    if(OrderType()==Type) count++;
    }

    }
    return(count);

    }
     
    DuongHuy bài này.
  3. int TotalOrdersCount()
    {
    int result=0;
    for(int i=0; i<OrdersTotal(); i++)
    {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))
    {
    if (AllPositions || OrderSymbol()==Symbol())
    {
    TrailingPositions();
    if (OrderMagicNumber()==MagicNumber) result++;
    {
    return (result);
    }
    }
    }

    }

    return(0);
    }


    hình như là khúc đó có trong code của EA rồi @fx9327
     
  4. Thua, bạn nhờ anh em fix code mà ko post nổi full code lên thì làm sao anh em giúp được :))

    Ngay code bạn up lên cũng bị lỗi logic rồi.
     
  5. lỗi khúc nào vậy bạn ???? tui mới học thôi nên còn kém lắm =))
     

Bình luận mới nhất

  • Tuan anh do trong Phân tích Forex - Vàng - Hàng hóa 293 Xem / 1 Trả lời
  • SELL 1935 2 LÓT trong Phân tích Forex - Vàng - Hàng hóa 5,364 Xem / 120 Trả lời
  • Zactini trong Phân tích Forex - Vàng - Hàng hóa 533 Xem / 3 Trả lời
  • GermanyLX trong Sách Trading - Tài liệu Trading 74,643 Xem / 104 Trả lời
  • Zactini trong Chuyện bên lề 282 Xem / 1 Trả lời
  • Đang tải...
    Đang tải...
    0