Kendi MetaTrader uzantınızı (dll) oluşturun - sayfa 11

 

mql4 programlama için temel soru

Merhaba,

Bir dll'den bazı işlevleri almak istiyorum. Bu nedenle bazı *.h dosyalarını eklemek zorunda kaldım.

Bu mümkün mü yoksa *.h yerine *.mqh yazmam mı gerekiyor?

Bir c-programlama dili için ise dll.

Ve veri tipi olarak işaretçileri ve yapıları olan işlevler vardır. Bunu mql4 ile kullanmak mümkün mü?

 

hisse senedi fiyatı almak

Merhaba,

C# ile meta trader'dan hisse senedi fiyatları almaya çalışıyorum, ancak bunu nasıl yapacağımı gerçekten bilmiyorum.

biri bana açıklayabilir mi veya beni belirli bir rehbere gönderebilir mi?

çok teşekkürler.

 
kfirmt:
Merhaba,

C# ile meta trader'dan hisse senedi fiyatları almaya çalışıyorum, ancak bunu nasıl yapacağımı gerçekten bilmiyorum.

biri bana açıklayabilir mi veya beni belirli bir rehbere gönderebilir mi?

çok teşekkürler.

Uzmanlar\examples\DLLexample'de fiyatların metatrader'dan C'ye nasıl geçirilebileceğini bulacaksınız (yeterince yakın, bu yüzden bu örneği doğrudan bunun için kullanabilirsiniz), Oran bilgi yapısı baştan beri değişmedi ve hala şu şekilde tanımlanır:

struct RateInfo

{

unsigned int ctm;

double open;

double low;

double high;

double close;

double vol;

};

bu yüzden onu C#'a geçirmek için herhangi bir sorun yaşamamalısınız.

 

Teşekkürler!

uzmanlar\örnekler\DLLörnek nerede?

 
kfirmt:
Teşekkürler! uzmanlar\örnekler\DLLörnek nerede?

Metatrader klasörünüzde (yüklediğiniz klasör)

 
mladen:
Metatrader klasörünüzde (yüklediğiniz klasör)

2 metatrader indirdim ve her ikisinde de örnekler c++'daydı. C# ile programlama yapmama rağmen bundan anlayabildiğimi düşünüyorum ama ihtiyacım olanı, hisse senedi fiyatlarını nasıl alacağımı bulamadım.

 
kfirmt:
2 metatrader indirdim ve her ikisinde de örnekler c++'daydı. C# ile programlama yapmama rağmen bundan anlayabildiğimi düşünüyorum ama ihtiyacım olanı, hisse senedi fiyatlarını nasıl alacağımı bulamadım.

Fiyatları ve göstergesini veya bir EA'yı DLL uzantınıza aktarıyorsunuz

Bu klasörde nasıl yapıldığına dair eksiksiz bir örneğiniz (MQL bölümü ve C bölümü) var. C# bölümündeki mql bölümünden veri aldığınızda, bununla ne yapacaksınız, sadece bir kod meselesidir.

 
mladen:
Fiyatları ve göstergesini veya bir EA'yı DLL uzantınıza aktarıyorsunuz Nasıl yapıldığını bu klasörde tam bir örneğiniz (MQL bölümü ve C bölümü) var. C# bölümündeki mql bölümünden veri aldığınızda, bununla ne yapacaksınız, sadece bir kod meselesidir.

MQL veya C'de örnek bulamadım, sadece C++. Her neyse, bir sürü fonksiyon vardı ve fiyatı almak için hangi fonksiyona ihtiyacım olduğunu anlayamadım. böyle bir örneğiniz var mı?

çok teşekkürler.

 
kfirmt:
MQL veya C'de örnek bulamadım, sadece C++'da. Her neyse, bir sürü fonksiyon vardı ve fiyatı almak için hangi fonksiyona ihtiyacım olduğunu anlayamadım. böyle bir örneğiniz var mı? çok teşekkürler.

C tarafından (yoruma bakın):

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

//| |

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

MT4_EXPFUNC double __stdcall GetRatesItemValue(const RateInfo* rates,const int rates_total,const int shift,const int nrate)

{

//---

if(rates==NULL)

{

printf("GetRatesItemValue: NULL array\n");

return(0.0);

}

//---

if(rates_total<0)

{

printf("GetRatesItemValue: wrong rates_total number (%d)\n", rates_total);

return(0.0);

}

//---

if(shift=rates_total)

{

printf("GetRatesItemValue: wrong shift number (%d)\n", shift);

return(0.0);

}

//---

if(nrate5)

{

printf("GetRatesItemValue: wrong rate index (%d)\n", nrate);

return(0.0);

}

//

// here you are having prices, time and volume

//

int nitem=rates_total-1-shift;

switch(nrate)

{

case 0: return double(rates[nitem].ctm);

case 1: return rates[nitem].open;

case 2: return rates[nitem].low;

case 3: return rates[nitem].high;

case 4: return rates[nitem].close;

case 5: return rates[nitem].vol;

}

//---

return(0.0);

}

 
mladen:
C tarafından (yoruma bakın):
//+------------------------------------------------------------------+

//| |

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

MT4_EXPFUNC double __stdcall GetRatesItemValue(const RateInfo* rates,const int rates_total,const int shift,const int nrate)

{

//---

if(rates==NULL)

{

printf("GetRatesItemValue: NULL array\n");

return(0.0);

}

//---

if(rates_total<0)

{

printf("GetRatesItemValue: wrong rates_total number (%d)\n", rates_total);

return(0.0);

}

//---

if(shift=rates_total)

{

printf("GetRatesItemValue: wrong shift number (%d)\n", shift);

return(0.0);

}

//---

if(nrate5)

{

printf("GetRatesItemValue: wrong rate index (%d)\n", nrate);

return(0.0);

}

//

// here you are having prices, time and volume

//

int nitem=rates_total-1-shift;

switch(nrate)

{

case 0: return double(rates[nitem].ctm);

case 1: return rates[nitem].open;

case 2: return rates[nitem].low;

case 3: return rates[nitem].high;

case 4: return rates[nitem].close;

case 5: return rates[nitem].vol;

}

//---

return(0.0);

}

Teşekkürler!

C#'ta bir şey var mı? çünkü gerçekten bana bir şey söylemiyor.