MQL4 및 MQL5에 대한 초보자 질문, 알고리즘 및 코드에 대한 도움말 및 토론 - 페이지 1633 1...162616271628162916301631163216331634163516361637163816391640...1953 새 코멘트 Tretyakov Rostyslav 2021.09.29 11:49 #16321 EVGENII SHELIPOV # : 팁 감사합니다. ;) amsgif80 2021.09.29 11:55 #16322 //+------------------------------------------------------------------+ //| MA-LONG_SHORT.mq5 | //| Copyright 2021, MetaQuotes Ltd. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2021, MetaQuotes Ltd." #property link " https://www.mql5.com " #property version "1.00" enum ENUM_DIRECTION{ DIRECTION_BUY = 0 , // buy only DIRECTION_SELL = 1 , // sell only DIRECTION_ANY = 2 , // buy & sell }; input ENUM_DIRECTION inp_direction = DIRECTION_ANY; // разрешенное направление торговли //+------------------------------------------------------------------+ //| Include | //+------------------------------------------------------------------+ #include <Expert\Expert.mqh> //--- available signals #include <Expert\Signal\SignalAMA.mqh> //--- available trailing #include <Expert\Trailing\TrailingNone.mqh> //--- available money management #include <Expert\Money\MoneyFixedLot.mqh> //+------------------------------------------------------------------+ //| Inputs | //+------------------------------------------------------------------+ //--- inputs for expert input string Expert_Title = "MA-LONG_SHORT" ; // Document name ulong Expert_MagicNumber = 16473 ; // bool Expert_EveryTick = false ; // //--- inputs for main signal input int Signal_ThresholdOpen = 10 ; // Signal threshold value to open [0...100] input int Signal_ThresholdClose= 10 ; // Signal threshold value to close [0...100] input double Signal_PriceLevel = 0.0 ; // Price level to execute a deal input double Signal_StopLevel = 50.0 ; // Stop Loss level (in points) input double Signal_TakeLevel = 50.0 ; // Take Profit level (in points) input int Signal_Expiration = 4 ; // Expiration of pending orders (in bars) input int Signal_AMA_PeriodMA = 10 ; // Adaptive Moving Average(10,...) Period of averaging input int Signal_AMA_PeriodFast= 2 ; // Adaptive Moving Average(10,...) Period of fast EMA input int Signal_AMA_PeriodSlow= 30 ; // Adaptive Moving Average(10,...) Period of slow EMA input int Signal_AMA_Shift = 0 ; // Adaptive Moving Average(10,...) Time shift input ENUM_APPLIED_PRICE Signal_AMA_Applied = PRICE_CLOSE ; // Adaptive Moving Average(10,...) Prices series input double Signal_AMA_Weight = 1.0 ; // Adaptive Moving Average(10,...) Weight [0...1.0] //--- inputs for money input double Money_FixLot_Percent = 10.0 ; // Percent input double Money_FixLot_Lots = 0.01 ; // Fixed volume //+------------------------------------------------------------------+ //| Global expert object | //+------------------------------------------------------------------+ CExpert ExtExpert; //+------------------------------------------------------------------+ //| Initialization function of the expert | //+------------------------------------------------------------------+ int OnInit () { //--- Initializing expert if (!ExtExpert.Init( Symbol (), Period (),Expert_EveryTick,Expert_MagicNumber)) { //--- failed printf ( __FUNCTION__ + ": error initializing expert" ); ExtExpert.Deinit(); return ( INIT_FAILED ); } //--- Creating signal CExpertSignal *signal= new CExpertSignal; if (signal== NULL ) { //--- failed printf ( __FUNCTION__ + ": error creating signal" ); ExtExpert.Deinit(); return ( INIT_FAILED ); } //--- ExtExpert.InitSignal(signal); signal.ThresholdOpen(Signal_ThresholdOpen); signal.ThresholdClose(Signal_ThresholdClose); signal.PriceLevel(Signal_PriceLevel); signal.StopLevel(Signal_StopLevel); signal.TakeLevel(Signal_TakeLevel); signal.Expiration(Signal_Expiration); //--- Creating filter CSignalAMA CSignalAMA *filter0= new CSignalAMA; if (filter0== NULL ) { //--- failed printf ( __FUNCTION__ + ": error creating filter0" ); ExtExpert.Deinit(); return ( INIT_FAILED ); } signal.AddFilter(filter0); //--- Set filter parameters filter0.PeriodMA(Signal_AMA_PeriodMA); filter0.PeriodFast(Signal_AMA_PeriodFast); filter0.PeriodSlow(Signal_AMA_PeriodSlow); filter0.Shift(Signal_AMA_Shift); filter0.Applied(Signal_AMA_Applied); filter0.Weight(Signal_AMA_Weight); //--- Creation of trailing object CTrailingNone *trailing= new CTrailingNone; if (trailing== NULL ) { //--- failed printf ( __FUNCTION__ + ": error creating trailing" ); ExtExpert.Deinit(); return ( INIT_FAILED ); } //--- Add trailing to expert (will be deleted automatically)) if (!ExtExpert.InitTrailing(trailing)) { //--- failed printf ( __FUNCTION__ + ": error initializing trailing" ); ExtExpert.Deinit(); return ( INIT_FAILED ); } //--- Set trailing parameters //--- Creation of money object CMoneyFixedLot *money= new CMoneyFixedLot; if (money== NULL ) { //--- failed printf ( __FUNCTION__ + ": error creating money" ); ExtExpert.Deinit(); return ( INIT_FAILED ); } //--- Add money to expert (will be deleted automatically)) if (!ExtExpert.InitMoney(money)) { //--- failed printf ( __FUNCTION__ + ": error initializing money" ); ExtExpert.Deinit(); return ( INIT_FAILED ); } //--- Set money parameters money.Percent(Money_FixLot_Percent); money.Lots(Money_FixLot_Lots); //--- Check all trading objects parameters if (!ExtExpert.ValidationSettings()) { //--- failed ExtExpert.Deinit(); return ( INIT_FAILED ); } //--- Tuning of all necessary indicators if (!ExtExpert.InitIndicators()) { //--- failed printf ( __FUNCTION__ + ": error initializing indicators" ); ExtExpert.Deinit(); return ( INIT_FAILED ); } //--- ok return ( INIT_SUCCEEDED ); } //+------------------------------------------------------------------+ //| Deinitialization function of the expert | //+------------------------------------------------------------------+ void OnDeinit ( const int reason) { ExtExpert.Deinit(); } //+------------------------------------------------------------------+ //| "Tick" event handler function | //+------------------------------------------------------------------+ void OnTick () { ExtExpert. OnTick (); } //+------------------------------------------------------------------+ //| "Trade" event handler function | //+------------------------------------------------------------------+ void OnTrade () { ExtExpert. OnTrade (); } //+------------------------------------------------------------------+ //| "Timer" event handler function | //+------------------------------------------------------------------+ void OnTimer () { ExtExpert. OnTimer (); } //+------------------------------------------------------------------+ Tretyakov Rostyslav 2021.09.29 12:05 #16323 amsgif80 # : 여기에 거래 기능이 표시되지 않습니다... 이것을 읽고 아래 템플릿을 다운로드하십시오 amsgif80 2021.09.29 12:10 #16324 MakarFX # : 여기에 거래 기능이 표시되지 않습니다... 이 EA는 mt5 편집기에서 생성되었습니다. 그래서 여기에 buy\Sell을 추가하는 방법을 모르겠습니다. 더 정확하게는 코드 상단에 캡을 놓았는데 어떻게 해야 할지 모르겠습니다. amsgif80 2021.09.29 12:12 #16325 amsgif80 # : 이 EA는 mt5 편집기에서 생성되었습니다. 그래서 여기에 buy\Sell을 추가하는 방법을 모르겠습니다. 더 정확하게는 코드 상단에 캡을 놓았는데 어떻게 해야 할지 모르겠습니다. 지금 삽입할 위치: if(inp_direction!=DIRECTION_SELL) if(inp_direction!=DIRECTION_BUY Tretyakov Rostyslav 2021.09.29 12:15 #16326 amsgif80 # : 지금 삽입할 위치: if(inp_direction!=DIRECTION_SELL) if(inp_direction!=DIRECTION_BUY 이것을 읽고 아래 템플릿을 다운로드하십시오 amsgif80 2021.09.29 12:16 #16327 MakarFX # : 이것을 읽고 아래 템플릿을 다운로드하십시오 알았어 고마워! Maksim Burov 2021.09.29 13:31 #16328 OP_SELL 그리드에서 최소 OrderOpenPrice를 찾는 방법을 알려주세요. Taras Slobodyanik 2021.09.29 13:36 #16329 makssub 최소 OrderOpenPrice를 찾는 방법을 알려주세요. 거리와 같으나 시가를 비교한다. Maksim Burov 2021.09.29 13:38 #16330 Taras Slobodyanik # : 거리와 같으나 시가를 비교한다. 예를 작성하십시오. 그렇지 않으면 약간 혼란스럽습니다. 어렵지 않다면. 감사해요 1...162616271628162916301631163216331634163516361637163816391640...1953 새 코멘트 트레이딩 기회를 놓치고 있어요: 무료 트레이딩 앱 복사용 8,000 이상의 시그널 금융 시장 개척을 위한 경제 뉴스 등록 로그인 공백없는 라틴 문자 비밀번호가 이 이메일로 전송될 것입니다 오류 발생됨 Google으로 로그인 웹사이트 정책 및 이용약관에 동의합니다. 계정이 없으시면, 가입하십시오 MQL5.com 웹사이트에 로그인을 하기 위해 쿠키를 허용하십시오. 브라우저에서 필요한 설정을 활성화하시지 않으면, 로그인할 수 없습니다. 사용자명/비밀번호를 잊으셨습니까? Google으로 로그인
팁 감사합니다.
여기에 거래 기능이 표시되지 않습니다...
이것을 읽고 아래 템플릿을 다운로드하십시오
여기에 거래 기능이 표시되지 않습니다...
이 EA는 mt5 편집기에서 생성되었습니다. 그래서 여기에 buy\Sell을 추가하는 방법을 모르겠습니다. 더 정확하게는 코드 상단에 캡을 놓았는데 어떻게 해야 할지 모르겠습니다.
이 EA는 mt5 편집기에서 생성되었습니다. 그래서 여기에 buy\Sell을 추가하는 방법을 모르겠습니다. 더 정확하게는 코드 상단에 캡을 놓았는데 어떻게 해야 할지 모르겠습니다.
지금 삽입할 위치: if(inp_direction!=DIRECTION_SELL) if(inp_direction!=DIRECTION_BUY
이것을 읽고 아래 템플릿을 다운로드하십시오
이것을 읽고 아래 템플릿을 다운로드하십시오
거리와 같으나 시가를 비교한다.
거리와 같으나 시가를 비교한다.
예를 작성하십시오. 그렇지 않으면 약간 혼란스럽습니다. 어렵지 않다면. 감사해요