[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate. Non posso andare da nessuna parte senza di te. - pagina 212

 

MA_1_t=iCustom(Symbol(),0,"AMA_optimized",1,1); // ??_1
MA_2_t=iCustom(Symbol(),0,"AMA_optimized",2,1); // ??_2
MA_3_t=iCustom(Symbol(),0,"AMA_optimized",1,2); // ??_2
MA_4_t=iCustom(Symbol(),0,"AMA_optimized",2,2); // ??_4
//---------------------------------------------------------------- 5.1 ???? ?????
static datetime New_Time;
bool New_Bar;
bool wayUP, wayDOWN;

if(New_Time!=Time[0])
{
New_Time=Time[0];
New_Bar=true;
} else { New_Bar=false;
}
//---------------------------------------------------------------- 5.1

if (MA_1_t!=0 && wayDOWN==true) // && MA_3_t==0
{
if (New_Bar==true)
{
Opn_B=true;
New_Bar=false;
}
//Cls_S=true;
}

if (MA_2_t!=0 && wayUP==true) // && MA_4_t==0
{
if (New_Bar==true)
{
Opn_S=true;
New_Bar=false;
}
//Cls_B=true;
}

if (New_Bar==true) {
if (MA_3_t!=0 && MA_4_t==0) {wayUP=true;}
if (MA_4_t!=0 && MA_3_t==0) {wayDOWN=true;}
}

//--------------------------------------------------------------- 6 --

PEOPLE, dobbiamo in qualche modo ricordare fino a 2 barre quale era la direzione e poi confrontarla, se la direzione non è la stessa di 1 barra, allora aprire su 0 barre...

Altrimenti non mi aiuteranno!

Может я не правельные вопросы задаю, черт побери?! мысли в члух

 
Ciao a tutti. Ho creato un timeframe non standard M10 in MT4, ma non funziona in tempo reale per qualche motivo. Cioè, mostra la storia correttamente per il periodo richiesto di M10, ma solo fino al momento in cui l'ho creata. Qual è il problema? Non so se deve essere così o se ho fatto qualcosa di sbagliato. L'ho fatto in modo da non avere la possibilità di scambiare in tempo reale per tempo non standard, devo solo guardare attraverso la storia ((
 
Copia il file Period_Converter_Opt.mq4 nella cartella experts\indicators del tuo terminale. Se il terminale è stato aperto, ricaricatelo.

Passo 2.1. Aggiungi l'indicatore Period_Converter_Opt al grafico da cui vuoi ottenere un timeframe non standard. Si aprirà una finestra. Selezionate la casella "Allow DLL import" nella scheda "General".

Passo 2.2. Nella scheda "Input Parameters" potete impostare diverse variabili. La variabile PeriodMultiplier è il moltiplicatore per il grafico originale. Per esempio, se volete ottenere il grafico H1 come grafico H6, dovete impostare il valore 6.

La variabile UpdateInterval è responsabile della frequenza degli aggiornamenti del grafico. L'impostazione predefinita è zero - il grafico viene aggiornato in tempo reale. Se vuoi ridurre il carico sulle risorse del tuo computer, aumenta questo valore.


Il passo tra i regolari timeframes di MetaTrade è abbastanza grande - grafici orari, a quattro ore e giornalieri. Ecco perché i grafici M10, H2, H3, H6, H8, H12 possono essere utili.
Il resto è come al solito - aprire un grafico offline, cercare il TF creato ed eseguirlo.
File:
 

Da qualche parte, qualche tempo fa ho incontrato un operatore o una funzione che diceva all'EA di lavorare SOLO con gli ordini dello strumento su cui era seduto, ignorando gli ordini di altre coppie. Ho cercato di trovarlo ora e non ci sono riuscito. Forse qualcuno può darmi un suggerimento veloce?

 
vendim писал(а) >>

Da qualche parte ho visto un operatore o una funzione che dice all'EA di lavorare SOLO con gli ordini dello strumento su cui si trova, ignorando gli ordini di altre coppie. Ho cercato di trovarlo ora e non ci sono riuscito. Qualcuno può darmi un suggerimento veloce?

Il parametro magico è responsabile di questo quando si apre un ordine.

Magia negativa".

 
DDFedor писал(а) >>

Il parametro magico quando si apre un ordine è responsabile di questo. quando si analizzano gli ordini, si considera la sua unicità.

Intendevo le caratteristiche standard del linguaggio. Forse mi sbaglio, forse era scritto da qualche parte separatamente e non l'ho notato. L'intero codice contiene molti controlli del tipo seguente

&& (OrderSymbol() == Symbol())

Nel codice di Expert Advisor la linea richiesta (anche con un commento) era all'inizio e l'autore non si è preoccupato degli ordini di altre coppie di valute dopo. Forse, gli ordini sono stati presi dalla biblioteca ...

In breve, l'operatore/funzione standard in MQL4, esiste?

 

di nuovo, qualcuno mi aiuti a cancellare gli oggetti

#property copyright ""
#property link      ""

#include <WinUser32.mqh>

int start() {
   for (int li_0 = 0; li_0 < ObjectsTotal(); li_0++) {
      if (StringFind(ObjectName( li_0), "стрелка") == 0) {
         ObjectDelete(ObjectName( li_0));
         li_0--;
      }
   }
   int li_4 = WindowHandle(Symbol(), Period());
   if ( li_4 != 0) PostMessageA( li_4, WM_COMMAND, 33324, 0);
   return (0);
}

come posso fare in modo che questo script cancelli gli oggetti non per nome ma per stile, per esempio





(OBJPROP_ARROWCODE,158)

aiutatemi, per favore

 
NEKSUS_ >> :

di nuovo, qualcuno mi aiuti a cancellare gli oggetti


come posso fare in modo che questo script cancelli gli oggetti non per nome ma per stile, per esempio





aiutami qui


Personalmente, farei quanto segue:

for (int li_0 = 0; li_0 < ObjectsTotal(); li_0++) {
se (ObjectGet(ObjectName(li_0),OBJPROP_ARROWCODE)==158) {
ObjectDelete(ObjectName(li_0))
}
}

Il ciclo con solo decremento, altrimenti non sarete in grado di capire l'ordine degli oggetti se li cancellate uno per uno.

 
splxgf >> :

Personalmente, farei quanto segue:

for (int li_0 = 0; li_0 < ObjectsTotal(); li_0++) {
se (ObjectGet(ObjectName(li_0),OBJPROP_ARROWCODE)==158) {
ObjectDelete(ObjectName(li_0))
}
}

Un ciclo con solo decremento - altrimenti non sarete in grado di capire l'ordine degli oggetti se li cancellate uno per uno.

Beh, non conosco affatto mql, e lo script funziona, ma deve essere eseguito 7 volte e lascia ancora alcuni oggetti sul grafico

 
NEKSUS_ >> :

Non conosco affatto mql, ma lo script funziona, ma deve essere eseguito 7 volte e alcuni oggetti rimangono comunque sul grafico

Forse è così:

for(int k=0; k<ObjectsTotal(); k++)
{
   if (ObjectGet(ObjectName( k), OBJPROP_ARROWCODE)==158) 
   {
      ObjectDelete(ObjectName( k));
      k--;
   }
}

Questa è la rimozione delle frecce. Se siete interessati ad altri oggetti, leggete l'aiuto sulla funzione ObjectGet()