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

 
Valsorya :

Tünaydın !!

Söyle bana - Alpari'de DLL'deki kesirli sayı dizileri normal bir şekilde aktarılmıyor, danışmanda bir yerde hata var sandım! Tüm dosyaları insta'ya kopyaladım, forexfo4Yu - her şey doğru bir şekilde aktarıldı! Aktarılan diziyi terminale çıkarıyorum - iyi çalışıyor! Hemen dll'ye aktarıyorum - kryakozyabry! Insta'da forex4yu çalışıyor! Alpari yok! Bu sadece bir serseri! Tamsayılar normal olarak iletilir, ancak kesirli sayılar korkunçtur! Yarın kesirli sayıları tam sayı olarak aktarabilmek için sapıklık yapman gerekecek, mesela hepsini 100.000 ile çarpıp dll'de 100.000'e bölüp kesirleri elde edeceksin. Ama sözleşmenin boyutu 100.000'dir.. 10.000 ile çarpılırsa tam sayıya sığmaz.

Belki birisi nasıl yapılacağını bilir, bir danışman yazarım.

Kodu göster.
 
baylimit'in her 50 noktada bir açılması ve varsa bir daha açılmaması için nasıl yapacağımı söyle.
 

İşlem gününün başında AccountEquity() miktarını nasıl öğrenebilirim?

 
Elektronik :

İşlem gününün başında AccountEquity() miktarını nasıl öğrenebilirim?


kendini say.
veya göstergeyi kod tabanından indirin.

 

Yeni başlayanlara programlama için mql4 dili hakkında literatür önerin, mümkünse bağlantılar

 

Alert nasıl devre dışı bırakılır, yükledim ama tabloda göremiyorum lütfen söyleyin

 
Belirli bir fiyata göre bekleyen veya açık bir sipariş olup olmadığı nasıl kontrol edilir?
 

Söyle bana - Alpari'de DLL'deki kesirli sayı dizileri normal bir şekilde aktarılmıyor, danışmanda bir yerde hata var sandım! Tüm dosyaları insta'ya kopyaladım, forexfo4Yu - her şey doğru bir şekilde aktarıldı! Aktarılan diziyi terminale çıkarıyorum - iyi çalışıyor! Hemen dll'ye aktarıyorum - kryakozyabry! Insta'da forex4yu çalışıyor! Alpari yok! Bu sadece bir serseri! Tamsayılar normal olarak iletilir, ancak kesirli sayılar korkunçtur! Yarın kesirli sayıları tamsayı şeklinde aktarmak için saptırmanız gerekecek, örneğin hepsini 100.000 ile çarpın ve dll'de 100.000'e bölün ve kesirleri alın. Ama sözleşmenin boyutu 100.000'dir.. 10.000 ile çarpılırsa tam sayıya sığmaz.

Belki birisi nasıl yapılacağını bilir, bir danışman yazarım. Kodu buraya göndermemi istediler:

mql'de:

başlıkta:

//+------------------------------------------- --------------------+
#import "Size dosya adını söylemeyeceğim))).dll"

void SendDataToDLL(int SendDataToDLL_DataForDLL_int[50],
double SendDataToDLL_DataForDLL_double[50],
int SendDataToDLL_ArrayOfErrors[30],
int SendDataToDLL_ArrayOfWornings[10]);
...

#içe aktarmak
//+------------------------------------------- --------------------+
...
//+------------------------------------------- --------------------+
int init()
{...
CreateDataForDLL();
SendDataToDLL(DataForDLL_int,
DataForDLL_double,
DataToDLL_ArrayOfErrors,
DataToDLL_ArrayOfWornings);
...
}
//+------------------------------------------- --------------------+
geçersiz CreateDataForDLL()
{...
int CreateDataForDLL_i = -1;
...
CreateDataForDLL_i++; DataForDLL_double[CreateDataForDLL_i] = AccountLeverage();
CreateDataForDLL_i++; DataForDLL_double[CreateDataForDLL_i] = AccountStopoutLevel();
CreateDataForDLL_i++; DataForDLL_double[CreateDataForDLL_i] = AccountBalance();
CreateDataForDLL_i++; DataForDLL_double[CreateDataForDLL_i] = AccountCredit();
...
}

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

c++'da

elbette başlıkta beyan edin ve cpp'ye yazın:

extern "C" __declspec(dllexport) void __stdcall SendDataToDLL(int SendDataToDLL_DataForDLL_int[50],
double SendDataToDLL_DataForDLL_double[50],
int SendDataToDLL_ArrayOfErrors[30],
int SendDataToDLL_ArrayOfWornings[10])
{...
int SendDataToDLL_i; SendDataToDLL_i = 0;
// int dizisini sorunsuz şişir
...
SendDataToDLL_i = 0;
... //InputData - yapı..önemli değil..
SendDataToDLL_i++; InputData.AccountLeverage = SendDataToDLL_DataForDLL_double[SendDataToDLL_i];
SendDataToDLL_i++; InputData.AccountStopoutLevel = SendDataToDLL_DataForDLL_double[SendDataToDLL_i];
SendDataToDLL_i++; InputData.AccountBalance = SendDataToDLL_DataForDLL_double[SendDataToDLL_i];
SendDataToDLL_i++; InputData.AccountCredit = SendDataToDLL_DataForDLL_double[SendDataToDLL_i];
...
dize ssss;
sssss = GetCurrentDir().c_str();
sssss += "\\InputData.txt";
std::ofstream out2(sssss.c_str());
// bir metin dosyasına bir int dizisi çıktısı - her şey yolunda
...
için (SendDataToDLL_i = 0; SendDataToDLL_i < 40; SendDataToDLL_i++)
{out2 << FloatToStr(SendDataToDLL_DataForDLL_double[SendDataToDLL_i]).c_str() << '\n';
}
...}

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

Metin dosyasına bakarız ve int dizisinde doğru verilerden yararlanırız ve onu takip eden çift dizi, sıfırlar veya prensipte orada olamayacak inanılmaz derecede büyük sayılar gibi her türlü saçmalıklarla doludur.

Sadece Alpari'de olduğu gibi. örneğin tüm bu dosyalar (dll ve ex4) insta'ya atılırsa, her şey yolunda gider ve tüm veriler doğru şekilde görüntülenir.
 
Stells :

Tünaydın.

bana kavşağı en iyi nasıl düzelteceğimi söyle, stokastik diyelim:

sinyal ve ana hatların değerlerini karşılaştırmak için birinci ve üçüncü çubukta mı yoksa birinci ve ikinci mi?


iki komşu üzerinde
 
Ve neden Alpari'de MarketInfo( Symbol() , MODE_STOPLEVEL) 0 döndürür???