Berikut ini adalah salinan kode EA saya. Setiap kali saya lampirkan ke grafik, itu hanya duduk di sana, tidak membuka atau menutup perdagangan. Ini diatur untuk live trading tanpa konfirmasi manual.

Adakah pikiran?







Quote Originally Posted by ;
#define SIGNAL_NONE 0
#define SIGNAL_BUY 1
#define SIGNAL_SELL 2
#define SIGNAL_CLOSEBUY 3
#define SIGNAL_CLOSESELL 4
#properti hak cipta ANDA
extern int MagicNumber = 0;
extern bool SignalMail = Salah;
extern bool EachTickMode = Benar;
extern double Lot = 5.0;
extern int Slippage = 0;
extern bool StopLossMode = Salah;
extern int StopLoss = 0;
extern bool TakeProfitMode = Salah;
extern int TakeProfit = 0;
extern bool TrailingStopMode = Salah;
extern int TrailingStop = 0;
int BarCount;
int Current;
bool TickCheck = Salah;
// ----------------------------------------------- -------------------
//| fungsi inisialisasi pakar |
// ----------------------------------------------- -------------------
int init () {
BarCount = Bar;
if (EachTickMode) Sekarang = 0; lain saat ini = 1;
return (0);
}
// ----------------------------------------------- -------------------
//| fungsi deinitialisasi ahli |
// ----------------------------------------------- -------------------
int deinit () {
return (0);
}
// ----------------------------------------------- -------------------
//| fungsi ahli mulai |
// ----------------------------------------------- -------------------
int start () {
int Order = SIGNAL_NONE;
Total int, Tiket;
double StopLossLevel, TakeProfitLevel;

if (EachTickMode Bars! = BarCount) TickCheck = False;
Total = OrdersTotal ();
Pesanan = SIGNAL_NONE;
// ----------------------------------------------- -------------------
//| Variabel Mulai |
// ----------------------------------------------- -------------------
double Var1 = iMACD (NULL, 0, 8, 17, 9, PRICE_CLOSE, MODE_SIGNAL, Current 0);
Var2 ganda = iMACD (NULL, 0, 8, 17, 9, PRICE_CLOSE, MODE_MAIN, Lancar 0);
double Var3 = iMACD (NULL, 0, 8, 17, 9, PRICE_CLOSE, MODE_SIGNAL, Current 1);
double Var4 = iMACD (NULL, 0, 8, 17, 9, PRICE_CLOSE, MODE_MAIN, Current 1);
gandakan Buy1_1 = Var1 lt; Var2;
gandakan Buy2_1 = Var3 gt; Var4;
dobel Sell1_1 = Var1 gt; Var2;
dobel Sell2_1 = Var3 lt; Var4;
gandakan CloseBuy1_1 = Var1 gt; Var2;
gandakan CloseBuy2_1 = Var3 lt; Var4;
gandakan CloseSell1_1 = Var1 lt; Var2;
gandakan CloseSell2_1 = Var3 gt; Var4;

// ----------------------------------------------- -------------------
//| Akhir Variabel |
// ----------------------------------------------- -------------------
//Periksa posisi
bool IsTrade = Salah;
untuk (int i = 0; i lt; Total; i ) {
Pilih Pesanan (i, SELECT_BY_POS, MODE_TRADES);
if (OrderType () lt; = OP_SELL OrderSymbol () == Symbol ()) {
IsTrade = Benar;
if (OrderType () == OP_BUY) {
//Dekat
// ----------------------------------------------- -------------------
//| Sinyal Mulai (Keluar Beli) |
// ----------------------------------------------- -------------------
if (False False) Order = SIGNAL_CLOSEBUY;

// ----------------------------------------------- -------------------
//| Sinyal Akhir (Keluar Beli) |
// ----------------------------------------------- -------------------
if (Order == SIGNAL_CLOSEBUY ((EachTickMode! TickCheck) || (! EachTickMode (Bar! = BarCount))))
OrderClose (OrderTicket (), OrderLots (), Bid, Slippage, MediumSeaGreen);
if (SignalMail) SendMail ([Signal Alert], [ Symbol () ] DoubleToStr (Bid, Digit) Tutup Beli);
if (! EachTickMode) BarCount = Bar;
IsTrade = Salah;
terus;
}
//Trailing stop
if (TrailingStopMode TrailingStop gt; 0) {
if (Bid - OrderOpenPrice () gt; Point * TrailingStop) {
if (OrderStopLoss () lt; Bid - Point * TrailingStop) {
OrderModify (OrderTicket (), OrderOpenPrice (), Bid - Point * TrailingStop, OrderTakeProfit (), 0, MediumSeaGreen);
if (! EachTickMode) BarCount = Bar;
terus;
}
}
}
} lain {
//Dekat
// ----------------------------------------------- -------------------
//| Sinyal Mulai (Keluar Jual) |
// ----------------------------------------------- -------------------
if (False False) Order = SIGNAL_CLOSESELL;

// ----------------------------------------------- -------------------
//| Sinyal Akhir (Keluar Jual) |
// ----------------------------------------------- -------------------
if (Order == SIGNAL_CLOSESELL ((EachTickMode! TickCheck) || (! EachTickMode (Bar! = BarCount))))) {
OrderClose (OrderTicket (), OrderLots (), Ask, Slippage, DarkOrange);
if (SignalMail) SendMail ([Signal Alert], [ Symbol () ] DoubleToStr (Ask, Digit) Tutup Jual);
if (! EachTickMode) BarCount = Bar;
IsTrade = Salah;
terus;
}
//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 = Bar;
terus;
}
}
}
}
}
}
// ----------------------------------------------- -------------------
//| Sinyal Mulai (Entri) |
// ----------------------------------------------- -------------------
if (False False) Order = SIGNAL_BUY;
if (False False) Order = SIGNAL_SELL;

// ----------------------------------------------- -------------------
//| Akhir Sinyal |
// ----------------------------------------------- -------------------
//Membeli
if (Order == SIGNAL_BUY ((EachTickMode! TickCheck) || (! EachTickMode (Bar! = BarCount))))) {
if (! IsTrade) {
//Periksa margin gratis
if (AccountFreeMargin () lt; (1)) {
Cetak (Kami tidak punya uang. Margin Gratis =, AccountFreeMargin ());
return (0);
}
if (StopLossMode) StopLossLevel = Tanya - StopLoss * Point; selain itu StopLossLevel = 0,0;
if (TakeProfitMode) TakeProfitLevel = Tanyakan Poin TakeProfit; lain TakeProfitLevel = 0,0;
Ticket = OrderSend (Symbol (), OP_BUY, Lot, Ask, Slippage, StopLossLevel, TakeProfitLevel, Beli (# MagicNumber ), MagicNumber, 0, DodgerBlue);
if (Ticket gt; 0) {
if (OrderSelect (Tiket, SELECT_BY_TICKET, MODE_TRADES)) {
Cetak (Pesanan BELI dibuka:, OrderOpenPrice ());
SetIndexStyle (3, DRAW_ARROW, KOSONG, 2, Hijau);
if (SignalMail) SendMail ([Signal Alert], [ Symbol () ] DoubleToStr (Ask, Digit) Open Buy);
} lain {
Cetak (Kesalahan saat membuka pesanan BELI:, GetLastError ());
}
}
if (EachTickMode) TickCheck = Benar;
if (! EachTickMode) BarCount = Bar;
return (0);
}
}
//Menjual
if (Order == SIGNAL_SELL ((EachTickMode! TickCheck) || (! EachTickMode (Bar! = BarCount)))))
if (! IsTrade) {
//Periksa margin gratis
if (AccountFreeMargin () lt; (1)) {
Cetak (Kami tidak punya uang. Margin Gratis =, AccountFreeMargin ());
return (0);
}
if (StopLossMode) StopLossLevel = Tawaran StopLoss * Poin; selain itu StopLossLevel = 0,0;
if (TakeProfitMode) TakeProfitLevel = Tawaran - Poin TakeProfit; lain TakeProfitLevel = 0,0;
Ticket = OrderSend (Symbol (), OP_SELL, Lots, Bid, Slippage, StopLossLevel, TakeProfitLevel, Sell (# MagicNumber ), MagicNumber, 0, DeepPink);
if (Ticket gt; 0) {
if (OrderSelect (Tiket, SELECT_BY_TICKET, MODE_TRADES)) {
Cetak (pesanan JUAL dibuka:, OrderOpenPrice ());
SetIndexStyle (3, DRAW_ARROW, EMPTY, 2, Red);
if (SignalMail) SendMail ([Signal Alert], [ Symbol () ] DoubleToStr (Bid, Digit) Open Sell);
} lain {
Cetak (Kesalahan saat membuka pesanan SELL:, GetLastError ());
}
}
if (EachTickMode) TickCheck = Benar;
if (! EachTickMode) BarCount = Bar;
return (0);
}
}
if (! EachTickMode) BarCount = Bar;
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
#properti hak cipta ANDA
extern int MagicNumber = 0;
extern bool SignalMail = Salah;
extern bool EachTickMode = Benar;
extern double Lot = 5.0;
extern int Slippage = 0;
extern bool StopLossMode = Salah;
extern int StopLoss = 0;
extern bool TakeProfitMode = Salah;
extern int TakeProfit = 0;
extern bool TrailingStopMode = Salah;
extern int TrailingStop = 0;
int BarCount;
int Current;
bool TickCheck = Salah;
// ----------------------------------------------- -------------------
//| fungsi inisialisasi pakar |
// ----------------------------------------------- -------------------
int init () {
BarCount = Bar;
if (EachTickMode) Sekarang = 0; lain saat ini = 1;
return (0);
}
// ----------------------------------------------- -------------------
//| fungsi deinitialisasi ahli |
// ----------------------------------------------- -------------------
int deinit () {
return (0);
}
// ----------------------------------------------- -------------------
//| fungsi ahli mulai |
// ----------------------------------------------- -------------------
int start () {
int Order = SIGNAL_NONE;
Total int, Tiket;
double StopLossLevel, TakeProfitLevel;

if (EachTickMode Bars! = BarCount) TickCheck = False;
Total = OrdersTotal ();
Pesanan = SIGNAL_NONE;
// ----------------------------------------------- -------------------
//| Variabel Mulai |
// ----------------------------------------------- -------------------
double Var1 = iMACD (NULL, 0, 8, 17, 9, PRICE_CLOSE, MODE_SIGNAL, Current 0);
Var2 ganda = iMACD (NULL, 0, 8, 17, 9, PRICE_CLOSE, MODE_MAIN, Lancar 0);
double Var3 = iMACD (NULL, 0, 8, 17, 9, PRICE_CLOSE, MODE_SIGNAL, Current 1);
double Var4 = iMACD (NULL, 0, 8, 17, 9, PRICE_CLOSE, MODE_MAIN, Current 1);
gandakan Buy1_1 = Var1 lt; Var2;
gandakan Buy2_1 = Var3 gt; Var4;
dobel Sell1_1 = Var1 gt; Var2;
dobel Sell2_1 = Var3 lt; Var4;
gandakan CloseBuy1_1 = Var1 gt; Var2;
gandakan CloseBuy2_1 = Var3 lt; Var4;
gandakan CloseSell1_1 = Var1 lt; Var2;
gandakan CloseSell2_1 = Var3 gt; Var4;

// ----------------------------------------------- -------------------
//| Akhir Variabel |
// ----------------------------------------------- -------------------
//Periksa posisi
bool IsTrade = Salah;
untuk (int i = 0; i lt; Total; i ) {
Pilih Pesanan (i, SELECT_BY_POS, MODE_TRADES);
if (OrderType () lt; = OP_SELL OrderSymbol () == Symbol ()) {
IsTrade = Benar;
if (OrderType () == OP_BUY) {
//Dekat
// ----------------------------------------------- -------------------
//| Sinyal Mulai (Keluar Beli) |
// ----------------------------------------------- -------------------
if (False False) Order = SIGNAL_CLOSEBUY;

// ----------------------------------------------- -------------------
//| Sinyal Akhir (Keluar Beli) |
// ----------------------------------------------- -------------------
if (Order == SIGNAL_CLOSEBUY ((EachTickMode! TickCheck) || (! EachTickMode (Bar! = BarCount))))
OrderClose (OrderTicket (), OrderLots (), Bid, Slippage, MediumSeaGreen);
if (SignalMail) SendMail ([Signal Alert], [ Symbol () ] DoubleToStr (Bid, Digit) Tutup Beli);
if (! EachTickMode) BarCount = Bar;
IsTrade = Salah;
terus;
}
//Trailing stop
if (TrailingStopMode TrailingStop gt; 0) {
if (Bid - OrderOpenPrice () gt; Point * TrailingStop) {
if (OrderStopLoss () lt; Bid - Point * TrailingStop) {
OrderModify (OrderTicket (), OrderOpenPrice (), Bid - Point * TrailingStop, OrderTakeProfit (), 0, MediumSeaGreen);
if (! EachTickMode) BarCount = Bar;
terus;
}
}
}
} lain {
//Dekat
// ----------------------------------------------- -------------------
//| Sinyal Mulai (Keluar Jual) |
// ----------------------------------------------- -------------------
if (False False) Order = SIGNAL_CLOSESELL;

// ----------------------------------------------- -------------------
//| Sinyal Akhir (Keluar Jual) |
// ----------------------------------------------- -------------------
if (Order == SIGNAL_CLOSESELL ((EachTickMode! TickCheck) || (! EachTickMode (Bar! = BarCount))))) {
OrderClose (OrderTicket (), OrderLots (), Ask, Slippage, DarkOrange);
if (SignalMail) SendMail ([Signal Alert], [ Symbol () ] DoubleToStr (Ask, Digit) Tutup Jual);
if (! EachTickMode) BarCount = Bar;
IsTrade = Salah;
terus;
}
//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 = Bar;
terus;
}
}
}
}
}
}
// ----------------------------------------------- -------------------
//| Sinyal Mulai (Entri) |
// ----------------------------------------------- -------------------
if (False False) Order = SIGNAL_BUY;
if (False False) Order = SIGNAL_SELL;

// ----------------------------------------------- -------------------
//| Akhir Sinyal |
// ----------------------------------------------- -------------------
//Membeli
if (Order == SIGNAL_BUY ((EachTickMode! TickCheck) || (! EachTickMode (Bar! = BarCount))))) {
if (! IsTrade) {
//Periksa margin gratis
if (AccountFreeMargin () lt; (1)) {
Cetak (Kami tidak punya uang. Margin Gratis =, AccountFreeMargin ());
return (0);
}
if (StopLossMode) StopLossLevel = Tanya - StopLoss * Point; selain itu StopLossLevel = 0,0;
if (TakeProfitMode) TakeProfitLevel = Tanyakan Poin TakeProfit; lain TakeProfitLevel = 0,0;
Ticket = OrderSend (Symbol (), OP_BUY, Lot, Ask, Slippage, StopLossLevel, TakeProfitLevel, Beli (# MagicNumber ), MagicNumber, 0, DodgerBlue);
if (Ticket gt; 0) {
if (OrderSelect (Tiket, SELECT_BY_TICKET, MODE_TRADES)) {
Cetak (Pesanan BELI dibuka:, OrderOpenPrice ());
SetIndexStyle (3, DRAW_ARROW, KOSONG, 2, Hijau);
if (SignalMail) SendMail ([Signal Alert], [ Symbol () ] DoubleToStr (Ask, Digit) Open Buy);
} lain {
Cetak (Kesalahan saat membuka pesanan BELI:, GetLastError ());
}
}
if (EachTickMode) TickCheck = Benar;
if (! EachTickMode) BarCount = Bar;
return (0);
}
}
//Menjual
if (Order == SIGNAL_SELL ((EachTickMode! TickCheck) || (! EachTickMode (Bar! = BarCount)))))
if (! IsTrade) {
//Periksa margin gratis
if (AccountFreeMargin () lt; (1)) {
Cetak (Kami tidak punya uang. Margin Gratis =, AccountFreeMargin ());
return (0);
}
if (StopLossMode) StopLossLevel = Tawaran StopLoss * Poin; selain itu StopLossLevel = 0,0;
if (TakeProfitMode) TakeProfitLevel = Tawaran - Poin TakeProfit; lain TakeProfitLevel = 0,0;
Ticket = OrderSend (Symbol (), OP_SELL, Lots, Bid, Slippage, StopLossLevel, TakeProfitLevel, Sell (# MagicNumber ), MagicNumber, 0, DeepPink);
if (Ticket gt; 0) {
if (OrderSelect (Tiket, SELECT_BY_TICKET, MODE_TRADES)) {
Cetak (pesanan JUAL dibuka:, OrderOpenPrice ());
SetIndexStyle (3, DRAW_ARROW, EMPTY, 2, Red);
if (SignalMail) SendMail ([Signal Alert], [ Symbol () ] DoubleToStr (Bid, Digit) Open Sell);
} lain {
Cetak (Kesalahan saat membuka pesanan SELL:, GetLastError ());
}
}
if (EachTickMode) TickCheck = Benar;
if (! EachTickMode) BarCount = Bar;
return (0);
}
}
if (! EachTickMode) BarCount = Bar;
return (0);
}
// ----------------------------------------------- -------------------