how do i get my ea to trade once a day

 

<Non English Removed>



// + ----------------------------------------------- ------------------- +

// | EA-BollingerBreakout_v1-0.mq4 |
// | Luca Spinello |
// | https://mql4tradingautomation.com |
// + ----------------------------------------------- ------------------- +

#property hak cipta "Luca Spinello - mql4tradingautomation.com"
#property link "https://mql4tradingautomation.com"
#property versi "1.00"
#property ketat
#property description "Penasihat Ahli ini membuka pesanan saat Bollinger Bands pecah"
#Deskripsi properti " "
#property description "DISCLAIMER: Kode ini tidak memiliki jaminan, Anda dapat menggunakannya dengan risiko Anda sendiri"
#property description "Kami merekomendasikan untuk mengujinya terlebih dahulu di Akun Demo"

/ *
Indikator Alligator pada dasarnya adalah kombinasi dari 3 MA dengan periode dan pergeseran yang berbeda
ENTRY BUY: Penembusan harga di atas band bollinger atas
ENTRY SELL: Harga break di bawah band bollinger rendah
EXIT: Fixed take profit atau hit stop loss
Hanya 1 pesanan dalam satu waktu
* /


extern double LotSize = 0,1; // Ukuran posisi

extern double StopLoss = 60; // Hentikan kehilangan dalam pip
extern double TakeProfit = 100; // Ambil untung dalam pips

extern int Slippage = 2; // Selip dalam pips

extern bool TradeEnabled = true; // Aktifkan perdagangan

// Variabel fungsional
dobel ePoint; // Point dinormalisasi

bool CanOrder; // Periksa manajemen risiko
bool CanOpenBuy; // Tandai jika ada pesanan beli yang terbuka
bool CanOpenSell; // Tandai jika ada order jual terbuka

int OrderOpRetry = 10; // Jumlah upaya untuk melakukan operasi perdagangan
int SleepSecs = 3; // Detik untuk tidur jika tidak bisa memesan
int MinBars = 60; // Bilah minimum dalam grafik untuk mengaktifkan perdagangan

// Variabel fungsional untuk menentukan harga
MinSL ganda;
MaxSL ganda;
TP ganda;
double SL;
Spread ganda;
Slip Int; 


// Fungsi inisialisasi variabel
membatalkan Inisialisasi () {          
   RefreshRates ();
   ePoint = Titik;
   Slip = Selip;
   if (MathMod (Digit, 2) == 1) {
      ePoint * = 10;
      Slip * = 10;
   }
   TP = TakeProfit * ePoint;
   SL = StopLoss * ePoint;
   CanOrder = TradeEnabled;
   CanOpenBuy = true;
   CanOpenSell = true;
}


// Periksa apakah pesanan dapat diajukan
membatalkan CheckCanOrder () {            
   if (Bars <MinBars) {
      Cetak ("INFO - Tidak cukup Bar untuk diperdagangkan");
      CanOrder = false;
   }
   PesananBuka ();
   kembali;
}


// Periksa apakah ada pesanan terbuka dan jenis apa
batal PesananBuka () {
   untuk (int i = 0; i <OrdersTotal (); i ++) {
      if (OrderSelect (i, SELECT_BY_POS, MODE_TRADES) == false) {
         Print ("ERROR - Tidak dapat memilih urutan -", GetLastError ());
         istirahat;
      } 
      if (OrderSymbol () == Symbol () && OrderType () == OP_BUY) CanOpenBuy = false;
      if (OrderSymbol () == Symbol () && OrderType () == OP_SELL) CanOpenSell = false;
   }
   kembali;
}


// Tutup semua pesanan dari jenis dan simbol saat ini
membatalkan CloseAll (int Command) {
   dobel ClosePrice = 0;
   untuk (int i = 0; i <OrdersTotal (); i ++) {
      if (OrderSelect (i, SELECT_BY_POS, MODE_TRADES) == false) {
         Print ("ERROR - Tidak dapat memilih urutan -", GetLastError ());
         istirahat;
      }
      if (OrderSymbol () == Symbol () && OrderType () == Command) {
         if (Command == OP_BUY) ClosePrice = Tawaran;
         if (Command == OP_SELL) ClosePrice = Tanyakan;
         dobel Lot = OrderLots ();
         int Ticket = OrderTicket ();
         untuk (int j = 1; j <OrderOpRetry; j ++) {
            bool res = OrderClose (Tiket, Lot, ClosePrice, Slip, Merah);
            if (res) {
               Cetak ("PERDAGANGAN - TUTUP - Pesan", Tiket, "ditutup dengan harga", CloseHarga);
               istirahat;
            }
            lain Cetak ("KESALAHAN - TUTUP - urutan penutupan kesalahan", Tiket, "kesalahan pengembalian:", GetLastError ());
         }
      }
   }
   kembali;
}


// Buka urutan baru dari jenis yang diberikan
membatalkan OpenNew (int Command) {
   RefreshRates ();
   gandakan OpenPrice = 0;
   SLPrice ganda;
   TPP gandaHarga;
   if (Command == OP_BUY) {
      OpenPrice = Tanyakan;
      SLPrice = OpenPrice-SL;
      TPPharga = OpenPrice + TP;
   }
   if (Command == OP_SELL) {
      OpenPrice = Tawaran;
      SLPrice = OpenPrice + SL;
      TPPrice = OpenPrice-TP;
   }
   untuk (int i = 1; i <OrderOpRetry; i ++) {
      int res = OrderSend (Symbol (), Command, LotSize, OpenPrice, Slip, NormalizeDouble (SLPrice, Digit), NormalizeDouble (TPPHarga, Digit), "", 0,0, Green);
      if (res) {
         Cetak ("PERDAGANGAN - BARU - Pesanan", res, "dikirimkan: Command", Command, "Volume", LotSize, "OpenPrice," Slippage ", Slip," Stop ", SLPrice," Take ", TPPrice) ;
         istirahat;
      }
      else Cetak ("ERROR - NEW - pesanan pengiriman kesalahan, kesalahan pengembalian:", GetLastError ());
   }
   kembali;
}


// Analisis teknis indikator


extern int BandsPeriod = 200; // Periode Bollinger Bands
extern double BandsDeviation = 2; // Penyimpangan Bollinger Bands
bool BandsBreakUp = false;
bool BandsBreakDown = false;

membatalkan FindBandsTrend () {
   BandsBreakUp = false;
   BandsBreakDown = false;
   double BandsTopCurr = iBands (Simbol (), 0, BandsPeriod, BandsDeviation, 0, PRICE_CLOSE, MODE_UPPER, 0);
   double BandsLowCurr = iBands (Symbol (), 0, BandsPeriod, BandsDeviation, 0, PRICE_CLOSE, MODE_LOWER, 0);
   double BandsTopPrev = iBands (Simbol (), 0, BandsPeriod, BandsDeviation, 0, PRICE_CLOSE, MODE_UPPER, 1);
   double BandsLowPrev = iBands (Symbol (), 0, BandsPeriod, BandsDeviation, 0, PRICE_CLOSE, MODE_LOWER, 1);
   if (Tutup [1] <BandsTopPrev && Tutup [0]> BandsTopCurr) BandsBreakUp = true;
   if (Tutup [1]> BandsLowPrev && Tutup [0] <BandsLowCurr) BandsBreakDown = true;
}


// + ----------------------------------------------- ------------------- +
// | Fungsi inisialisasi ahli |
// + ----------------------------------------------- ------------------- +
int OnInit ()
  {
// ---
   
// ---
   return (INIT_SUCCEEDED);
  }
// + ----------------------------------------------- ------------------- +
// | Fungsi deinitialisasi ahli |
// + ----------------------------------------------- ------------------- +
membatalkan OnDeinit (alasan int int)
  {
// ---
   
  }
// + ----------------------------------------------- ------------------- +
// | Fungsi centang ahli |
// + ----------------------------------------------- ------------------- +
membatalkan OnTick ()
  {
// ---
   // Memanggil inisialisasi, pemeriksaan dan analisis teknis
   Inisialisasi ();
   CheckCanOrder ();
   FindBandsTrend ();
   // Periksa Sinyal Masuk / Keluar dengan operasi yang harus dilakukan
   if (BandsBreakUp) {
      if (CanOpenBuy && CanOpenSell && CanOrder) OpenNew (OP_BUY);
   }
   if (BandsBreakDown) {
      if (CanOpenSell && CanOpenBuy && CanOrder) OpenNew (OP_SELL);
   }
  }
// + ----------------------------------------------- ------------------- +

 

Use the code button (Alt+S) when posting code.

Post in English only.

In future please post in the correct section

I will move your topic to the MQL4 and Metatrader 4 section.

Reason: