포럼을 어지럽히 지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 너 없이는 아무데도 - 6. - 페이지 273

 
Zhunko :
도서관 .
테스트 스크립트의 예.

Vadim 감사합니다 :) 방향을 이해하고 dll 없이 MQL4에서 구현하고 싶습니다.

 
Barbarian :

Vadim 감사합니다 :) 방향을 이해하고 dll 없이 MQL4에서 구현하고 싶습니다.

작동 안 할 것이다.
 

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

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

//--- 아래 Bollinger Bands 의 중간 선인 신사 여러분, 모두 올바른 옵션입니까 아니면 잘못된 옵션이 있습니까? MT5에서는 중간 선 문제가 해결되었지만 MT4에서는 보이지 않았습니다.

Alert에 대한 스크립트를 확인하면 결과는 동일하지만 여전히?

더블 bb_bs0= (bb_up0+ bb_lo0)/2;

더블 bb_bs0= iMA(NULL,0,bb_p, 0,0,bb_ap, 0);

더블 bb_bs0= iBands(NULL,0,bb_p,bb_dev,0, bb_ap, 모드_메인, 0);

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

 
Zhunko :
작동 안 할 것이다.

예, dll이 없으면 작동하지 않는다는 것을 이미 이해했습니다.

 
rosomah :

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

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

//--- 아래 Bollinger Bands의 중간선 여러분, 모두 올바른 옵션입니까 아니면 잘못된 옵션이 있습니까? MT5에서는 중간 선 문제가 해결되었지만 MT4에서는 보이지 않았습니다.

Alert에 대한 스크립트를 확인하면 결과는 동일하지만 여전히?

더블 bb_bs0= (bb_up0+ bb_lo0)/2;

더블 bb_bs0= iMA(NULL,0,bb_p, 0,0,bb_ap, 0);

더블 bb_bs0= iBands(NULL,0,bb_p,bb_dev,0, bb_ap, 모드_메인, 0);

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

다음은 주요 BB 빌드 루프입니다.

 //--- 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];
       //---
     }

다음은 간단한 Mashka의 계산입니다.

 //+------------------------------------------------------------------+
//| 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);
  }
//+------------------------------------------------------------------+

보시다시피 중앙선은 닫기를 위한 단순한 Mashka입니다. 나머지는 그 위에 구축됩니다. 자신의 결론을 도출하십시오.

추신. 앞으로의 작업에 대한 이별의 말:

평균값은 다음과 같이 계산합니다. double bb_bs0= (bb_up0+ bb_lo0)/2;

그러나 다음과 같이 계산하는 것이 좋습니다. double bb_bs0= (bb_up0+ bb_lo0)*0.5;

결국 곱셈이 나눗셈보다 빠릅니다.

 
artmedia70 :

다음은 주요 BB 빌드 루프입니다.

다음은 간단한 Mashka의 계산입니다.

보시다시피, 중앙선은 Close 의 단순한 Mashka입니다 . 나머지는 그 위에 구축됩니다. 자신의 결론을 도출하십시오.

추신. 앞으로의 작업에 대한 이별의 말:

평균값은 다음과 같이 계산합니다. double bb_bs0= (bb_up0+ bb_lo0)/2;

그러나 다음과 같이 계산하는 것이 좋습니다. double bb_bs0= (bb_up0+ bb_lo0)*0.5;

결국 곱셈이 나눗셈보다 빠릅니다.



1. 볼린저밴드 IMHO 가격으로 ...

 
TWAP(VWAP 아님) 누가 계산했습니까? 어떻게 계산됩니까? 인터넷 설명으로 이해가 잘 안가네요...
 
Barbarian :

예, dll이 없으면 작동하지 않는다는 것을 이미 이해했습니다.


신이 옳다고 하다.
 

방금 이상한 점을 발견했습니다. 다른 라이브러리를 가져오는 기본 라이브러리가 있습니다. 다음은 그 중 일부입니다.

 //+---------------------------------------------------------------------------------------------------------------------------------------+
//| Библиотека базовых функций.                                                                                                           |
//+---------------------------------------------------------------------------------------------------------------------------------------+
// ================================================== Включения и импорт внешних модулей =================================================+
#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

이 라이브러리로 작성 중인 올빼미를 실행하면 로그에 다음이 표시됩니다.

 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 ; 

저것들. 로그에 따르면 2개의 라이브러리가 로드되었습니다: hoz_ReturningSomeInfo@ library hoz_Base@Library

그러나 다음은 없습니다: hoz_LoggingToAnyWere@library.ex4 , hoz_HandlingWithErrorS@library.ex4 저널에서 . 그래야만 합니까? 아니면 로그에 로드된 모든 라이브러리가 나열되어야 합니까?

 
Integer :

신이 옳다고 하다.

적어도 winapi의 dll. 창에 문자를 보내려면
사유: