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

 
EVGENII SHELIPOV # :

Bahşiş için teşekkürler.

;)
 
//+------------------------------------------------------------------+
//|                                                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 ();
  }
//+------------------------------------------------------------------+
 
amsgif80 # :

Burada ticaret fonksiyonları göremiyorum...

Bunu okuyun ve aşağıdaki şablonu indirin

 
MakarFX # :
Burada ticaret fonksiyonları göremiyorum...

Bu EA, mt5 editörü tarafından oluşturulmuştur. Bu yüzden buraya al\Sat nasıl ekleyeceğimi bilmiyorum. Daha doğrusu, kodun başına bir başlık koydum ve sonra onunla ne yapacağımı anlamıyorum.

 
amsgif80 # :

Bu EA, mt5 editörü tarafından oluşturulmuştur. Bu yüzden buraya al\Sat nasıl ekleyeceğimi bilmiyorum. Daha doğrusu, kodun başına bir başlık koydum ve sonra onunla ne yapacağımı anlamıyorum.

Şimdi nereye eklenir: if(inp_direction!=DIRECTION_SELL) if(inp_direction!=DIRECTION_BUY
 
amsgif80 # :
Şimdi nereye eklenir: if(inp_direction!=DIRECTION_SELL) if(inp_direction!=DIRECTION_BUY

Bunu okuyun ve aşağıdaki şablonu indirin

 
MakarFX # :

Bunu okuyun ve aşağıdaki şablonu indirin

Tamam teşekkürler!
 
OP_SELL kılavuzundan minimum OrderOpenPrice'ı nasıl bulacağımı söyleyin.
 
makssub minimum OrderOpenPrice'ı nasıl bulacağımı söyleyin.

mesafe ile aynı, ancak açılış fiyatını karşılaştırın.

 
Taras Slobodyanik # :

mesafe ile aynı, ancak açılış fiyatını karşılaştırın.

Bir örnek yazın, yoksa biraz kafam karıştı. Zor değilse. teşekkürler