[ARŞİV!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde - 4. - sayfa 623

 
rigonich :

1. Lütfen tarihten son anlaşmanın bileti için bir istek içeren bir parça yazın.. --Sorunuz.

2. Sondan bir önceki olanı bulmak için, sonuncunun biletini hatırlamanız (örneğin, bir değişkende, diyelim ki A), döngüyü tekrar çalıştırmanız ve bu sırayı "atlamanız" gerekir. çizgi

if(OrderSymbol()==Symbol()) öğesini if(OrderSymbol()==Symbol()&& OrderTicket()!=A ) öğesine ekleyin veya if( Ticket()!=A)continue;


önde gelen soru:

Neden sadece 2 anlaşmaya ihtiyacım varken for(int i=0;i<OrdersHistoryTotal();i++) satırında tam olarak OrdersHistoryTotal()'a ihtiyacımız var?

belki o zaman

veya(int i=0;i<2;i++) ?? (işaretli - bilet =-1 ....) evet ..... sis ... :)))

 
lottamer :


önde gelen soru:

Neden sadece 2 anlaşmaya ihtiyacım varken for(int i=0;i<OrdersHistoryTotal();i++) satırında tam olarak OrdersHistoryTotal()'a ihtiyacımız var?

belki o zaman

veya(int i=0;i<2;i++) ?? (işaretli - bilet =-1 ....) evet ..... sis ... :)))


Bir önceki yorumumu ekledim, bakınız. Ayrıca size mevcut enstrüman için son kapatılan ticareti arayan bir kod yazdım.
 
Yoldaşlar, söyleyin bana, örneğin C / C ++ ile bir robot yazmaya karar verirsem. Yazması sorun değil ama metatrader ile nasıl bağlantı kurarım? Fiyat teklifi nasıl alınır ve alım/satım sinyali nasıl geri gönderilir?
 
Desead :
Yoldaşlar, söyleyin bana, örneğin C / C ++ ile bir robot yazmaya karar verirsem. Yazması sorun değil ama metatrader ile nasıl bağlantı kurarım? Fiyat teklifi nasıl alınır ve alım/satım sinyali nasıl geri gönderilir?

Genelde diğer dilleri bilmiyorum, ama belki kodunuzu bir DLL olarak düzenleyebilir ve ardından MQL programlarından çağrılabilir.
 
rigonich :

Önceki yorumumu düzenledim, bir göz atın.


evet, şimdi neden döngüde zaman ve genel olarak zaman için bir karşılaştırma olduğunu anlıyorum ....

MANTIĞI da anlıyorum - "A"yı işaretleyin, ardından "A" yı hariç tutun, ancak ilk önce, bu "A" nın sıkışıp kalabileceği tüm seçenekleri denedim - ve yine de danışman bana son bileti değil, son bileti iade ediyor.

.

girilen 2 döngü (2 kullanıcı işlevi) - ilki orijinal olanınız, ikincisi "A" hariç ... birbiri ardına başlatılır.

Sıfır yazdırır....

-------------------------------------------------- --------------------------------------------------

if ( Hour()>=10 && Hour()<20)

{

LastClosetPoz();Sec_LastClosetPoz();

Yazdır(bilet2, bilet);

}

dönüş(0);

}

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

int LastClosetPos()

{

int Tot=OrdersHistoryTotal(),Ticket=-1; tarihsaat=0;

if(top>0)

{

for(int i=0;i<OrdersHistoryTotal();i++)

{

if( OrderSelect (i,SELECT_BY_POS,MODE_HISTORY)==true)

{

if(OrderSymbol()==Symbol())

{

if(OrderCloseTime()>zaman)

{

time=OrderCloseTime();Ticket=OrderTicket(); A=Bilet;

}

}

}

yoksa devam;

}

}

bilet iadesi);

}


//------------------------------------------------ -----

int Sec_LastClosetPoz()

{

int Tott=OrdersHistoryTotal(),Ticket2=-1; tarihsaatsaat2=0;

eğer(tott>0)

{

for(int i=0;i<OrdersHistoryTotal();i++)

{

if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==true)

{

if(OrderSymbol()==Symbol()&&OrderTicket()!=A)

{

if(OrderCloseTime()>time2)

{

time2=OrderCloseTime();Ticket2=OrderTicket();

}

}

}

yoksa devam;

}

}

dönüş(bilet2);

}

 
Desead :
Yoldaşlar, söyleyin bana, örneğin C / C ++ ile bir robot yazmaya karar verirsem. Yazması sorun değil ama metatrader ile nasıl bağlantı kurarım? Fiyat teklifi nasıl alınır ve alım/satım sinyali nasıl geri gönderilir?

DLL - örneklere bakın. C\C++ ile yazabilen bir programcının MT tesliminden standart örneklerle başa çıkamaması ve bunun forumda bir sürü materyalin varlığında olması mümkün mü?
 
VladislavVG :

DLL - örneklere bakın. C\C++ ile yazabilen bir programcının MT tesliminden standart örneklerle başa çıkamaması ve bunun forumda bir sürü materyalin varlığında olması mümkün mü?

Programcı değilim ama bazen en basit şeyleri kendim yazarım. Herhangi bir dilde basit bir robot yazabilirsiniz ve bu hiç sorun değil. Ve bazı fonksiyonları dll şeklinde düzenlemek ve sonra onları µl'den çağırmak istemedim, metatrader'ı çağırmadan tüm robotu kendi arayüzü ile yazmak istedim. Neyse ki, şu anda bunun çok fazla zorlanmadan yapılabileceği birçok farklı görsel dil bulduk.
 
lottamer :


evet, şimdi neden döngüde zaman ve genel olarak zaman için bir karşılaştırma olduğunu anlıyorum ....

MANTIĞI da anlıyorum - "A"yı işaretleyin, ardından "A" yı hariç tutun, ancak ilk önce, bu "A" nın sıkışıp kalabileceği tüm seçenekleri denedim - ve yine de danışman bana son bileti değil, son bileti iade ediyor.

.

girilen 2 döngü (2 kullanıcı işlevi) - ilki orijinal olanınız, ikincisi "A" hariç ... birbiri ardına başlatılır.

Sıfır yazdırır....


Bu işlev yerel değişkenler kullanır, bu nedenle onu ayrı bir işlev olarak iki kez çalıştırmanız, aynı işlevde birbiri ardına iki döngü yapmanız veya A'yı global değişken olarak bildirmeniz gerekmez. Sigara için kaçarım ama şimdilik bir dene, işe yaramazsa kapıyı çal, döndüğümde çözeriz.
 
Desead :

Programcı değilim ama bazen en basit şeyleri kendim yazarım. Herhangi bir dilde basit bir robot yazabilirsiniz ve bu hiç sorun değil. Ve bazı fonksiyonları dll şeklinde düzenlemek ve sonra onları µl'den çağırmak istemedim, metatrader'ı çağırmadan tüm robotu kendi arayüzü ile yazmak istedim. Neyse ki, şu anda bunun çok fazla zorlanmadan yapılabileceği birçok farklı görsel dil bulduk.

DLL biçiminde, yalnızca bireysel işlevleri değil, aynı zamanda başka bir dilde yazılmış tüm programı da düzenleyebilirsiniz.Ve terminali hiç kullanmak istemiyorsanız (yüzden fazla farklı yerleşik işlev, yerleşik program arayüzünün kendisinin göstergeleri), o zaman basit bir danışmandan bahsetmiyoruz , ama kendi terminalim, kendi gelişimim hakkında ve bu konuda, özellikle bu konuda size pek yardımcı olamayacaklarını düşünüyorum.
 
rigonich :

Bu işlev yerel değişkenler kullanır, bu nedenle onu ayrı bir işlev olarak iki kez çalıştırmanız, aynı işlevde arka arkaya iki döngü yapmanız veya A'yı global bir değişken olarak bildirmeniz gerekmez. Sigara için kaçarım ama şimdilik bir dene, işe yaramazsa kapıyı çal, döndüğümde çözeriz.


ORADA!!!! küçük bir hata oldu... Ticket değil, LastClosetPoz() ve Sec_LastClosetPoz()'u yazdırmak gerekiyordu.

Benim versiyonumun en zarif olmadığına eminim... ama işe yarıyor... Ama iki döngüyü bir fonksiyona nasıl ekleyeceğim... Bilmiyorum... Denedim... Hatalar vardı. .. canı cehenneme! (eğer senin için zor değilse göster - benim için yararlı olacak, değilse - peki, tamam...) yine de teşekkürler.

Ancak, 35. kapalı anlaşmanın biletini bulmam gerekirse ... yaklaşımımla sorun yaşayacağımı hissediyorum :)))) hahahh

neyse ki, bu henüz ufukta bile öngörülmedi ... maksimum 3 ...

Neden: