Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Çoklu İşlemleri Yönetin
Hey millet,
Teorik olarak sonsuz miktarda ticarete girebilen ve her ticaret için şunları yönetebilen bir EA geliştirmeye çalışıyorum:
İsviçre ordusu ve ManageTP gibi EA'ların bunu yapabileceğini biliyorum. Nasıl olduğunu bilmiyorum.
Baska öneri?
bir kayıptan sonra ticareti durdurmak için kod yazma konusunda yardıma ihtiyacınız var
Merhaba,
Bir uzmanın bir kayıptan sonra veya iki veya üç ardışık kayıptan sonra belirli bir saat boyunca ticareti durdurması için kod yazmam gerekiyor.
Birisi bana yardım edebilir mi?
Riskten korunma kapalıyken Martinggle için kodlama
Merhaba takım,
aşağıdaki durumlarıma çözüm getirebilecek bir kod aramak istiyorum;
örnekler;
martingle konsepti-
TP = 23 pip
Pip boşlukları = 20
OP, EU 0.1,0.2,0.4,0.8,1.6 lot satın al
1. lot 1,6'daki katman -20pips'den fazla yüzüyorsa, OP 12.8lot ile AB'yi Sat (tp 23).
2. katman 12.8 lot TP vurursa tüm AB pozisyonunu kapatın.
3. eğer 12.8 lot pip=0 ise, sadece AB'yi Sat'taki pozisyonu kapatın.
4. Koşul geçerliyse, 1'den 3'e kadar durumu tekrarlayın.
İşlev ve kodlar hakkında bana tavsiyede bulunmak için iyiliğinize ihtiyacım var.
kodlama sorusu
Şu anda bu kod, mevcut açıklığın önceki çubuktan daha yüksek olup olmadığını kontrol ederek çalışır. Sorum şu ki, önceki çubuğa EŞİT YA DA daha yüksek olup olmadığını görmek istersem onu nasıl değiştirirdim?
if(Open[0] > Open[0+1] &&
[0+1] Aç > [0+2] && Aç
Aç[0+2]>[0+3] Aç &&
[0+3] Aç > [0+4] Aç &&
[0+4] Aç > [0+5] Aç &&
Aç[0+5] > Aç[0+6]) Sipariş = SIGNAL_SELL
Bu = > gibi, büyüktür işaretinin yanına bir = ekler miyim?
Teşekkürler!
bunu dene:
if(Open[0] => Open[0+1] &&
Open[0+1] => Open[0+2] &&
Open[0+2]=> Open[0+3] &&
Open[0+3] => Open[0+4] &&
Open[0+4] => Open[0+5] &&
Open[0+5] => Open[0+6]) Order = SIGNAL_SELL
tersine uzman danışman sinyalleri
merhaba
sadece bu uzman danışmanla oynamak
#property link "http://FORTRADER.RU"
/*
????????? ???????? ?????????? ????????? ???????? ? ?????? ??????? ?? 26 ??? 2008,
??????????? ? ?????? ?? ????? ???? ?????? ? ????? ????????????: letters@fortrader.ru
http://www.fortrader.ru/arhiv.php
A detailed description of the parameters adviser available issue of the journal dated May 26 2008,
suggestions and feedback we will be glad to see in our e-mail: letters@fortrader.ru
http://www.fortrader.ru/arhiv.php
*/
extern string x="????????? MACD:";
extern int FastEMA = 12;
extern int SlowEMA = 24;
int SignalEMA = 9;
extern int predel = 6;
extern string x1="????????? MA:";
extern int SMA1 = 50;
extern int SMA2 = 100;
extern int otstup = 10;
extern string x2="???????? ????? ??? ??????? ????-???? :";
extern int stoplossbars = 6;
extern string x3="??????????? ??? ??????? ?????? ?????? ? ???????? ???????? ???????:";
extern int pprofitum = 2;
extern string x4="?????? ?? ADX:";
extern int enable = 0;
extern int periodADX = 14;
extern double Lots=1;
datetime Bar;int buy,sell,i,a,b;double stoploss,setup2,adx,okbuy,oksell;
int start()
{
buy=0;sell=0;
for( i=0;i<OrdersTotal();i++)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_BUY){buy=1;}
if(OrderType()==OP_SELL){sell=1;}
}
//????????? ??????????
double macd =iMACD(NULL,0,FastEMA,SlowEMA,SignalEMA,PRICE_CLOSE,MODE_MAIN,1);
double sma1 =iMA(NULL,0,SMA1,0,MODE_SMA,PRICE_CLOSE,1);
double sma2 =iMA(NULL,0,SMA2,0,MODE_SMA,PRICE_CLOSE,1);
if(Close[1]<sma2){okbuy=1;}
if(Close[1]>sma2){oksell=1;}
if(enable==1)
{
adx=iADX(NULL,0,14,PRICE_CLOSE,MODE_MAIN,0);
}else{adx=60;}
if(Close[1]+otstup*Point>sma1 && Close[1]+otstup*Point>sma2 && macd>0 && buy==0)
{
buy=0;
for( i=predel;i>0;i--)
{
macd=iMACD(NULL,0,FastEMA,SlowEMA,SignalEMA,PRICE_CLOSE,MODE_MAIN,i);
if(macd<0){buy=2;}
}
if(buy==2 && adx>50 && okbuy==1)
{okbuy=0;
double stoploss=Low;
OrderSend(Symbol(),OP_BUY,Lots,Ask,3,stoploss,0,0,16385,0,Green);
a=0;
}
}
if(Close[1]-otstup*Point<sma1 && Close[1]-otstup*Point<sma2 && macd<0 && sell==0)
{
sell=0;
for( i=predel;i>0;i--)
{
macd=iMACD(NULL,0,FastEMA,SlowEMA,SignalEMA,PRICE_CLOSE,MODE_MAIN,i);
if(macd>0){sell=2;}
}
if(sell==2 && adx>50 && oksell==1)
{oksell=0;
stoploss=High;
OrderSend(Symbol(),OP_SELL,Lots,Bid,3,stoploss,0,0,16385,0,White);
b=0;
}
}
if(buy==2 || buy==1)
{
for( i=0;i<OrdersTotal();i++)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_BUY )
{
double setup2=OrderOpenPrice()+((OrderOpenPrice()-OrderStopLoss())*pprofitum);
if(Close[1]>setup2 && a==0)
{
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,White);
OrderClose(OrderTicket(),OrderLots()/2,Bid,3,Violet);
a=1;
}
if(a==1 && sma1> Close[1]-otstup*Point)
{
OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet);
}
}
}
}
if(sell==2 || sell==1)
{
for( i=0;i<OrdersTotal();i++)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
if(OrderType()==OP_SELL )
{
setup2=OrderOpenPrice()-((OrderStopLoss()-OrderOpenPrice())*pprofitum);
if(Close[1]<setup2 && b==0)
{
OrderModify(OrderTicket(),OrderOpenPrice(),OrderOpenPrice(),OrderTakeProfit(),0,White);
OrderClose(OrderTicket(),OrderLots()/2,Ask,3,Violet);
b=1;
}
if(b==1 && Close[1]-otstup*Point> sma1)
{
OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet);
}
}
}
}
return(0);
}alış ve satış emirlerini nasıl tersine çevirebilirim ... çalıştıramıyorum
Sadece ters çevirmek için OP_BUY'u OP_SELL ile değiştirin ve doğru kod çizgisindeki ters eylem.
bunu dene:
if(Open[0] => Open[0+1] &&
Open[0+1] => Open[0+2] &&
Open[0+2]=> Open[0+3] &&
Open[0+3] => Open[0+4] &&
Open[0+4] => Open[0+5] &&
Open[0+5] => Open[0+6]) Order = SIGNAL_SELL
Bu işe yaramadı, ancak = işaretini > işaretinden sonra koymak işe yaradı. Bunun gibi:
if(Open[0] >= Open[0+1] &&
Aç[0+1] >= Aç[0+2] &&
Aç[0+2]>= Aç[0+3] &&
Aç[0+3] >= Aç[0+4] &&
Aç[0+4] >= Aç[0+5] &&
Aç[0+5] >= Aç[0+6]) Sipariş = SIGNAL_SELL
Bu kodda, 45 pip için ayarlanmış sondaki durdurmaya sahiptir. Ancak takip eden durak, 45 pip hareket edene kadar Etkinleştir görünmüyor. Takas yapıldığında takip eden durdurmanın etkinleştirilmesi için bunu nasıl değiştirmem gerekir?
extern string Remark1 = "== Main Settings ==";
extern int MagicNumber = 0;
extern bool SignalMail = False;
extern bool EachTickMode = true;
extern double Lots = 4;
extern int Slippage = 2;
extern bool UseStopLoss = false;
extern int StopLoss = 100;
extern bool UseTakeProfit = false;
extern int TakeProfit = 15;
extern bool UseTrailingStop = true;
extern int TrailingStop = 45;
extern bool MoveStopOnce = False;
extern int MoveStopWhenPrice = 50;
extern int MoveStopTo = 1;
extern int MaxConcurrentTrades = 2;
//Version 2.01
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 |
//+------------------------------------------------------------------+
//+------------------------------------------------------------------+
//| Variable End |
//+------------------------------------------------------------------+
//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() && OrderMagicNumber() == MagicNumber) {
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;
}
//MoveOnce
if(MoveStopOnce && MoveStopWhenPrice > 0) {
if(Bid - OrderOpenPrice() >= Point * MoveStopWhenPrice) {
if(OrderStopLoss() < OrderOpenPrice() + Point * MoveStopTo) {
OrderModify(OrderTicket(),OrderOpenPrice(), OrderOpenPrice() + Point * MoveStopTo, OrderTakeProfit(), 0, Red);
if (!EachTickMode) BarCount = Bars;
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;
}
//MoveOnce
if(MoveStopOnce && MoveStopWhenPrice > 0) {
if(OrderOpenPrice() - Ask >= Point * MoveStopWhenPrice) {
if(OrderStopLoss() > OrderOpenPrice() - Point * MoveStopTo) {
OrderModify(OrderTicket(),OrderOpenPrice(), OrderOpenPrice() - Point * MoveStopTo, OrderTakeProfit(), 0, Red);
if (!EachTickMode) BarCount = Bars;
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;
}
}
}
}
}
}
tersine uzman danışman sinyalleri
1 Expert Advisor'daki bazı kodları değiştirmek için skype'ta bana yardımcı olabilecek biri var mı?
çok iyi bir tane bulmuş olabilirim sadece küçük bir şey değişmeli
benim skype'ım: ctzulu
çok teşekkürler