Laman utama Perdagangan Sistem Siaran

Cara Semak Perdagangan Terkini di MetaTrader 5 Tanpa Gelung

Lampiran
49374.zip (825 bytes, Muat turun 0 kali)

Dalam dunia perdagangan, mendapatkan maklumat terkini tentang perdagangan yang telah ditutup adalah sangat penting. Dengan kod berikut, anda boleh mendapatkan data perdagangan terakhir tanpa perlu menggunakan gelung.

  • Anda boleh mencipta satu pembolehubah untuk menetapkan waktu mula hari semasa. (Ini sebenarnya tidak wajib.)
  • Cipta beberapa pembolehubah lain untuk mencetak output carta dan juga boleh digunakan dalam blok kod lain. (Ini juga tidak wajib.)
  • Penggunaan kod ini dalam fungsi OnTick(); akan menunjukkan hasil untuk setiap tick. Anda juga boleh menetapkannya untuk sekali setiap bar.
// pembolehubah
string DayStart = "00:00"; // Waktu Mula Hari
double LastClosed_Profit; // Keuntungan Perdagangan Terkini
string TradeSymbol, TradeType;

// Memulakan Expert --------------------
int OnInit()
  {
   return(INIT_SUCCEEDED);
  }

// Menamatkan Expert -------------------
void OnDeinit(const int reason)
  {

  }

// Fungsi OnTick --------------------------
void OnTick()
  {
// semak untuk perdagangan terakhir yang ditutup.
   CheckLastClosed();

  }
//+------------------------------------------------------------------+

//+------------------------------------------------------------------+
void CheckLastClosed()
  {
   datetime HistoryTime = StringToTime(DayStart);

// sejarah dari "Mula hari hingga waktu semasa"
   if(HistorySelect(HistoryTime,TimeCurrent()))
     {
      int Total = HistoryDealsTotal();

      // Dapatkan nombor tiket urus niaga terakhir dan pilih untuk kerja lanjut.
      ulong Ticket = HistoryDealGetTicket(Total -1);

      // Dapatkan maklumat yang diperlukan.
      LastClosed_Profit = NormalizeDouble(HistoryDealGetDouble(Ticket,DEAL_PROFIT),2);
      TradeSymbol      = HistoryOrderGetString(Ticket,ORDER_SYMBOL);

      // Kenal pasti urus niaga jual.
      if(HistoryDealGetInteger(Ticket,DEAL_TYPE) == DEAL_TYPE_BUY)
        {
         TradeType = "Jual Perdagangan";
        }

      // Kenal pasti urus niaga beli
      if(HistoryDealGetInteger(Ticket,DEAL_TYPE) == DEAL_TYPE_SELL)
        {
         TradeType = "Beli Perdagangan";
        }

      // output carta.
      Comment("\n","Jumlah Urus Niaga - :  ", Total,
              "\n","Tiket Urus Niaga Terakhir - :  ", Ticket,
              "\n", "Keuntungan Terakhir -:  ", LastClosed_Profit,
              "\n", "Perdagangan Terakhir adalah -:  ", TradeType);

     }
  }
//+------------------------------------------------------------------+

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

Anda juga boleh mendapatkan seluruh sejarah perdagangan (dari awal akaun) dengan menggunakan fungsi HistorySelect(); seperti berikut.

// Dapatkan keseluruhan sejarah
HistorySelect(0,TimeCurrent());


Siaran berkaitan

Komen (0)