MQL5 마법사 및 표준 무역 클래스 라이브러리에 대한 질문 - 페이지 14

 
예를 들어 MACD의 신호를 고려하십시오. 총 5개의 매수 신호와 5개의 매도 신호(반전, 신호선과의 교차 등)를 설명합니다. 매 순간 이러한 신호의 가치를 어떻게 든 얻을 수 있습니까? 저것들. 각 막대에 대해 10개 요소의 벡터를 형성합니다. 여기서 각 요소는 신호, 1 - 신호의 존재, 0 - 신호의 부재에 해당합니까? CSignalMACD 클래스의 어떤 방법을 사용하여 해당 값을 얻을 수 있습니까?
 
IvanSD :

예를 들어 MACD의 신호를 고려하십시오. 총 5개의 매수 신호와 5개의 매도 신호(반전, 신호선과의 교차 등)를 설명합니다. 매 순간 이러한 신호의 가치를 어떻게 든 얻을 수 있습니까? 저것들. 각 막대에 대해 10개 요소의 벡터를 형성합니다. 여기서 각 요소는 신호, 1 - 신호의 존재, 0 - 신호의 부재에 해당합니까? CSignalMACD 클래스의 어떤 방법을 사용하여 해당 값을 얻을 수 있습니까?
불행히도 표준 패키지에는 그러한 기능이 없습니다.
 
uncleVic :
불행히도 표준 패키지에는 그러한 기능이 없습니다.
답변 해주셔서 감사합니다!
 

안녕하세요, 이해를 도와주세요. 로봇을 만들었습니다(내 첫 로봇). 실행 직후 로봇(EURUSD,H1)의 전문가 초기화에 실패했다는 메시지와 함께 꺼집니다. 더 많은 정보를 찾을 수 없습니다.

그의 코드는 다음과 같습니다.

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

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

//| robots.mq5 |

//| Copyright 2012, MetaQuotes Software Corp. |

//| http://www.mql5.com |

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

#property copyright "Copyright 2012, MetaQuotes Software Corp."

#속성 링크 "http://www.mql5.com"

#속성 버전 "1.00"

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

//| 포함 |

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

#include <전문가\전문가.mqh>

//--- 사용 가능한 신호

#include <전문가\robot\robot.mqh>

//--- 사용 가능한 후행

#include <전문가\Trailing\TrailingNone.mqh>

//--- 사용 가능한 자금 관리

#include <Expert\Money\MoneyFixedLot.mqh>

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

//| 입력 |

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

//--- 전문가용 입력

입력 문자열 Expert_Title ="로봇"; // 문서 이름

ulong Expert_MagicNumber = 24553; //

bool Expert_EveryTick = false; //

//--- 메인 신호에 대한 입력

입력 정수 Signal_ThresholdOpen = 10; // 열릴 신호 임계값 [0...100]

입력 정수 Signal_ThresholdClose = 10; // 신호 임계값 닫기 [0...100]

입력 이중 Signal_PriceLevel = 0.0; // 거래를 실행할 가격 수준

입력 이중 Signal_StopLevel = 50.0; // 손절매 수준(포인트)

입력 이중 Signal_TakeLevel = 50.0; // 이익 수준 가져오기(포인트)

입력 정수 Signal_Expiration = 4; // 보류 중인 주문의 만료(막대)

입력 정수 Signal_MaCross_FastPeriod=13; // My_MA_Cross(13,MODE_SMA,21,...) 빠른 MA 기간

ENUM_MA_METHOD 입력 Signal_MaCross_FastMethod=MODE_SMA; // My_MA_Cross(13,MODE_SMA,21,...) 빠른 MA 방법

입력 정수 Signal_MaCross_SlowPeriod=21; // My_MA_Cross(13,MODE_SMA,21,...) 느린 MA 구간

ENUM_MA_METHOD 입력 Signal_MaCross_SlowMethod=MODE_SMA; // My_MA_Cross(13,MODE_SMA,21,...) 느린 MA 방법

입력 이중 Signal_MaCross_Weight = 1.0; // My_MA_Cross(13,MODE_SMA,21,...) 가중치 [0...1.0]

//--- 돈을 위한 입력

입력 더블 Money_FixLot_Percent = 10.0; // 백분율

입력 더블 Money_FixLot_Lots = 0.1; // 고정 볼륨

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

//| 글로벌 전문가 개체 |

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

CExpert ExtExpert;

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

//| 전문가의 초기화 기능 |

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

int OnInit()

{

//--- 초기화 전문가

if(!ExtExpert.Init(Symbol(),Period(),Expert_EveryTick,Expert_MagicNumber))

{

//--- 실패

printf(__FUNCTION__+": 전문가 초기화 오류");

ExtExpert.Deinit();

리턴(-1);

}

//--- 시그널 생성

CExpertSignal *signal=new CExpertSignal;

if(신호==NULL)

{

//--- 실패

printf(__FUNCTION__+": 신호 생성 오류");

ExtExpert.Deinit();

리턴(-2);

}

//---

ExtExpert.InitSignal(신호);

signal.ThresholdOpen(Signal_ThresholdOpen);

signal.ThresholdClose(Signal_ThresholdClose);

signal.PriceLevel(Signal_PriceLevel);

signal.StopLevel(Signal_StopLevel);

signal.TakeLevel(Signal_TakeLevel);

신호.만료(신호_만료);

//--- 필터 MA_Cross 생성

MA_Cross *filter0=새로운 MA_Cross;

if(필터0==NULL)

{

//--- 실패

printf(__FUNCTION__+": filter0 생성 오류");

ExtExpert.Deinit();

반환(-3);

}

신호.AddFilter(필터0);

//--- 필터 매개변수 설정

filter0.FastPeriod(Signal_MaCross_FastPeriod);

filter0.FastMethod(Signal_MaCross_FastMethod);

filter0.SlowPeriod(Signal_MaCross_SlowPeriod);

filter0.SlowMethod(Signal_MaCross_SlowMethod);

filter0.Weight(Signal_MaCross_Weight);

//--- 후행 객체 생성

CTrailingNone *trailing=new CTrailingNone;

if(후행==NULL)

{

//--- 실패

printf(__FUNCTION__+": 후행 생성 오류");

ExtExpert.Deinit();

반환(-4);

}

//--- 전문가에 후행 추가(자동으로 삭제됨))

if(!ExtExpert.InitTrailing(후행))

{

//--- 실패

printf(__FUNCTION__+": 후행 초기화 오류");

ExtExpert.Deinit();

반환(-5);

}

//--- 후행 매개변수 설정

//--- 화폐 객체 생성

CMoneyFixedLot *money=new CMoneyFixedLot;

if(돈==NULL)

{

//--- 실패

printf(__FUNCTION__+": 돈을 만드는 동안 오류가 발생했습니다.");

ExtExpert.Deinit();

반환(-6);

}

//--- 전문가에게 돈을 추가합니다(자동으로 삭제됩니다))

if(!ExtExpert.InitMoney(돈))

{

//--- 실패

printf(__FUNCTION__+": 돈 초기화 오류");

ExtExpert.Deinit();

반환(-7);

}

//--- 돈 매개변수 설정

money.Percent(Money_FixLot_Percent);

money.Lots(Money_FixLot_Lots);

//--- 모든 거래 개체 매개변수 확인

if(!ExtExpert.ValidationSettings())

{

//--- 실패

ExtExpert.Deinit();

반환(-8);

}

//--- 필요한 모든 표시기의 조정

if(!ExtExpert.InitIndicators())

{

//--- 실패

printf(__FUNCTION__+": 표시기 초기화 오류");

ExtExpert.Deinit();

리턴(-9);

}

//--- 좋아요

리턴(0);

}

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

//| 전문가의 초기화 해제 기능 |

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

무효 OnDeinit(const int 이유)

{

ExtExpert.Deinit();

}

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

//| "틱" 이벤트 핸들러 기능 |

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

무효 OnTick()

{

ExtExpert.OnTick();

}

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

//| "무역" 이벤트 핸들러 기능 |

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

무효 OnTrade()

{

ExtExpert.OnTrade();

}

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

//| "타이머" 이벤트 핸들러 기능 |

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

무효 OnTimer()

{

ExtExpert.OnTimer();

}

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

무엇이 문제가 될 수 있습니까? 어디를 먼저 봐야할지조차 모르겠습니다.

미리 감사드립니다.

Automated Trading and Strategy Testing
Automated Trading and Strategy Testing
  • www.mql5.com
MQL5: language of trade strategies built-in the MetaTrader 5 Trading Platform, allows writing your own trading robots, technical indicators, scripts and libraries of functions
 
pasha191 :

안녕하세요, 이해를 도와주세요. 로봇을 만들었습니다(나의 첫 번째 로봇). 실행 직후 로봇(EURUSD,H1)의 전문가 초기화에 실패했다는 메시지와 함께 꺼집니다. 더 많은 정보를 찾을 수 없습니다.


정보가 충분하지 않습니다.

필요

 #include <Expert\robot\robot.mqh>

시작 매개변수 필요(테스터/터미널, 서버, 쌍, 기간 등)

추신: 소스를 파일로 첨부하는 것이 좋습니다.

 

MQL5 마법사에 대한 질문:

1) //--- 돈을 위한 입력
입력 더블 Money_FixLot_Percent = 10.0; // 백분율
입력 더블 Money_FixLot_Lots = 0.1; // 고정 볼륨
이러한 옵션은 무엇을 의미합니까? 그리고 그들은 어떻게 관련되어 있습니까?

2) 주문을 보류할 전문가 고문을 생성 할 수 있습니까? 가능하다면 어떻게?

3) Signal_Expiration 변수는 무엇을 의미합니까? 사용 방법?

Мастер MQL5: Создание эксперта без программирования
Мастер MQL5: Создание эксперта без программирования
  • 2010.12.15
  • MetaQuotes Software Corp.
  • www.mql5.com
Вы хотите быстро проверить торговую идею, не тратя времени на программирование? Выберите в "Мастере MQL5" нужный тип торговых сигналов, подключите модули сопровождения позиций и управления капиталом - на этом вся работа закончена. Создайте свои реализации модулей или закажите их через сервис "Работа" - и комбинируйте новые модули с уже существующими.
 
evrika :

MQL5 마법사에 대한 질문:

1) //--- 돈을 위한 입력
입력 더블 Money_FixLot_Percent = 10.0; // 백분율
입력 더블 Money_FixLot_Lots = 0.1; // 고정 볼륨
이러한 옵션은 무엇을 의미합니까? 그리고 그들은 어떻게 관련되어 있습니까?

2) 주문을 보류할 전문가 고문을 생성 할 수 있습니까? 가능하다면 어떻게?

3) Signal_Expiration 변수는 무엇을 의미합니까? 사용 방법?

1) Money_FixLot_Percent 매개변수는 "강제 중단" 수준을 설정하는 데 사용됩니다. 그를 만지지 마십시오.

Money_FixLot_Lots 매개변수는 전문가 고문이 시장에 진입할 고정 볼륨(로트)을 설정합니다.

이러한 매개변수는 어떤 식으로든 관련이 없습니다.

2) 마스터가 생성한 모든 Expert Advisor는 보류 중인 주문을 거래할 수 있습니다. ..._PriceLevel 매개변수는 이러한 용도로 사용됩니다. 이 매개변수의 값에 따라 EA의 동작은 다음과 같습니다.

0 - 시장 진입은 현재 가격으로 수행됩니다.

>0 - 시장은 보류 중인 지정가 주문에 의해 진입합니다(현재 가격보다 매개변수 값이 더 높음).

<0 - 시장은 보류 중인 정지 주문에 의해 입력됩니다(매개변수 값만큼 현재 가격보다 나쁨).

3) Signal_Expiration 매개변수는 보류 중인 주문의 수명을 설정합니다(현재 시간 프레임의 막대 단위).

 

MQL5 마법사에서 EA가 생성된 경우 이러한 EA가 동시에 몇 개의 주문을 열 수 있습니까? 어떻게 규제됩니까?

Собери свой торговый советник в Мастере MQL5
Собери свой торговый советник в Мастере MQL5
  • 2011.01.14
  • MetaQuotes Software Corp.
  • www.mql5.com
Знание языков программирования теперь не является обязательным условием для создания торговых роботов. Если раньше это действительно служило непроходимым препятствием для реализации своих торговых стратегий, то появление Мастера MQL5 в корне изменило ситуацию. Начинающие трейдеры могут перестать тревожиться из-за отсутствия опыта программирования - с новым визардом, позволяющим быстро генерировать код советника, он не понадобится.
 
evrika :

MQL5 마법사에서 EA가 생성된 경우 이러한 EA가 동시에 몇 개의 주문을 열 수 있습니까? 어떻게 규제됩니까?

1 주문. 규제되지 않음.

마법사는 전략을 테스트하기 위해 만들어졌습니다. 더 원하시면 "파일로 처리"(손으로 작성)하셔야 합니다.

 
uncleVic :

2) 마스터가 생성한 모든 Expert Advisor는 보류 중인 주문을 거래할 수 있습니다. ..._PriceLevel 매개변수는 이러한 용도로 사용됩니다. 이 매개변수의 값에 따라 EA의 동작은 다음과 같습니다.

0 - 시장 진입은 현재 가격으로 수행됩니다.

>0 - 시장은 보류 중인 지정가 주문에 의해 진입합니다(현재 가격보다 매개변수 값이 더 높음).

<0 - 시장은 보류 중인 정지 주문에 의해 입력됩니다(매개변수 값만큼 현재 가격보다 나쁨).

PriceLevel 매개변수는 어떤 단위로 측정됩니까? 포인트로? 저것들. 현재 가격보다 20핍 높은 보류 중인 스탑 오더를 하고 싶다면,

이 매개변수를 PriceLevel =-0.0020으로 설정해야 합니까?