• Welcome back! Thank you for being a part of this Traders Community. Let's discuss and share :)
    Selamat datang kembali! Trimakasih telah menjadi bagian dari Komunitas Trader ini. Mari berdiskusi dan berbagi :)
General chit-chat
Help Users
  • No one is chatting at the moment.

      Cara Untuk Buat 1 Pair 1 Order Sahaja

      Hairi Kamikaze

      New Member
      Credits
      0
      Salam Gais,

      Gimana caranya kalau mahu buat satu PAIRS untuk satu order sahaja.

      Contoh :-
      =======================
      Jika terdapat Bullish Candle di Chart H1 di pairs ( GU ) EA akan OPEN BUY untuk 1 kali sahaja dengan :-
      TP = 600
      SL = 300

      Jika terdapat Bullish Candle di Chart H1 di pairs ( EU ) EA akan OPEN BUY untuk 1 kali sahaja dengan :-
      TP = 600
      SL = 300

      Dalam Satu Akaun...

      =========================
      Masalahanya bila di RUN EAnya Open BUY terus dibuka tanpa henti, boleh bantu gais atau ada ideanya
       
      Untuk membuka posisi dengan TP = 600 & SL = 300, pada saat Bullish atau Bearish candle buat input untuk TP & SL serta buat function untuk membuka posisi, contohnya sebagai berikut:

      Code:
      input double TP   =600;
      input double SL   =300;
      //+------------------------------------------------------------------+
      //| Check for open conditions                                        |
      //+------------------------------------------------------------------+
      void OpenPosition() {
      int res;
      if(Volume[0]>1) return;
      //--- sell conditions
      if(Close[4]>Close[3] && Close[3]>Close[2] && Close[2]>Close[1]) {
      res=OrderSend(_Symbol,OP_SELL,Lots,Bid,3,Bid+SL*_Point,Bid-TP*_Point,"",YourMagicNum,0,Red);
      return;
      }
      //--- buy conditions
      if(Close[4]<Close[3] && Close[3]<Close[2] && Close[2]<Close[1]) {
      res=OrderSend(_Symbol,OP_BUY,Lots,Ask,3,Ask-SL*_Point,Ask+TP*_Point,"",YourMagicNum,0,Blue);
      return;
      }
      }

      Buat function untuk menghitung posisi yang terbuka, seperti ini contohnya:

      Code:
      //+------------------------------------------------------------------+
      //| Calculate open positions                                         |
      //+------------------------------------------------------------------+
      int CalculateCurrentPositions(string symbol) {
      int count=0;
      for(int i=0;i<OrdersTotal();i++) {
      if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;
      if(OrderSymbol()==symbol && OrderMagicNumber()==YourMagicNum) {
      if(OrderType()==OP_BUY)  count++;
      if(OrderType()==OP_SELL) count++;
      }
      }
      return(count);
      }

      Agar EA hanya membuka posisi sekali saja maka pastikan posisi yang terbuka adalah = 0 sebelum melakukan pembukaan posisi.
      Tempatkan ini pada OnTick, contohnya sebagai berikut:


      Code:
      void OnTick() {
      if(Bars<99 || IsTradeAllowed()==false) return;
      if(CalculateCurrentPositions(_Symbol)==0) OpenPosition();
      
      //----------- lanjutkan dengan perintah berikutnya ---

      Silakan berkreasi dengan contoh di atas, happy coding .. Have a nice day :)
       
      Last edited:
      Back
      Top