Ücretsiz bir mql4 danışmanı yazacağım - sayfa 7

 
merhaba, bir fikrim var, burada kişisel olarak ifade edebilirim, mümkün olduğunca uygun bir şekilde yazabilirim.
 
Merhaba, Uzman Danışmanımı geliştirmeme yardım eder misin?
 
Andrey Luxe :

Bu alanda deneyim kazanmak için ilginç fikirleriniz ve stratejileriniz için ücretsiz 25 danışman yazacağım.

19 danışman kaldı

Böyle bir sorunum var, danışman zaten var ve iyi çalışıyor, sorun takip eden durdurma bloğunda. Nedense çalışmıyor, açık artırmaya çıkarılmıyor. İşte danışman. Belki takip hakkında fikirler vardır? Ve sonra bir şekilde onsuz ceket olmaz.

İşimoku - MACD.mq4 |

//| İÇİN |

//| http://www.forex-tradexperts-to.narod.ru |

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

# mülkiyet telif hakkı "TO"

#özellik bağlantısı "http://www.forex-tradexperts-to.narod.ru"

#include <WinUser32.mqh>


harici string Parametreler="Ichimoku";

harici int tenkan_sen=3;

harici int kijun_sen=48;

harici int senkou_span_b=52;

extern string Parametreler=" Hareketli Ortalama";

harici int MaPeriod=4;

harici int ma_method=1;

harici int uygulamalı_fiyat=3;

harici dize Parametreleri=" MACD";

harici int FastEMA=22;

harici int YavaşEMA=52;

harici int SignalEMA=9;

extern string Parameters="Uzman Danışman";

harici int TP=200;

harici int SL=500;

dış int kayma=3;

dış çift lot = 0.1;

extern bool Ekleme1/*(TENKANSEN rev. KIJUNSEN)*/ =true;

extern bool Add2/*(TENKANSEN rem Ma)*/=true;

extern bool sonu=true;

harici çift takipDurdur=200;

harici int zashita=1;


bool buy1=yanlış,buy2=yanlış,satın3=yanlış,satın4=yanlış;

bool sat1=yanlış,sell2=yanlış,sell3=yanlış,sell4=yanlış,sell22=yanlış,satın22=yanlış;

int bilet=0;

int i;

tarihsaat t1=0,t2=1,t3=1,t4=1,t5=1,t7=1,t8=1;

int init()

{

dönüş(0);

}

int tanım()

{

dönüş(0);

}


int başlangıç()

{

t1=Zaman[0];


double MACDRED1=iMACD(NULL,0,HızlıEMA,YavaşEMA,SinyalEMA,PRICE_CLOSE,MODE_MAIN,1);

double MACDRED2=iMACD(NULL,0,HızlıEMA,YavaşEMA,SinyalEMA,PRICE_CLOSE,MODE_MAIN,2);

double MACDBLUE1=iMACD(BOŞ,0,HızlıEMA,YavaşEMA,SignalEMA,PRICE_CLOSE,MODE_SIGNAL,1);

double MACDBLUE2=iMACD(BOŞ,0,HızlıEMA,YavaşEMA,SinyalEMA,PRICE_CLOSE,MODE_SIGNAL,2);

double IshRed1=iIchimoku(NULL,0,tenkan_sen,kijun_sen,senkou_span_b,MODE_TENKANSEN,1);

double IshRed2=iIchimoku(NULL,0,tenkan_sen,kijun_sen,senkou_span_b,MODE_TENKANSEN,2);

double IshBlue1=iIchimoku(NULL,0,tenkan_sen,kijun_sen,senkou_span_b,MODE_KIJUNSEN,1);

double IshBlue2=iIchimoku(NULL,0,tenkan_sen,kijun_sen,senkou_span_b,MODE_KIJUNSEN,2);

double MA1=iMA(NULL,0,MaPeriod,0,ma_method,applied_price,1);

double MA2=iMA(NULL,0,MaPeriod,0,ma_method,applied_price,2);

if(MACDRED1>MACDBLUE1 && MACDRED2<MACDBLUE2 && t3!=t1)

{ // MACD BUY için sinyal

buy1=true;sell1=false;t3=Zaman[0];

}

if(MACDRED1<MACDBLUE1 && MACDRED2>MACDBLUE2 && t3!=t1)

{ // MACD SATIŞI için sinyal

sell1=true;buy1=false;t3=Zaman[0];

}

if(IshRed1>MA1 && IshRed2<=MA2 && t4!=t1)

{ // Ichimoku Fast için sinyal, BUY'da MA'yı geçiyor

buy2=true;sell2=false;t4=Zaman[0];

}

if(IshRed1<MA1 && IshRed2>=MA2 && t4!=t1)

{ // Ichimoku Fast için sinyal, SELL'de MA'yı geçiyor

sell2=true;buy2=false;t4=Zaman[0];

}

if(IshRed1>IshBlue1 && IshRed2<IshBlue2 && t5!=t1)

{ // Ichimoku'ya sinyal, SATIN ALMA sırasında Hızlı'yı geçiyor

buy3=true;sell3=yanlış;t5=Zaman[0];

}

if(IshRed1<IshBlue1 && IshRed2>IshBlue2 && t5!=t1)

{ // Ichimoku'ya sinyal Hızlı geçiyor Yavaş satıyor

sell3=true;buy3=false;t5=Zaman[0];

}

if(Add1==true && buy3==true && buy4==true && t1!=t8)

{ // eklemeleri aç

PlaySound("Uyarı.wav");

int ret=MessageBox("Satın alma siparişi ekle?","Soru",MB_YESNO|MB_ICONQUESTION);

if(ret==6){ticket=OrderSend(Symbol(),OP_BUY,lot,Ask,slippage,Bid-SL*Point,Ask+TP*Point,NULL,0,0,Blue);if(ticket>0 )PlaySound("ok.wav");if(ticket<0)Alert("Sipariş belirlenmedi!!! error - "+GetLastError()+"manuel olarak ayarla");}

t8=Zaman[0];buy3=yanlış;buy4=yanlış;

}

if(Add1==true && sell3==true && sell4==true && t1!=t7)

{ // eklemeleri aç

PlaySound("Uyarı.wav");

int ret2=MessageBox("Satış emri ekle?","Soru",MB_YESNO|MB_ICONQUESTION);

if(ret2==6){ticket=OrderSend(Symbol(),OP_SELL,lot,Bid,slippage,Ask-SL*Point,Bid+TP*Point,NULL,0,0,Red);if(ticket>0 )PlaySound("ok.wav");if(ticket<0)Alert("Sipariş belirlenmedi!!! error - "+GetLastError()+"manuel olarak ayarla");}

t7=Zaman[0];sell3=yanlış;sell4=yanlış;

}

for(i=SiparişlerToplam()-1;i>=0;i--)

{

OrderSelect(i,SELECT_BY_POS,MODE_TRADES);

if(OrderType()==OP_BUY)

{

satın1=yanlış;satın2=yanlış;satın22=doğru;

kırmak;

}

}

if(Add2==true && buy22 && IshRed1>MA1 && IshRed2<=MA2 && t4!=t1)

{ // Satın Almak için Ma ve Tenkan_sen tarafından ekleniyor

PlaySound("Uyarı.wav");

int ret3=MessageBox("Satın alma siparişi ekle?","Soru",MB_YESNO|MB_ICONQUESTION);

if(ret3==6){ticket=OrderSend(Symbol(),OP_BUY,lot,Ask,slippage,Bid-SL*Point,Ask+TP*Point,NULL,0,0,Blue);if(ticket>0 )PlaySound("ok.wav");if(ticket<0)Alert("Sipariş belirlenmedi!!! error - "+GetLastError()+"manuel olarak ayarla");}

t4=Zaman[0];buy22=yanlış;

}

if(Add2==true && sell22 && IshRed1<MA1 && IshRed2>=MA2 && t4!=t1)

{ // Satışta Ma ve Tenkan_sen ekleme

PlaySound("Uyarı.wav");

int ret4=MessageBox("Satış emri ekle?","Soru",MB_YESNO|MB_ICONQUESTION);

if(ret4==6){ticket=OrderSend(Symbol(),OP_SELL,lot,Bid,slippage,Ask-SL*Point,Bid+TP*Point,NULL,0,0,Red);if(ticket>0 )PlaySound("ok.wav");if(ticket<0)Alert("Sipariş belirlenmedi!!! error - "+GetLastError()+"manuel olarak ayarla");}

t4=Zaman[0];sell22=yanlış;

}

if(buy1==true && buy2==true && t1!=t2)

{ //ilk siparişleri aç

for(i=SiparişlerToplam()-1;i>=0;i--)

{

OrderSelect(i,SELECT_BY_POS,MODE_TRADES);

if(OrderType()==OP_SELL)OrderClose(OrderTicket(),OrderLots(),Ask,slippage,Gold);

}

PlaySound("Uyarı.wav");

bilet=OrderSend(Symbol(),OP_BUY,lot,Ask,slippage,Bid-SL*Point,Ask+TP*Point,NULL,0,0,Mavi);

if(bilet>0)PlaySound("ok.wav");

if(ticket<0)Alert("Sipariş verilmedi!!! error - "+GetLastError()+"manuel olarak yerleştirin");

t2=Zaman[0];buy1=yanlış;buy2=yanlış;satın4=doğru;

}

for(i=SiparişlerToplam()-1;i>=0;i--)

{

OrderSelect(i,SELECT_BY_POS,MODE_TRADES);

if(OrderType()==OP_SEL)

{

sat1=yanlış;sell2=yanlış;sell22=doğru;

kırmak;

}

}

if(sell1==true && sell2==true && t1!=t2)

{ //ilk siparişleri aç

for(i=SiparişlerToplam()-1;i>=0;i--)

{

OrderSelect(i,SELECT_BY_POS,MODE_TRADES);

if(OrderType()==OP_BUY)OrderClose(OrderTicket(),OrderLots(),Bid,slippage,Gold);

}

PlaySound("Uyarı.wav");

bilet=OrderSend(Symbol(),OP_SELL,lot,Bid,slippage,Ask+SL*Point,Bid-TP*Point,NULL,0,0,Red);

if(bilet>0)PlaySound("ok.wav");

if(ticket<0)Alert("Sipariş verilmedi!!! error - "+GetLastError()+"manuel olarak yerleştirin");

t2=Zaman[0];sell1=yanlış;sell2=yanlış;sell4=doğru;satın22=yanlış;

}

//Sondaki durdurma

çift SL,TP,açık fiyat,kar;

int biletSipariş,zamok,tür;

dize iletişim;

for(i=OrdersTotal();i>=0;i--)

{

OrderSelect(i, SELECT_BY_POS, MODE_TRADES);

if(trailing==true && OrderProfit()/MarketInfo(Symbol(),MODE_TICKVALUE)>0 && MathFloor(OrderProfit()/MarketInfo(Symbol(),MODE_TICKVALUE)/trailingStop)!=0 && (OrderProfit()/MarketInfo( Symbol(),MODE_TICKVALUE))>=trailingStop*MathFloor(OrderProfit()/MarketInfo(Symbol(),MODE_TICKVALUE)/trailingStop))

{

if(OrderType()==0){SL=Teklif-trailingStop*Point;if(SL==OrderOpenPrice())SL+=zashita*Point;}

if(OrderType()==1){SL=Ask+trailingStop*Point;if(SL==OrderOpenPrice())SL-=zashita*Point;}

TP=OrderTakeProfit();

if(OrderType()==0)if(SL>=OrderStopLoss()+trailingStop*Point)OrderModify(OrderTicket(),OrderOpenPrice(),SL,TP,0);

if(OrderType()==1)if(SL<=OrderStopLoss()-trailingStop*Point)OrderModify(OrderTicket(),OrderOpenPrice(),SL,TP,0);

}

}

dönüş(0);

}

 

Her şeyi cevaplamayacağım, ama bu kesinlikle bir söve:

for (i= OrdersTotal ();i>= 0 ;i--)

Son sipariş OrdersTotal()-1 siparişidir.

 
Merhaba, lütfen Ichimoku ve MACD için hazır Expert Advisor'ı anlamama yardım edin. EA çalışır, ancak koşullar oluştuğunda bir nedenden dolayı takip eden bir durdurma ayarlamaz. MQL4'te güçlü değilim, bu yüzden neyi değiştireceğimi bulamıyorum. Büyük olasılıkla takip eden durdurma bloğunda bir hata var. Şimdiden teşekkürler. Bu özellik olmadan, bu ticaret için önemli bir dezavantajdır.
Dosyalar:
 

multiadvisor ücretsiz yazabilir/ekleyebilir misiniz?

boşluk var.

 

Merhaba, saygılarımla, danışmanda T / P ve Magic_Number kaydı için kimin yardımcı olacağını soruyorum. Saygılarımla, Timothy.

 

Güzel gün

böyle bir parçayı nasıl yazarsın?

çift a; //

çift b; // hem a hem de b kesinlikle herhangi bir değeri alabilir: sayılar, gösterge okumaları , 500 mum başına işaret sayısı, vb.

Çift x; // sapma değeri +-X

Eğer

(a+x ve ax) değerler alanına girer (b+x ve bx)

{eylem}

başka

{dönüş 0}

 
trader781 :

Güzel gün

böyle bir parçayı nasıl yazarsın?

çift a; //

çift b; // hem a hem de b kesinlikle herhangi bir değeri alabilir: sayılar, gösterge okumaları, 500 mum başına onay sayısı, vb.

Çift x; // sapma değeri +-X

Eğer

(a+x ve ax) değerler alanına girer (b+x ve bx)

{eylem}

başka

{dönüş 0}

Eğer x her durumda aynı değerse, o zaman esasen iki a ve b sayısını karşılaştırıyorsunuz demektir. Buradaki aralıkta herhangi bir vuruştan söz edilemez.

Örneğin a = 10, b = 11 alalım. Yani, 12'den 8'e kadar olan aralığın 13'ten 9'a kadar olan aralığa düşmesini ister misiniz?

 
Alexey Kozitsyn :

Eğer x her durumda aynı değerse, o zaman esasen iki a ve b sayısını karşılaştırıyorsunuz demektir. Buradaki aralıkta herhangi bir vuruştan söz edilemez.

Örneğin a = 10, b = 11 alalım. Yani, 12'den 8'e kadar olan aralığın 13'ten 9'a kadar olan aralığa düşmesini ister misiniz?

her şey yolunda