MQL4 ve MQL5 ile ilgili herhangi bir acemi sorusu, algoritmalar ve kodlar hakkında yardım ve tartışma - sayfa 837

 
Alexander Layzerevich :

MT5 kodundaki Göstergeye veri aktarımı düzeltildi:

Ama hata aynı.

mql4 ile yazılmış saçma sapan kodlara bakmaktan vazgeçin ve daha hızlı elde edeceksiniz.

 
Igor Makanu :

Visual Studio'daki proje özelliklerine bakın, dll'yi hangi platformun derleyeceğine dair bir ayar olmalıdır - MT4'te 32 bit koda ihtiyacınız var

Not: VS ayarı için google araması

Böyle bir ayar aramaya çalıştım, arama motoru 32'den 64'e tam tersi gibi cevaplar veriyor ve genel olarak bu ayarın nasıl yapıldığını anlamadım. Biraz anladıysam, o zaman burada varsayılan olarak 32

Ama ayarı olan bir çeşit menü buldum

Bu yüzden varsayılan olarak burada olup olmadığını bilmiyorum 32.

 

Aynı kodun neden MT4'te çalıştığını ancak MT5'te çalışmadığını söyleyebilir misiniz? MT5'te strNum değişkeni her zaman =1'dir, ancak MT4'te sayaç ++ olması gerektiği gibi çalışır ve strNum = dosyadaki satır öğelerinin sayısıdır.

int strNum;
void OnStart ()
  {
 FileNum();
 Alert1();
  } 

   void FileNum()
{
       int handle= FileOpen ( "File.csv" , FILE_CSV | FILE_READ , ';' );
      strNum= 0 ; 
       while (! FileIsEnding (handle))
{
       FileReadString (handle);
      strNum++;
       if ( FileIsEnding (handle)== true )
       break ;
}
       FileClose (handle);
}

       void Alert1()
{
       Alert (strNum);
}
 
Seric29 :

Böyle bir ayar aramaya çalıştım, arama motoru 32'den 64'e tam tersi gibi cevaplar veriyor ve genel olarak bu ayarın nasıl yapıldığını anlamadım. Biraz anladıysam, o zaman burada varsayılan olarak 32

Ama ayarı olan bir çeşit menü buldum

Bu yüzden varsayılan olarak burada olup olmadığını bilmiyorum 32.

/MT veya /MD kitaplıklarında da bir sorun var, onları sürekli karıştırıyorum :-) Bu da kullanıcı dostu bir stüdyonun vahşi doğasında bir yer.

C++ ve Mql'de yaptığınız her şey dahil tüm projeyi gösterin. Şiddetli bir telif hakkı olduğunu düşünmüyorum :-)
tam koda göre, size neyin yanlış olduğunu söyleyeceğiz, aksi takdirde herkesi uzun süre telepati için zorlarsınız

 
Maxim Kuznetsov :

/MT veya /MD kitaplıklarında da bir sorun var, onları sürekli karıştırıyorum :-) Bu da kullanıcı dostu bir stüdyonun vahşi doğasında bir yer.

orada yaptığınız her şey dahil olmak üzere tüm projeyi C++ ve Mql'de gösterin. Şiddetli bir telif hakkı olduğunu düşünmüyorum :-)
tam koda göre, size neyin yanlış olduğunu söyleyeceğiz, aksi takdirde herkesi uzun süre telepati için zorlarsınız


.def dosyası

Dosya uzantısı .cpp

mql4'te dosyayı terminalin Kitaplıklar klasöründen sürükledi

 #import "dllmt42.dll"
 int _add( int a= 0 , int b= 0 );
#import

Peki, o zaman aptalca işlevi çağırdı, sadece 18 döndürüyor ve başka bir şey yapmıyor, çalışıp çalışmadığını anlamak için bir deney gibi.

 
Seric29 :

.def dosyası

Dosya uzantısı .cpp

mql4'te dosyayı terminalin Kitaplıklar klasöründen sürükledi

Peki, o zaman aptalca işlevi çağırdı, sadece 18 döndürüyor ve başka bir şey yapmıyor, çalışıp çalışmadığını anlamak için bir deney gibi.

eklemek için neden __ tire ekliyorsunuz? onun bokunu götür

tüm dosyalardaki tüm tanımlayıcılar, fanteziler olmadan kesinlikle aynı olmalıdır :-)

 
Alexey Viktorov :

mql4 ile yazılmış saçma sapan kodlara bakmaktan vazgeçin ve daha hızlı elde edeceksiniz.

Hepsi, dediğiniz gibi, "bok kodu", dilin temellerinin yardımına göre yazılmıştır. https://www.mql5.com/ru/docs/basis/function/call

Ayrıca "   Bir fonksiyon başka bir fonksiyon içinde bildirilemez. "

Ben sadece böyle yazdım. İşte tam da bu yüzden çalışmıyor.

Bu yüzden uzmanlardan hala işlevi nasıl çağıracağımı bulmaya çalışıyorum ( Deviation(Kanal) ) Gösterge işlevine yapılan çağrıya bağlı olduğunda ( double Envelopes(...) )

upd: Sorun kısmen çözüldü.
 
Maxim Kuznetsov :

eklemek için neden __ tire ekliyorsunuz? onun bokunu götür

tüm dosyalardaki tüm tanımlayıcılar, fanteziler olmadan kesinlikle aynı olmalıdır :-)

Eh, her şeyi talimatlara göre yaptılar ve ben yaptım, şimdi çıkarıp bakacağım. Genel olarak, 18'e geri dönmeye yardımcı oldu. Teşekkürler, daha fazla deneyeceğim.

 
Alexander Layzerevich :

Hepsi, dediğiniz gibi, "bok kodu", dilin temellerinin yardımına göre yazılmıştır. https://www.mql5.com/ru/docs/basis/function/call

Ayrıca" diyor   Bir fonksiyon başka bir fonksiyon içinde bildirilemez. "

Ben sadece böyle yazdım. Tam da bu yüzden çalışmıyor.

Bu yüzden uzmanlardan hala işlevi nasıl çağıracağımı bulmaya çalışıyorum ( Deviation(Kanal) ) Gösterge işlevine yapılan çağrıya bağlı olduğunda ( double Envelopes(...) )

upd: Sorun kısmen çözüldü.

Sapma(Kanal) işlevinin döndürdüğü değeri Zarflar( ........ ) işlevini zaten çağırdınız ve ilettiniz.

ve Zarflar( ........ ) işlevinin kendisinde, son parametre, bu değeri alacak bir değişken bildirir


bunun gibi bir şey

 double Envelopes( string symb, ENUM_TIMEFRAMES tf, int period, int shift, int method, int price, int buff, double Dev)
{
   double buf[ 1 ];
   int handle= iEnvelopes ( Symbol (), tf, period, shift, method, price, Dev);
   if (handle< 0 )
   {
     Print ( "Failed to create handle ATR, Error: " , GetLastError ());
     return ( WRONG_VALUE );
   } else
   {
     if ( CopyBuffer (handle,buff, 0 , 1 ,buf)< 0 )
    {
     Print ( "Failed to copy data from the indicator ATR, Error: " , GetLastError ());
     return ( WRONG_VALUE );
    }
   }
   return (buf[ 0 ]);
}
 
KrasAleks :

Hepiniz hoşgeldiniz. Hayatta iyi şanslar ve işte kar.

Yardım istiyorum (beklenmedik bir şekilde, değil mi? :) )

................................................ .

Ve işte orada kalktım :). GetProfitOpenPosInPoint (Symbol(),OP_BUY,Magic) yerine ne kullanılır? Teorik olarak, Düşürme Seviyesini (Symbol(),OP_BUY,Magic) kullanmanız gerekir, ancak bunu nasıl elde edeceğiniz aşağıda açıklanmıştır...


Lütfen yardım edin, arkadaş olun.
ZY Tavsiyende bulunursan, sana yalvarırım, hala bir çaylak olduğumu unutma, bana biraz daha göndermek için çok tembel olmayın, örneğin: ORMAN VAR, o zaman yönü belirtmeyi unutmayın <------ || ------>.

İlginiz için teşekkür ederim :).

Günaydın, öğleden sonra, akşam, gece (uygun şekilde altını çizin).

Kaba olma, bir soru soracağım. Zaparkamı düşünüyorum .... Sanırım son OP_BUY && OP_SELL, Magic || bilet || open_price..... Haklı mıyım? Son emri bulursam, teorik olarak ondan mevcut ask\bid'e olan mesafeyi hesaplayabilirim. Burada birkaç "ortalama" indirdim, IMHO aynı olmasa da benzer bir şey olmalı, ..... sadece aradığımı bulduğumu anlamak için ..... :)

Hiç kimsenin sakıncası yoksa :), en azından ihtiyacım olan bilginin kaynağına atıfta bulunarak (bu Kovalev'in kitabı değilse, 3 gün önce başladım) tavsiyelerle yardımınızı ummaya devam edeceğim.