Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz, hiçbir yerde - 6. - sayfa 273

 
Zhunko :
kitaplık
Test komut dosyasındaki örnekler.

Teşekkürler Vadim :) Yönü anladım, MQL4'te dll olmadan uygulamak istiyorum.

 
Barbarian :

Teşekkürler Vadim :) Yönü anladım, MQL4'te dll olmadan uygulamak istiyorum.

Çalışmayacak.
 

double bb_up0=iBands(NULL,0,bb_p,bb_dev,0, bb_ap,MODE_UPPER,0));

double bb_lo0=iBands(NULL,0,bb_p,bb_dev,0, bb_ap,MODE_LOWER,0));

//--- Beyler, aşağıdaki Bollinger Bantlarının orta çizgisi, bunların hepsi doğru seçenekler mi yoksa yanlış olanlar mı var? MT5'te orta çizgi ile ilgili sorun çözüldü, MT4'te görmedim.

Uyarı için komut dosyasını kontrol ederseniz, sonuçlar aynıdır, ancak yine de?

çift bb_bs0= (bb_up0+ bb_lo0)/2;

çift bb_bs0= iMA(NULL,0,bb_p, 0,0,bb_ap, 0);

double bb_bs0= iBands(NULL,0,bb_p,bb_dev,0, bb_ap,MODE_MAIN, 0);

double bb_bs0= iBands(NULL,0,bb_p,bb_dev,0, bb_ap,0, 0);

 
Zhunko :
Çalışmayacak.

evet, dll olmadan çalışmayacağını zaten anladım

 
rosomah :

double bb_up0=iBands(NULL,0,bb_p,bb_dev,0, bb_ap,MODE_UPPER,0));

double bb_lo0=iBands(NULL,0,bb_p,bb_dev,0, bb_ap,MODE_LOWER,0));

//--- Beyler, aşağıdaki Bollinger Bantlarının orta çizgisi, bunların hepsi doğru seçenekler mi yoksa yanlış olanlar mı var? MT5'te orta çizgi ile ilgili sorun çözüldü, MT4'te görmedim.

Uyarı için komut dosyasını kontrol ederseniz, sonuçlar aynıdır, ancak yine de?

çift bb_bs0= (bb_up0+ bb_lo0)/2;

çift bb_bs0= iMA(NULL,0,bb_p, 0,0,bb_ap, 0);

double bb_bs0= iBands(NULL,0,bb_p,bb_dev,0, bb_ap,MODE_MAIN, 0);

double bb_bs0= iBands(NULL,0,bb_p,bb_dev,0, bb_ap,0, 0);

İşte ana BB inşa döngüsü:

 //--- main cycle
   for (i=pos; i<rates_total && ! IsStopped (); i++)
     {
       //--- middle line
      ExtMovingBuffer[i]=SimpleMA(i,InpBandsPeriod,close);
       //--- calculate and write down StdDev
      ExtStdDevBuffer[i]=StdDev_Func(i,close,ExtMovingBuffer,InpBandsPeriod);
       //--- upper line
      ExtUpperBuffer[i]=ExtMovingBuffer[i]+InpBandsDeviations*ExtStdDevBuffer[i];
       //--- lower line
      ExtLowerBuffer[i]=ExtMovingBuffer[i]-InpBandsDeviations*ExtStdDevBuffer[i];
       //---
     }

İşte basit bir Mashka'nın hesaplanması:

 //+------------------------------------------------------------------+
//| Simple Moving Average                                            |
//+------------------------------------------------------------------+
double SimpleMA( const int position, const int period, const double &price[])
  {
//---
   double result= 0.0 ;
//--- check position
   if (position>=period- 1 && period> 0 )
     {
       //--- calculate value
       for ( int i= 0 ;i<period;i++) result+=price[position-i];
      result/=period;
     }
//---
   return (result);
  }
//+------------------------------------------------------------------+

Gördüğünüz gibi, orta hat, Kapat için basit bir Mashka'dır. Gerisi bunun üzerine inşa edilmiştir. Kendi sonuçlarınızı çizin.

not. Daha sonraki çalışmalarınız için bir ayrılık sözü olarak:

Ortalama değeri şu şekilde hesaplarsınız: double bb_bs0= (bb_up0+ bb_lo0)/2;

Ancak şu şekilde saymak daha iyidir: double bb_bs0= (bb_up0+ bb_lo0)*0.5;

Sonuçta, çarpma bölmeden daha hızlıdır.

 
artmedia70 :

İşte ana BB inşa döngüsü:

İşte basit bir Mashka'nın hesaplanması:

Gördüğünüz gibi, merkez hat Close'da basit bir Mashka'dır . Gerisi bunun üzerine inşa edilmiştir. Kendi sonuçlarınızı çizin.

not. Daha sonraki çalışmalarınız için bir ayrılık sözü olarak:

Ortalama değeri şu şekilde hesaplarsınız: double bb_bs0= (bb_up0+ bb_lo0)/2;

Ancak şu şekilde saymak daha iyidir: double bb_bs0= (bb_up0+ bb_lo0)*0.5;

Sonuçta, çarpma bölmeden daha hızlıdır.



1. Bollinger Bantları IMHO fiyatına ...

 
TWAP (VWAP değil) kim saydı? Nasıl hesaplanır? İnternetteki açıklamalardan bir şey anlamadım...
 
Barbarian :

evet, dll olmadan işe yaramayacağını anladım


Savunmak.
 

Az önce garip bir şey fark ettim. Diğer kitaplıkları içe aktaran bir temel kitaplık vardır. İşte ondan bir parça:

 //+---------------------------------------------------------------------------------------------------------------------------------------+
//| Библиотека базовых функций.                                                                                                           |
//+---------------------------------------------------------------------------------------------------------------------------------------+
// ================================================== Включения и импорт внешних модулей =================================================+
#include <hoz_Base@Include.mqh>
//+---
#import "hoz_LoggingToAnyWere@library.ex4"
     void fWrite_Log ( string fs_Txt);
     void fPrint ( string fs_Text);
#import
//+---
#import "hoz_HandlingWithErrorS@library.ex4"
     bool fErrorHandling ( int fi_Error, bool & fb_InvalidSTOP);
     void fReConnect();
     string fErrorToString ( int fi_Error);
     string fErrorDescription ( int fi_Error);
#import
//+---
#import "hoz_ReturningSomeInfo@library.ex4"
     string fGet_NameOP ( int fi_Type);
     string fGet_NameTF ( int fi_TF = 0 );
#import

Bu kütüphanelerle yazdığım baykuşu çalıştırdığımda logda şunu görüyorum:

 2013.11 . 23 16 : 15 : 51      2012.01 . 01 22 : 00   hoz_ReturningSomeInfo@ library EURUSD,M5: loaded successfully
2013.11 . 23 16 : 15 : 51      2012.01 . 01 22 : 00   hoz_Base@Library EURUSD,M5: loaded successfully
2013.11 . 23 16 : 15 : 51      ExperT inputs: i_MAXSpread= 50 ; i_Lot= 0.1 ; i_KLot= 2 ; i_SL= 0 ; i_TP= 10 ; i_Slippage= 3 ; i_NumberOfTry= 10 ; i_DistanceFromLastPos= 10 ; i_TriggerForBU= 25 ; i_PreservedProfit= 5 ; TStop.Buy= 70 ; TStop.Sell= 10 ; TrailingStep= 20 ; i_magic= 3333021 ; 

Onlar. günlüğe göre 2 kitaplık yüklendi: hoz_ReturningSomeInfo@ library ve hoz_Base@Library

Ancak bunlar orada değil: hoz_LoggingToAnyWere@library.ex4 , hoz_HandlingWithErrorS@library.ex4 dergide. Böyle mi olmalı? Yoksa günlük, yüklenen tüm kitaplıkları listelemeli mi?

 
Integer :

Savunmak.

dll en azından winapi'den. pencereye bir karakter göndermek için