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

 
ANDREY:

Per favore, dimmi cosa significa EA nel contesto di ciò che hai scritto nel tuo post. Voglio trovare e leggere di più su di esso.....
Grazie.

EA = Consulente esperto

EA

È la prima volta che vedo qualcuno in questo forum che non ha capito l'abbreviazione

Non ho provato a piazzare un ordine in MT5 compilando l'intera struttura di richiesta, c'è un SB, se lo capite, è una linea per aprire un ordine

trade.Buy(0.1);

https://www.mql5.com/ru/articles/481

 
MakarFX:

Stampa


Non è chiaro perché passa a M5

I bylots e i sellots sono globali o locali?
 
Alexey Viktorov:

Qual è meglio?

(0 == 0 e 1 == 0) - la condizione non è soddisfatta

(0 + 1 == 0) - anche la condizione non è soddisfatta.

Qual è la differenza tra AND e addizione in questo particolare esempio?

Il codice è più leggibile.
 
Alexey Viktorov:

Quando il TF viene commutato, l'EA viene riavviato.

Il problema è risolto come segue

int    CountOrder(int Order_Type) 
 {
  int Orders=0;
  for(int a=OrdersTotal()-1;a>=0;a--)
   {
    if(OrderSelect(a, SELECT_BY_POS, MODE_TRADES)==false) continue;
    if(OrderSymbol()!=_Symbol) continue;
    if(Order_Type == OrderType() || Order_Type == -1) Orders++;
   }
  return Orders;
 }
int    OrOfSy;
//+------------------------------------------------------------------+
void OnTimer(void)
  {
//----
   OrOfSy=CountOrder(-1);
  if(OrOfSy!=0)
   if(ChartPeriod()!=PERIOD_M15)
    if(ChartSetSymbolPeriod(0,Symbol(),PERIOD_M15))
     {Print(ChartPeriod());}
  if(OrOfSy==0)
   if(ChartPeriod()!=PERIOD_M5)
    if(ChartSetSymbolPeriod(0,Symbol(),PERIOD_M5))
     {Print(ChartPeriod());}
//----
  }
Tutto funziona)
 
MakarFX:

Il problema è stato risolto come segue

Tutto funziona)
OrofSys è nella zona globale.
 
Igor Makanu:

EA = Consulente esperto

EA

È la prima volta che vedo qualcuno in questo forum che non ha capito l'abbreviazione

su ciò che è stato discusso - non ho provato a piazzare ordini in MT5 riempiendo l'intera struttura di richiesta, c'è un SB, se lo capite, quindi l'apertura dell'ordine in una riga

https://www.mql5.com/ru/articles/481

Capito. Grazie.

 
SanAlex:

errore - questa linea deve essere cancellata ( double const = 0; )

e tutto funzionerà



Ciao SanAlex! 2020.10.29_06:54 GMT+3. Grazie per i vostri suggerimenti. L'indicatore BrainTrend1Sig.mq4 sarà utile. Io stesso non ho affrontato la conversione del codice da .mq5 a .mq4. Cercherò di fare un Expert Advisor redditizio basato su questo indicatore.

 
Valeriy Yastremskiy:
Il codice è più leggibile.

Dipende...

 

Puoi dirmi come bloccare il pulsante

   //--- обработка кнопки Создать трендовую линию Buy
   if(sparam=="Button 3")
      {
      if(trigger_greateB==true)
         {
         Sleep(100);
         trigger_greateB=false;
         ObjectSetInteger(0,"Button 3",OBJPROP_STATE,true);
         //--- Определяем координаты
         ChartXYToTimePrice(0,xn,yn+20,window,dt_1,price_1);
         ChartXYToTimePrice(0,xn+100,yn-20,window,dt_2,price_2);
         //--- Создаем трендовую линию Buy
         TrendCreate(0,("OrderBuy: "+Symbol()),0,dt_1,price_1,dt_2,price_2,ColorUP,0,1,false,true,false,false,0);
         return;
         }
      }

è necessario bloccare la pressa se

if(ObjectGet("OrderBuy: "+Symbol(),OBJPROP_PRICE1)!=0)
 
MakarFX:

Puoi dirmi come bloccare il pulsante

È necessario bloccare la stampa se

Proprio così, aggiungilo alla condizione.

if(sparam=="Button 3" && ObjectGet("OrderBuy: "+Symbol(),OBJPROP_PRICE1)!=0)

O == 0, più probabilmente. O meglio usare la ricerca dell'oggetto per nome, se non c'è tale oggetto allora createne uno. E non importa se il pulsante è premuto o no.