Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret 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
i-Regr göstergesine dayalı basit bir ticaret robotu yazma konusunda yardım istiyorum. Yapılan işin kalitesi sağlandığında, makul bir ödeme garantisi veriyorum.
Birisi ilgileniyorsa, lütfen ma.gog@mail.ru adresine yazın.
Genel fikir şudur:
1. EA, bekleyen stop ve limit emirlerini fraktallara göre (alış durdur, sat durdur, al limiti, sat limiti) vermelidir, emir sona erme süresi (saat, dakika) ayarlanmalıdır.
2. Emir türleri devre dışı bırakılmalıdır (ya stop ve limit emirleri birlikte veya ayrı ayrı: sadece stop emirleri, sadece limit emirleri),
3. Verilen emirden fraktal arasındaki mesafe pip olarak ve stop emirleri için - ayrı olarak, limit emirleri için - ayrı olarak ayarlanmalıdır.
4. StopLoss ve TakeProfit sabittir, hemen ayarlanır.
5. Kapatma özelliğine sahip bir pipten sondaki durdurmaya ihtiyacınız var.
6. Parti sabittir. Ancak, para yönetimi yapabilirsiniz.
7. Emirler spreadi hesaba katmalıdır: (alış emirleri + spread, satış emirleri - spread)
İletişim için: Cashinroman@yandex.ru
Belki birisi bu kodda pound dolar H4 super'in test cihazında neden çalıştığını anlayacaktır.
Ve demoda ve gerçek hayatta, sadece dökülüyor, belki bir ATP'yi değiştirebilir, belki tarihe bakar
harici çift Init_line1 = 1.9620;
harici çift Init_line2 = 1.9630;
harici çift Init_line3 = 1.9640;
harici çift Init_line4 = 1.9650;
harici int Adım_satırı = 40;
dış çift Lot = 1;
harici int ColUr=2;
int i, j;
int a[4][4];//1-buy, 2-sell, 3-sallstop, 4-sellstop
çift minlot;
datetimeLastWork;
//+------------------------------------------- --------------------+
//| uzman başlatma işlevi |
//+------------------------------------------- --------------------+
//******************************************************* ***********************
// açık pozisyon olup olmadığını kontrol edin,
// açık konumların sayısını a[4]][4] dizisine koyar
bool Pred()
{
intNL; //dizideki hangi satırlar
(i=0; i<=4; i++) için
(j=0; j<=4; j++) için
a[i][j]=-1;//hepsi -1'de
for (i=0; i<OrdersTotal(); i++) //tüm siparişleri yağmala
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==yanlış)//mümkün değilse bir sipariş seçin
kırmak;
if (OrderSymbol()==Symbol())//bu sembol için pozlar var
if (OrderComment()=="a1")//bu bizim etiketimiz mi?
NL=0;
else if (OrderComment()=="a2")//bu bizim etiketimiz mi?
NL=1;
else if (OrderComment()=="a3")//bu bizim etiketimiz mi?
NL=2;
else if (OrderComment()=="a4")//bu bizim etiketimiz mi?
NL=3;
başka
devam;//Hayır? o zaman aramaya devam et
// siparişlerimiz var, onlarla ilgilenelim
if (OrderType()==OP_BUY)//pozisyon satın almak içinse
a[NL][0]=OrderTicket();//numarasını hatırla
else if (OrderType()==OP_SELL)//pozisyon satışta ise
a[NL][1]=OrderTicket();//numarasını hatırla
else if(OrderType()==OP_BUYSTOP)//pozisyon satın almayı bekliyorsa
a[NL][2]=OrderTicket();//numarasını hatırla
else if (OrderType()==OP_SELLSTOP)//pozisyon satılmayı bekliyorsa
a[NL][3]=OrderTicket();//numarasını hatırla
}//sayılandırmanın sonu
}
//******************************************************* ***********************
//Misal:
//kontrol seviyesi 1.9420, mevcut fiyat 1.9277 veya 1.9537 en yakın alt değeri bulun. seviye
//a)|1.9420-1.9277|*10000/40=3.575
// 3.575-3=0.575; 0,575*40=23; 1.9277-0.0023=1.9255 en yakın üst seviye
//b)|1.9420-1.9537|*10000/40=2.925
// 2.925-2=0.925; 0.925*40=37; 1.9537-0.0037=1.9500 en yakın alt seviye
int init()
{
Sonİş = -1;
}
//******************************************************* ***********************
int tanım()
{
dönüş(0);
}
//******************************************************* ***********************
int başlangıç()
{
if (CurTime() - LastWork < 5)
dönüş(0); // her 5 saniyede bir defadan fazla değil
LastWork = CurTime();
Pred();//hepsi toplandı
Comment("a[1][1]=",a[0][0]," a[0][2]=",a[0][1]," a[1][3]=" ,a[0][2]," a[1][4]=",a[0][3],"\n",
"a[2][1]=",a[1][0]," a[2][2]=",a[1][1]," a[2][3]=",a [1][2]," a[2][4]=",a[1][3],"\n",
"a[3][1]=",a[2][0]," a[3][2]=",a[2][1]," a[3][3]=",a [2][2]," a[3][4]=",a[2][3],"\n",
"a[4][1]=",a[3][0]," a[4][2]=",a[3][1]," a[4][3]=",a [3][2]," a[4][4]=",a[3][3],"\n");
dize yorumu;
double Init_line,qw,qw1,uo,w, sl, op;
for(i=0;i<ColUr;i++)//a[4][4] dizisini çalıştırın
{
// daha fazlasına ihtiyaç var
yorumlar="";
eğer (i==0)
{
yorumlar="a1";
Init_line=Init_line1;
}
başka if(i==1)
{
yorumlar="a2";
Init_line=Init_line2;
}
başka if(i==2)
{
yorumlar="a3";
Init_line=Init_line3;
}
başka if(i==3)
{
yorumlar="a4";
Init_line=Init_line4;
}
// en yakın seviyeyi ara
w=(MathAbs(Bid-Init_line)*1/Point)/Step_line;//katsayısı
if (Teklif>=Init_line)
qw=Step_line*(w-MathFloor(w));//en yakın seviyeye inen puan sayısı
başka
qw=Step_line-Step_line*(w-MathFloor(w));//en yakın düzeye inen nokta sayısı
qw1=Step_line-qw;//en yakın seviyeye kadar olan nokta sayısı
// Comment("Satır1 ",Init_line," w=",((Bid-Init_line)*1/Point)/Step_line," qw=",qw," NewLine",Bid-(qw)*Point);
if ((a[i][0]==-1)&&(a[i][1]==-1)&&(a[i][2]==-1)&&(a[i][ 3]==-1))//açık değil
{
// siparişleri ayarla
if (qw+4>=15)// satışı beklemeye alabilirsiniz
OrderSend(Symbol(), OP_SELLSTOP, Lot, Bid-(qw)*Point,0,Bid-Point*(qw-2*Step_line),0,coment,0,0, CLR_NONE );
else // bir sonraki seviyeye geç
OrderSend(Symbol(), OP_SELLSTOP, Lot, Bid-Point*(qw+Step_line),0,Bid-Point*(qw+Step_line-2*Step_line),0,coment,0,0,CLR_NONE);
if (qw1>=15)//Satın Al'ı geciktirebilirsiniz
OrderSend(Symbol(), OP_BUYSTOP, Lot, Ask+(qw1-4)*Puan,0,Ask+Nokta*(qw1-4-2*Step_line),0,coment,0,0,CLR_NONE);
başka // sonraki seviyeyi ayarla
OrderSend(Symbol(), OP_BUYSTOP, Lot, Ask+Nokta*(qw1-4+Step_line),0,Ask+Nokta*(qw1-4+Step_line-2*Step_line),0,coment,0,0,CLR_NONE) ;
}
//!!!!!!!!!!!!!!!!
else if (a[i][0]!=-1)// satın almaya değer
{//açık bir satın alma ile anlaşma
OrderSelect(a[i][0],SELECT_BY_TICKET, MODE_TRADES);//şu anda açık olan bir sipariş seçin
uo=OrderOpenPrice();//açılış fiyatı - seviye
işlem=uo;
if (uo<(Ask-(qw-4)*Point))//açılış seviyesi mevcut alt seviyenin altındaysa
//değiştirilmesi gerekiyorsa, açık olanın SL'sini kontrol edin
if (OrderStopLoss()<(Ask-Point*(qw+4+2*Step_line)))//SL mevcuttan 2 seviyeden az ise. Fiyat:% s
OrderModify(a[i][0],NULL,Ask-Point*(qw+4+2*Step_line),NULL,NULL,CLR_NONE);
sl=SiparişStopLoss();
//ertelenmiş ile ilgilen
if (a[i][3]!=-1)// satış durdurma değerinde
{
OrderSelect(a[i][3],SELECT_BY_TICKET, MODE_TRADES);//erteleme için konumlandırıldı
uo=OrderOpenPrice();//açılış fiyatı - seviye
if(uo!=sl)//(Bid-Point*(qw+2*Step_line)))//açık seviye, stop-loss AL'a eşittir
OrderModify(a[i][3],sl, sl+Nokta*(2*Adım_satır),NULL,NULL,CLR_NONE);
// OrderModify(a[i][3],Teklif Noktası*(qw-2*Adım_satır), Teklif+qw*Nokta,NULL,NULL,NULL);
}
aksi takdirde (a[i][3]==-1)//döner tabla satın almak için açıldıysa, bir satış durdurma ayarlamanız gerekir
OrderSend(Symbol(), OP_SELLSTOP, Lots, sl,0,sl+Point*(2*Step_line),NULL,coment,0,0,CLR_NONE);
// OrderSend(Symbol(), OP_SELLSTOP, Lot, Bid-(qw+2*Step_line)*Point,0,Bid-Point*(qw),NULL,coment,0,0,0);
}
//!!!!!!!!!!!!!!!!
else if (a[i][1]!=-1)// satmaya değer
{
OrderSelect(a[i][1],SELECT_BY_TICKET, MODE_TRADES);//şu anda açık olan siparişi seçin
uo=OrderOpenPrice();//açılış fiyatı - seviye
işlem=uo;
if (uo>(Teklif+(qw1)*Puan))//açılış seviyesi mevcut üst seviyeden yüksekse
//değiştirilmesi gerekiyorsa, açık olanın SL'sini kontrol edin
if (OrderStopLoss()>(Bid+Point*(qw1+2*Step_line)))//SL mevcuttan 2 seviyeden daha yüksek. Fiyat:% s
OrderModify(a[i][1],NULL,Bid+Point*(qw1+2*Step_line),NULL,NULL,CLR_NONE);
sl=SiparişStopLoss();
//ertelenmiş ile ilgilen
if (a[i][2]!=-1)// buystop değerinde
{
OrderSelect(a[i][2],SELECT_BY_TICKET, MODE_TRADES);//erteleme için konumlandırıldı
uo=OrderOpenPrice();//açılış fiyatı - seviye
if (uo!=sl)//open seviyesi SATIŞ stop-loss'a eşittir
OrderModify(a[i][2],sl,sl-(2*Adım_satır)*Nokta,NULL,NULL,CLR_NONE);
// OrderModify(a[i][2],Ask+Nokta*(qw1-4+2*Adım_satır), Ask+(qw1-4)*Nokta,NULL,NULL,NULL);
}
aksi takdirde (a[i][2]==-1)//satışta pikap açılırsa, buystop'u ayarlamanız gerekir
OrderSend(Symbol(), OP_BUYSTOP, Lots, sl,0,sl-Point*(2*Step_line),NULL,coment,0,0,CLR_NONE);
//OrderSend(Symbol(), OP_BUYSTOP, Lot, Ask+(qw1-4+2*Step_line)*Nokta,0,Ask+Nokta*(qw1-4),NULL,coment,0,0,0);
}
}
dönüş(0);
}
Sevgili programcılar! Danışman yazarken yardım istiyorum çünkü henüz MQL dilini bilmiyorum, eğer danışman kârlıysa , kârı yazan kişiyle dürüstçe paylaşmaya veya koşullarınızı açıklamaya hazırım. Bence kârlı olmalı.
"Karı paylaşmak" hakkında - buna değer)
Ancak daha ilginç olanı "terimleri tanımlayın".
Şartlarım: Şimdi para için yazacağım, kâr ediyormuş gibi yapmıyorum.
Profildeki kişiler
Sevgili site ziyaretçileri. Çok basit bir Expert Advisor yazmak gerekiyor. Bir önerim var. Sana bir şart veriyorum, sen benim danışmanımsın. Benim basit stratejimi de kullanabilirsiniz. Bir ön koşul, böyle bir ihtiyaç ortaya çıktığında danışmanlardaki sipariş hacminin nasıl değiştirileceğini bana açıklamanız olacaktır. Kişisel yazışma veya ICQ 300333834 veya forexbmf@yandex.ru Andrey postası için koşulları vereceğim.
Üzerinde karlı ticareti onaylarsanız ücretsiz olarak yazacaklar (tercihen gerçek veya 1-2 ay demo).
aksi halde burada https://www.mql5.com/ru/job
Однако выслушав условие вы поймёте, что действительно имеет смысл такая торговля.
ekim , senden önce kaç kişinin neredeyse aynı kelimeleri söylediğini ve sustuğunu hayal bile edemezsin.
Sevgili site ziyaretçileri. Çok basit bir Expert Advisor yazmak gerekiyor.
Çevrimiçi uzman danışman sihirbazına bakın: http://sufx.core.t3-ism.net/ExpertAdvisorBuilder/
Rusça dil desteği mevcut