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

 
ANDREY :

Hepinize iyi günler!

mql5 öğrenmeye başladı. Siparişlerin nasıl açıldığını inceleyerek başladım. Sipariş açma kodunun ayrı bir içerme dosyasına yazıldığını fark ettim. Bu kodun nasıl yazıldığına ve ticaret için son versiyonuna baktım. Mql5'e kıyasla mql4'te bir sipariş açmanın ne kadar kolay ve basit olduğuna şaşırdım.

SORU. Sipariş açma kodunu içeren dosyanın zaten bir yerde olduğunu ve bu kodu yazmam gerekmediğini doğru anlıyor muyum? Eğer bir yerde böyle bir dosya varsa o zaman bunu Uzman Danışmanıma bağlayıp ihtiyacım olan sipariş parametrelerinin değerlerini ayarlamam yeterli. Bir yerde böyle bir dosya varsa, nerede ve nasıl bulunur ve ne denir.

Teşekkür ederim.

Sizi doğru anladıysam, bu #include <Trade\Trade.mqh>

Dosyalar:
ng4txc.PNG  116 kb
15vegf1.PNG  114 kb
 
SanAlex :

Sizi doğru anladıysam, bu #include <Trade\Trade.mqh>

Değerli bilgiler için çok teşekkürler.

Bu dosyaları herhangi bir yerde aramanıza gerek olmadığını doğru mu anladım , kodda doğru yere #include <Trade\Trade.mqh> yazmanız yeterli ve bu dosya otomatik olarak danışmanıma katılacak ve danışman gerektiğinde erişin?

 
ANDREY :

Değerli bilgiler için çok teşekkürler.

Bu dosyaları herhangi bir yerde aramanıza gerek olmadığını doğru mu anladım , kodda doğru yere #include <Trade\Trade.mqh> yazmanız yeterli ve bu dosya otomatik olarak danışmanıma katılacak ve danışman gerektiğinde erişin?

Evet! Onu aramana gerek yok, o zaten orada.

Kod dosyasını ( Hareketli Ortalamalar .mq5 veya MACD Sample.mq5 ) terminalden görüntüleyebilirsiniz.

 
SanAlex :

Evet! Onu aramana gerek yok, o zaten orada.

Değerli bilgiler için çok teşekkürler.
Doğru anladıysam bana gönderdiğiniz dosyanın adı SINIF Bu dosya sipariş açmak için tasarlanmıştır. Bana öyle geliyor ki, bu tür birçok SINIF var ve her SINIF kendi amacına sahip, örneğin bir siparişi kapatmak, bir siparişi değiştirmek, bazı bilgileri görüntülemek vb.

SORU Ayrıntılı açıklamalarıyla birlikte tüm sınıfların listesi nerede?
Yardımın için tekrar teşekkürler.

 
ANDREY :

Değerli bilgiler için çok teşekkürler.
Doğru anladıysam bana gönderdiğiniz dosyanın adı SINIF Bu dosya sipariş açmak için tasarlanmıştır. Bana öyle geliyor ki, bu tür birçok SINIF var ve her SINIF kendi amacına sahip, örneğin bir siparişi kapatmak, bir siparişi değiştirmek, bazı bilgileri görüntülemek vb.

SORU Ayrıntılı açıklamalarıyla birlikte tüm sınıfların listesi nerede?
Yardımın için tekrar teşekkürler.

Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека MQL5 написана на языке MQL5 и предназначена для облегчения написания программ (индикаторов, скриптов, экспертов) конечным пользователям. Библиотека обеспечивает удобный доступ к большинству внутренних функций MQL5.
 
Artyom Trishkin :

Değerli bilgiler için çok teşekkürler. Şimdi onu sindirmeye, yani özümsemeye başlayacağım ..... zihinsel yeteneklerim ölçüsünde.

 
ANDREY :

Hepinize iyi günler!

mql5 öğrenmeye başladı. Siparişlerin nasıl açıldığını inceleyerek başladım. Sipariş açma kodunun ayrı bir içerme dosyasına yazıldığını fark ettim. Bu kodun nasıl yazıldığına ve ticaret için son versiyonuna baktım. Mql5'e kıyasla mql4'te bir sipariş açmanın ne kadar kolay ve basit olduğuna şaşırdım.

SORU. Sipariş açma kodunu içeren dosyanın zaten bir yerde olduğunu ve bu kodu yazmam gerekmediğini doğru anlıyor muyum? Eğer bir yerde böyle bir dosya varsa o zaman bunu Uzman Danışmanıma bağlayıp ihtiyacım olan sipariş parametrelerinin değerlerini ayarlamam yeterli. Bir yerde böyle bir dosya varsa, nerede ve nasıl bulunur ve ne denir.

Teşekkür ederim.

Yazmaya farklı bir yaklaşımım var, kendim için bir uzman. İnsanlar çok çalışıyorlar ve şimdiden uzmanların taslaklarını oluşturdular, ben sadece onları kendim için ayarlamam gerekiyor.

-( zaten yaratılmışsa tekerleği neden yeniden icat ettin )

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

bu yerde Göstergeleri seçiyoruz

 //+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit ( void )
  {
//--- prepare trade class to control positions if hedging mode is active
   ExtHedging=(( ENUM_ACCOUNT_MARGIN_MODE ) AccountInfoInteger ( ACCOUNT_MARGIN_MODE )== ACCOUNT_MARGIN_MODE_RETAIL_HEDGING );
   ExtTrade.SetExpertMagicNumber(MA_MAGIC);
   ExtTrade.SetMarginMode();
   ExtTrade.SetTypeFillingBySymbol( Symbol ());
//--- Moving Average indicator
   ExtHandle= iMA ( _Symbol , _Period ,MovingPeriod,MovingShift, MODE_SMA , PRICE_CLOSE );
   if (ExtHandle== INVALID_HANDLE )
     {
       printf ( "Error creating MA indicator" );
       return ( INIT_FAILED );
     }
//--- ok
   return ( INIT_SUCCEEDED );
  }
//+------------------------------------------------------------------+

ve bu yerde seçiyoruz - böylece göstergeler bir sinyalde doğru şekilde açılıyor

 //+------------------------------------------------------------------+
//| Check for open position conditions                               |
//+------------------------------------------------------------------+
void CheckForOpen( void )
  {
   MqlRates rt[ 2 ];
//--- go trading only for first ticks of new bar
   if ( CopyRates ( _Symbol , _Period , 0 , 2 ,rt)!= 2 )
     {
       Print ( "CopyRates of " , _Symbol , " failed, no history" );
       return ;
     }
   if (rt[ 1 ].tick_volume> 1 )
       return ;
//--- get current Moving Average 

   double    ma[ 1 ];
   if ( CopyBuffer (ExtHandle, 0 , 0 , 1 ,ma)!= 1 )
     {
       Print ( "CopyBuffer from iMA failed, no data" );
       return ;

     }
//--- check signals
   ENUM_ORDER_TYPE signal= WRONG_VALUE ;

   if (rt[ 0 ].open>ma[ 0 ] && rt[ 0 ].close<ma[ 0 ])
      signal= ORDER_TYPE_SELL ;     // sell conditions
   else
     {
       if (rt[ 0 ].open<ma[ 0 ] && rt[ 0 ].close>ma[ 0 ])
         signal= ORDER_TYPE_BUY ;   // buy conditions
     }
//--- additional checking
   if (signal!= WRONG_VALUE )
     {
       if ( TerminalInfoInteger ( TERMINAL_TRADE_ALLOWED ) && Bars ( _Symbol , _Period )> 100 )
         ExtTrade.PositionOpen( _Symbol ,signal,TradeSizeOptimized(),
                               SymbolInfoDouble ( _Symbol ,signal== ORDER_TYPE_SELL ? SYMBOL_BID : SYMBOL_ASK ),
                               0 , 0 );
     }
//---
  }
//+------------------------------------------------------------------+
 
Artyom Trishkin :

MQL5'i anlamada daha hızlı ilerlemem için   , bu basit kodu MQL4'ten MQL5 koduna yeniden kodlarsanız size çok minnettar olacağım.

Yardım için teşekkürler.

 int s1,SL,a;
double Lou=Bid,Hay,DL= 0.0030 ;
void OnTick ()
{
if (Bid < Lou)
{
Lou=Bid;
}
if (Bid > Hay)
Hay=Bid;
if (Bid - Lou > DL&& Lou!= 0 )
{
Lou=Bid;
Hay=Bid;
s1= 1 ;
}
////=======================
if (Hay-Bid> 0.0000 )
if (s1== 1 )
{
for ( int c= 0 ; c<= 500 ;c+= 20 )
{
a++;
{
SL= 300 +c;
OrderSend ( Symbol (),OP_SELL, 0.1 ,Bid, 3 ,Ask+SL* Point ,Ask-SL/ 3 * Point , "300" , 100 );
Lou=Bid;
Hay=Bid;
}
}
a= 0 ;
s1= 0 ;
}
}
 

numPosOr = 4;

numStepCount = 1;

iK = (numPosOr - numStepCount) / numPosOr;

Bu hesaplamayla neden iK = 0 alıyorum?

 
Sysmart :

numPosOr = 4;

numStepCount = 1;

iK = (numPosOr - numStepCount) / numPosOr;

Bu hesaplamayla neden iK = 0 alıyorum?

Lütfen tüm kodu sağlayın