Temel sorular... - sayfa 6

 
 

MTF RWI Tetikleyici?

Bu göstergeler için tüm yeşiller için bir satın alma tetikleyicisi ve tüm kırmızılar için bir satış tetikleyicisi nasıl programlayabilirim? Lütfen yardım et...

Nick,

Dosyalar:
 

EA, onay başına yalnızca bir kez

Hey Millet,

Bunun daha önce paylaşılıp paylaşılmadığını bilmiyorum (konuları arayacak sabrım yok, üzgünüm!) ama çok sorulduğunu biliyorum.

Bu kod, onay başına SADECE bir kez çalışacaktır. Yeni bir kene girildiği anda ve ancak o zaman çalışır ve daha sonra başka bir kene oluşana kadar çalışmaz.

Lütfen bunun bazen bir sorun olabileceğini unutmayın. Herhangi bir nedenle siparişleriniz gerçekleşmezse, tekrar başlamaz. Bunu yapmak için kodu değiştirmek istiyorsanız, devam edin. Şöyle bir şey öneririm:

if order fails, fileseek to front of f, write Open[2] to f

Bu, bir sonraki onay işaretini yeni bir işaret olduğuna inandırır.

Dosyalar:
newtick.mq4  3 kb
 

MQL4 yazmakla ilgili herhangi bir kitap, çevrimiçi eğitim veya video var mı?

 

Hepinize merhaba,

Bunu kodlamak için yardıma ihtiyacım var:

Günlük grafiğe göre:

a) Diyelim ki 1. gün kapanışta koşullarım karşılandı ve varsayalım ki gün # 9 Haziran.

b) Şimdi 2. gün veya 10 Haziran'da kapanışta Yüksek ve Düşük'te bir AL-Durdur ve bir satış-stop yerleştirmek istiyorum

c) Son olarak, ticaretin 3. günde tetiklenmesini istiyorum.

Ek olarak, önce UZUN tetiklenirse, satış durağının kapatılmasını ve bunun tersini istiyorum.

Yardımlarınız için şimdiden teşekkür ederiz.

Saygılarımızla,

forexcel

 

Haftanın gününü ve saatini atamak için EA

Hangi günü seçtiğinizi (Örneğin sadece Çarşamba ve Perşembe) ve açılış ve kapanış saatini belirlediğiniz EA'yı bilmiyor musunuz?

Çoğu durumda,

Birçok kişinin SWAP alması nedeniyle Çarşamba ve Perşembe günleri bir oran yükselir.

Şu anda satın alıyorum ve bir pozisyon alıyorum.

Ve bir SWAP meydana gelir gelmez oran düşer.

Şu anda satıldım ve bir pozisyon alıyorum.

Bu ticaret gibi kullanmak için EA arıyorum.

 

Yardıma ihtiyacım var!

Merhaba millet,

Yardıma ihtiyacım var. Ben yarattığım bu EA var

#define SIGNAL_NONE 0

#define SIGNAL_BUY 1

#define SIGNAL_SELL 2

#define SIGNAL_CLOSEBUY 3

#define SIGNAL_CLOSESELL 4

#property copyright "FxAttack"

#property link "http://www.ioinvesto.com"

extern int MagicNumber = 0;

extern bool SignalMail = False;

extern bool EachTickMode = True;

extern double Lots = 0.1;

extern int Slippage = 3;

extern bool UseStopLoss = True;

extern int StopLoss = 25;

extern bool UseTakeProfit = True;

extern int TakeProfit = 25;

extern bool UseTrailingStop = False;

extern int TrailingStop = 30;

extern bool Use.Time.Filter = true;

extern string Server.Time.To.Start = "00:00";

extern string Server.Time.To.Stop = "17:00";

extern bool Not.Trade.Fri.Sun = True;

int BarCount;

int Current;

bool TickCheck = False;

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

//| expert initialization function |

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

int init() {

BarCount = Bars;

if (EachTickMode) Current = 0; else Current = 1;

return(0);

}

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

//| expert deinitialization function |

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

int deinit() {

return(0);

}

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

//| expert start function |

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

int start() {

int Order = SIGNAL_NONE;

int Total, Ticket;

double StopLossLevel, TakeProfitLevel;

if (EachTickMode && Bars != BarCount) TickCheck = False;

Total = OrdersTotal();

Order = SIGNAL_NONE;

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

//| Variable Begin |

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

double OpenPrice = iOpen(NULL, PERIOD_D1, Current + 0);

double Buy_Sign = (OpenPrice + (30*Point));

double Sell_Sign = (OpenPrice - (30*Point));

double start_time = StrToTime(TimeToStr(TimeCurrent(), TIME_DATE) + " " + Server.Time.To.Start);

double end_time = StrToTime(TimeToStr(TimeCurrent(), TIME_DATE) + " " + Server.Time.To.Stop);

Comment("Open Price = ",OpenPrice);

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

//| Variable End |

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

if(Use.Time.Filter && (TimeCurrent() = end_time)) return(0);

if(Not.Trade.Fri.Sun && (DayOfWeek()==6 || DayOfWeek()==1 )) return(0);

//Check position

bool IsTrade = False;

for (int i = 0; i < Total; i ++) {

OrderSelect(i, SELECT_BY_POS, MODE_TRADES);

if(OrderType() <= OP_SELL && OrderSymbol() == Symbol()) {

IsTrade = True;

if(OrderType() == OP_BUY) {

//Close

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

//| Signal Begin(Exit Buy) |

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

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

//| Signal End(Exit Buy) |

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

if (Order == SIGNAL_CLOSEBUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {

OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, MediumSeaGreen);

if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Close Buy");

if (!EachTickMode) BarCount = Bars;

IsTrade = False;

continue;

}

//Trailing stop

if(UseTrailingStop && TrailingStop > 0) {

if(Bid - OrderOpenPrice() > Point * TrailingStop) {

if(OrderStopLoss() < Bid - Point * TrailingStop) {

OrderModify(OrderTicket(), OrderOpenPrice(), Bid - Point * TrailingStop, OrderTakeProfit(), 0, MediumSeaGreen);

if (!EachTickMode) BarCount = Bars;

continue;

}

}

}

} else {

//Close

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

//| Signal Begin(Exit Sell) |

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

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

//| Signal End(Exit Sell) |

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

if (Order == SIGNAL_CLOSESELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {

OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, DarkOrange);

if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Close Sell");

if (!EachTickMode) BarCount = Bars;

IsTrade = False;

continue;

}

//Trailing stop

if(UseTrailingStop && TrailingStop > 0) {

if((OrderOpenPrice() - Ask) > (Point * TrailingStop)) {

if((OrderStopLoss() > (Ask + Point * TrailingStop)) || (OrderStopLoss() == 0)) {

OrderModify(OrderTicket(), OrderOpenPrice(), Ask + Point * TrailingStop, OrderTakeProfit(), 0, DarkOrange);

if (!EachTickMode) BarCount = Bars;

continue;

}

}

}

}

}

}

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

//| Signal Begin(Entry) |

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

if (Bid > Buy_Sign) Order = SIGNAL_BUY;

if (Ask < Sell_Sign) Order = SIGNAL_SELL;

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

//| Signal End |

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

//Buy

if (Order == SIGNAL_BUY && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {

if(!IsTrade) {

//Check free margin

if (AccountFreeMargin() < (1000 * Lots)) {

Print("We have no money. Free Margin = ", AccountFreeMargin());

return(0);

}

if (UseStopLoss) StopLossLevel = Ask - StopLoss * Point; else StopLossLevel = 0.0;

if (UseTakeProfit) TakeProfitLevel = Ask + TakeProfit * Point; else TakeProfitLevel = 0.0;

Ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, StopLossLevel, TakeProfitLevel, "MaxPower Buy Order", MagicNumber, 0, DodgerBlue);

if(Ticket > 0) {

if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) {

Print("BUY order opened : ", OrderOpenPrice());

if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Ask, Digits) + " Open Buy");

} else {

Print("Error opening BUY order : ", GetLastError());

}

}

if (EachTickMode) TickCheck = True;

if (!EachTickMode) BarCount = Bars;

return(0);

}

}

//Sell

if (Order == SIGNAL_SELL && ((EachTickMode && !TickCheck) || (!EachTickMode && (Bars != BarCount)))) {

if(!IsTrade) {

//Check free margin

if (AccountFreeMargin() < (1000 * Lots)) {

Print("We have no money. Free Margin = ", AccountFreeMargin());

return(0);

}

if (UseStopLoss) StopLossLevel = Bid + StopLoss * Point; else StopLossLevel = 0.0;

if (UseTakeProfit) TakeProfitLevel = Bid - TakeProfit * Point; else TakeProfitLevel = 0.0;

Ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, StopLossLevel, TakeProfitLevel, "MaxPower Sell Order", MagicNumber, 0, DeepPink);

if(Ticket > 0) {

if (OrderSelect(Ticket, SELECT_BY_TICKET, MODE_TRADES)) {

Print("SELL order opened : ", OrderOpenPrice());

if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " + DoubleToStr(Bid, Digits) + " Open Sell");

} else {

Print("Error opening SELL order : ", GetLastError());

}

}

if (EachTickMode) TickCheck = True;

if (!EachTickMode) BarCount = Bars;

return(0);

}

}

if (!EachTickMode) BarCount = Bars;

return(0);

}

//+------------------------------------------------------------------+[/PHP]

......but I don't understand how to put the code below inner it.

[PHP]...

for (int i=0; i<OrdersTotal(); i++) {

if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {

if (OrderSymbol()==Symbol() )

return(0);

....

Yazdığım son kod bloğu: "Bir SEMBOL üzerinde bir emir zaten açılmışsa, o SEMBOL üzerinde yeni emir açmayın".

Birisi entegre etmeme yardım edebilir mi?

Teşekkürler,

Mauro

 

EA sadece bir takas yapar...

Merhaba arkadaşlar, size kısa bir sorum var. Geçenlerde bir EA oluşturdum. Parametreler doğru ve grafiğe eklediğimde uygun bir Alış ve ardından bir Satış gerçekleştirdi. Ancak, bir dahaki sefere Buy sinyali geldiğinde, asla ticaret yapmadı. Görünüşe göre EA yalnızca ilk ticareti alıyor ve daha sonra hiçbirini yapmıyor. Bunun neden olabileceğine dair bir fikriniz var mı? Herhangi bir yardım için minnettar olurum. Teşekkürler!!!

 

Belki ea göstermek için bir fikirdir? Yani koda bakabilir miyiz?