Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1660

 
MakarFX #:

1) Sì, questi sono i valori del numero di "candele di conferma" .

2) No, non si apre al primo, solo dopo un certo numero di "candele di conferma" .

3) Cambiare il magik e metterlo su qualsiasi coppia

È meglio rendere la magia una variabile esterna

1) Preso;

2) Allegherò uno screenshot in questo post, non si apre sulla prima, ma se l'entrata da 4 candele è in condizioni, si aprirà sulla quarta, come nello screenshot. Naturalmente non è la cosa principale, voglio solo sapere come risolvere il problema. Ma anche se lo lasciamo, a cosa serve "Init=true"? Qual è la sua essenza?

3) E come fare una variabile esterna magica? Solo che non ho toccato il magik e non so come farlo:

#property copyright "Copyright 2021, DrMak."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//--- input parameters
#define MagicNumber  122122
extern string s1             = "Trading options";
extern double Lot            = 0.01;    // размер лота 0 - авт.расчет
extern double StopLoss       = 40;     // стоплосс
extern double TakeProfit     = 10;     // тейкпрофит
extern double TrailStop      = 21;     // уровень без убытка
extern int    Trailing       = 0;      // трейлинг стоп 1 вкл. 0 выкл.
extern int    Breakeven      = 0;      // перенос стоп лосса в без убыток
extern string s2             = "Day & Hour";
extern int    HrStart        = 0;      // время начала торговли
extern int    HrEnd          = 23;     // время окончания торговли
extern int    Monday         = 1;      // Понедельник 1 вкд. 0 выкл.
extern int    Tuesday        = 1;      // Вторник
extern int    Wednesday      = 1;      // Среда
extern int    Thursday       = 1;      // Четверг
extern int    Friday         = 1;      // Пятница
//+------------------------------------------------------------------+
// параметры индикаторов
int MovingPeriodLw        = 5;      
int MovingPeriodS1        = 75;
int MovingPeriodS2        = 85;
double StopLevel;
double TrailStep             = 3;      // шаг трейлинг стопа
bool OrderBuy = true, OrderSell = true, Order = false, Init = true;
int timeprev = 0, Slip = 3.0, Start, cnt=1;
datetime newbar=0;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   if (Digits == 3 || Digits == 5) { // Пересчет для 5-ти знаков                                                    
      TakeProfit *= 10;
      TrailStop *= 10;
      TrailStep *= 10;
      StopLoss *=10;
      Slip *=10;
   } 
   
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   StopLevel = MarketInfo(Symbol(), MODE_STOPLEVEL); 
   //---
   if(newbar!=Time[0])
     {
      if(CheckForOpen()!=Start)
        {Start=CheckForOpen(); cnt=1;}
      else
        {cnt+=1;}
      //---
      if(cnt==8)
        {
         // Открытие ордера по методу Пуриа
         if(CheckForOpen()==0) // Если сигнал для покупок 
           {
            if(OrderSend(Symbol(),OP_BUY,Lots(),Ask,Slip,Bid-StopLoss*Point,Ask+TakeProfit*Point,"",MagicNumber,0,Blue))
              {Print("BUY OK");}
              else {Print(GetLastError());}
           } 
         if(CheckForOpen()==1) // Если сигнал для продаж 
           {
            if(OrderSend(Symbol(),OP_SELL,Lots(),Bid,Slip,Ask+StopLoss*Point,Bid-TakeProfit*Point,"",MagicNumber,0,Red))
              {Print("SELL OK");}
              else {Print(GetLastError());}
           }
        }   
      newbar=Time[0];
     }
  }
File:
 
MakarFX #:

Non male!

 
artem artem #:

1) Preso;

2) Allegherò uno screenshot in questo post, non si apre sulla prima candela, ma se l'entrata da 4 candele è nelle condizioni, si aprirà sulla quarta, come nello screenshot. Naturalmente non è la cosa principale, voglio solo sapere come risolvere il problema. Ma anche se lo lasciamo, a cosa serve "Init=true"? Qual è la sua essenza?

3) E come fare una variabile esterna di magik? È solo che non ho mai toccato il magik e non so come farlo:

#define MagicNumber  122122

sostituire con

extern string MagicNumber = 122122;

"Init=true" può essere rimosso.

Riguardo al primo input, ci penserò, ma domani)

 

artem artem #:

Vorrei sapere come questo può essere rimosso.

Rimosso

File:
artem.mq4  11 kb
 
MakarFX #:
// Мертвая строка

Buona idea, ben fatto, Makar!

 

Dimmi cosa fare, ho un caso anomalo:

Il passaggio nel test mostra 40 scambi negli ultimi sei mesi. Il saldo è di oltre 1000 dollari sul conto.

Esecuzione dello stesso set per tutto l'anno - solo 8 scambi. Resto circa 1000 dollari.

Lo sto eseguendo dall'inizio del 2020, 3 mesi si scambia - ulteriore 0 reazione.

Non capisco perché non vuole scambiare su un grande periodo. Non mostra alcun errore nel registro.

 
artem artem #:

quello è buono per divertirsi nel tester.

e questo è per voi, come regalo - per fare soldi.

\\\\\\\\\\\\\\\\\\\\\\\\\\

L'ho testato e vedrò come funziona stasera.

Schermata 2021-10-10 054654

\\\\\\\\\\\\\\\\\\\\\\\\\\\

ha controllato come cambia il modello su tutti i grafici - tutto ha funzionato! -come il profitto totale ha raggiunto l'obiettivo.

Schermata 2021-10-10 055232

File:
artem_artem.mq4  26 kb
 

è bene controllare nel tester - quando si salva il modello con gli indicatori, se si cambiano le impostazioni degli indicatori - basta premere pausa nel tester e regolare gli indicatori.

Schermata 2021-10-10 063557

\\\\\\

modello di grafico - per l'esperto di cui sopra.

File:
 
SanAlex #:

quello è buono per divertirsi nel tester.

e questo è per voi, come regalo, per fare soldi.

Buongiorno a tutti voi e buon umore! Sono incuriosito. Si prega di tradurre il codice artemartem.mq4 per MT5 se non avete problemi con esso. Voglio vedere come "gestisce" i rollover su un conto reale.

Sinceramente Vladimir.

 
MrBrooklin #:

Buongiorno a tutti e buon umore! Sono incuriosito. Per favore, se non è difficile per te, traduci il codiceartem artem.mq4 per MT5. Voglio vedere come "gestisce" i rollover su un conto reale.

Sinceramente, Vladimir.

Buongiorno, ora creerò un indicatore di segnale per mt5 con questi indicatori

\\\\\\\\\\\\\\\\\\\\\\\\\\\\

Qui l'ho fatto - il resto è molto semplice - in Expert Advisor con i suoi desideri e la sua logica, il trawl e tutto il resto.

EURUSDH1

\\\\\\\\\\\\\\\\\\\\\\

In Expert Advisor è possibile impostare l'apertura su una barra zero o sulla prima barra

Schermata 2021-10-10 085616

File:
Fx10_artem.mq5  20 kb
Motivazione: