Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 1101

 
AlexeyVik:
Un biglietto può essere uguale a zero?

Dalla documentazione su OrderSend():

.......

Valore di ritorno

Restituisce il numero di biglietto assegnato all'ordine dal server commerciale o -1 in caso di fallimento. Per ottenere le informazioni sull'errore, chiamare GetLastError().

 
Sepulca:

Dalla documentazione su OrderSend():

.......

Valore restituito

Restituisce il numero di ticket assegnato all'ordine dal server commerciale o -1 in caso di fallimento. Per ottenere le informazioni sull'errore, chiamare GetLastError().

Il mio punto esatto... Il numero del biglietto non può essere 0 anche nel tester, e in caso di errore la funzione restituisce -1, che è inferiore a 0. Così ho chiesto, in quale caso il biglietto può essere uguale a zero... Perché la condizione dice >= cioè maggiore o uguale a...
 
h-l


Potete dirmi se esiste un indicatore per mt4 che conta la volatilità sul timeframe selezionato?

Per esempio per i giorni( H-L)n, dove n-numero di giorni.

 
lempopo:


Potete consigliarmi se esiste un indicatore per MT4 che calcola la volatilità su un timeframe selezionato?

Per esempio per i giorni( H-L)n, dove n-numero di giorni.

È la volatilità?

"La volatilità è una misura statistica dell'andamento della volatilità dei prezzi". - È più o meno quello che sembra la definizione.

La volatilità storica è un valore pari alla deviazione standard del valore di uno strumento finanziario in un determinato periodo di tempo, calcolato sulla base di dati storici sul suo valore.

E come indicatore di volatilità nel terminale c'è un indicatore di deviazione standard - Standard Deviation.

 
AlexeyVik:
È quello che sto dicendo... Il numero del biglietto non può essere 0 anche nel tester, e su errore la funzione restituisce -1, che è meno di 0. Così ho chiesto, in quale caso il biglietto può essere uguale a zero... Perché la condizione dice >= cioè maggiore o uguale a...

Con il ticket è tutto chiaro.ho una funzione per determinare l'ultimo ordine aperto (secondo il ticket) anche da OrderTupy diviso.ragazzi la domanda è la seguente.complimator non dà errori e nel tester nessun errore ma l'ordine non viene modificato....why????? se non riesco a capire il mio errore non posso realizzarlo

if(OrderSend(Symbol(),OP_BUYLIMIT,0.10,Ask,Slippage,0,0, "first buy order set",Magik,0)== true)

{
TicketB = FindLastTicket(OP_BUY);
se(TicketB >0)
{
SL = priseBuy + NormalizeDouble(takeP1 * Point,Digits);
TP = priseBuy - NormalizeDouble(stopL1 * Point,Digits);
se(OrderModify(TicketB,priseBuy,SL,TP,0)== true)
Commento("hooraaaahhhh");
}
 

Dove posso trovare un mago che possa scrivere un piccolo script per provarlo gratuitamente?

 
burbur87:

Ho la funzione di determinare l'ultimo ordine aperto (per ticket) anche da OrderTupy.guys la domanda è questa: il complimator non dà errori e nel tester nessun errore ma l'ordine non viene modificato....why????? se non posso capire il mio errore non posso realizzarlo


if(OrderSend(Symbol(),OP_BUYLIMIT,0.10,Ask,Slippage,0,0,"первый ордер бай установлен",Magik,0)== true)
      { 
          TicketB = FindLastTicket(OP_BUY);
          if(TicketB >0)
          {
             SL = priseBuy + NormalizeDouble(takeP1 * Point,Digits);
             TP = priseBuy - NormalizeDouble(stopL1 * Point,Digits);
             if(OrderModify(TicketB,priseBuy,SL,TP,0)== true)
             Comment("урааааааа");
            
          }

Usa il pulsante SRC nel pannello sopra la finestra di inserimento del testo.

Fondamentalmente: solo perché il compilatore non lancia errori non significa nulla. È necessario controllare il registro per eventuali errori e stampare le condizioni e i parametri. Queste sono raccomandazioni generali.

Esattamente sul tuo codice: la funzione OrderSend() restituisce il numero del biglietto o -1 in caso di errori. Se leggete attentamente la documentazione dei tipi di dati, in particolare il tipo bool, potete capire che il valore falso è 0. Tutto il resto è vero. Quindi, non importa come termina la funzione OrderSend(), il valore booleano sarà sempre vero.

Nell'esempio precedente, non c'è bisogno di cercare l'ordine di un biglietto usando una funzione aggiuntiva, poiché sarà restituito da OrderSend().

Gli ordini limite non vengono piazzati al prezzo corrente. Di che tipo di modifica stiamo parlando se l'ordine non deve essere aperto da un tale comando?

 
virginvl:

Dove posso trovare un mago che possa scrivere un piccolo script per provarlo gratuitamente?


Su qualsiasi forum alcuni argomenti con offerte di scrivere gratis. La gente impara a scrivere ...
 
virginvl:   Dove posso trovare una procedura guidata per scrivere un piccolo script da provare gratuitamente?

La procedura guidata è in MetaEditor: File --> Create. Cosa dovrebbe fare lo script? Dai, scriviamolo insieme!!! Lo spiegherò passo dopo passo...


 
AlexeyVik:

Usa il pulsante SRC nel pannello sopra la finestra di inserimento del testo.

In sostanza: il fatto che il compilatore non generi errori non significa nulla. Dovreste controllare il log per eventuali errori e stampare le condizioni e i parametri. Queste sono raccomandazioni generali.

Esattamente sul tuo codice: la funzione OrderSend() restituisce il numero del biglietto o -1 in caso di errori. Se leggete attentamente la documentazione dei tipi di dati, in particolare il tipo bool, potete capire che il valore falso è 0. Tutto il resto è vero. Quindi, non importa come termina la funzione OrderSend(), il valore booleano sarà sempre vero.

Nell'esempio precedente, non c'è bisogno di cercare l'ordine di un biglietto usando una funzione aggiuntiva, poiché sarà restituito da OrderSend().

Gli ordini limite non vengono piazzati al prezzo corrente. Di che tipo di modifica stiamo parlando se l'ordine non deve essere aperto da un tale comando?


E il tester ha aperto una posizione... Inoltre, questo ordine era come una bandiera che avrebbe poi aperto una griglia...

void OnTick()

{

se(tendenza == 1)

Comment("Entro sette mesi, la tendenza è destinata a comprare");

else Comment("la tendenza è in calo da sette mesi");

double priseBuy = FindLastOrderPrise (OP_BUY);

double priseSel = FindLastOrderPrise (OP_SELL);


double frezeelevl = MarketInfo(OrderSymbol(),MODE_FREEZELEVEL);

rsi = iRSI(Symbol(),PERIOD_D1,7,PRICE_CLOSE,0);

tendenza = WhatTrend();

se (CountTrades() == 0)

{

if(trend == 1 && rsi <=30)

{ double vtoroilimt = NormalizeDouble (priseBuy - Vtoroilimit * Point,Digits);

double tretiilimit = NormalizeDouble (priseBuy - Tretiilimit * Point,Digits);

double hetvertiilimit = NormalizeDouble (priseBuy - Hetvertiilimit * Point,Digits);

double pervstop = NormalizeDouble (priseBuy + Pervstop * Point,Digits);

double vtoroistop = NormalizeDouble (priseBuy + Vtoroistop * Point,Digits);

if(OrderSend(Symbol(),OP_BUYLIMIT,0.04,Ask,Slippage,0,0, "first buy order set",Magik,0)== true)

{

OrderSend(Symbol(),OP_BUYLIMIT,0.06, Ask - vtoroilimt,Slippage,0,0,",Magik,0);

OrderSend(Symbol(),OP_BUYLIMIT,0.08, Ask - tretiilimit,Slippage,0,0,",Magik,0);

OrderSend(Symbol(),OP_BUYLIMIT,0.10,Ask - hetvertiilimit,Slippage,0,0,",Magik,0);

OrderSend(Symbol(),OP_BUYLIMIT,0.02,Ask - pervstop,Slippage,0,0,",Magik,0);

OrderSend(Symbol(),OP_BUYLIMIT,0.01,Ask - vtoroistop,Slippage,0,0,",Magik,0);

}

}// if(trend == 1 && rsi <=30)

else if(trend == 2 && rsi >= 70)

{ double vtoroilimt = NormalizeDouble (priseSel + Vtoroilimit * Point,Digits);

double tretiilimit = NormalizeDouble (priseSel + Tretiilimit * Point,Digits);

double hetvertiilimit = NormalizeDouble (priseSel + Hetvertiilimit * Point,Digits);

double pervstop = NormalizeDouble (priseSel - Pervstop * Point,Digits);

double vtoroistop = NormalizeDouble (priseSel - Vtoroistop * Point,Digits);

if(OrderSend (Symbol(),OP_SELLLIMIT,0.04,Bid,Slippage,0,0, "first order is set",Magik,0)== true)

{

OrderSend(Symbol(),OP_SELLLIMIT,0.06, Bid + vtoroilimt,Slippage,0,0,",Magik,0);

OrderSend(Symbol(),OP_SELLLIMIT,0.08, Bid + tretiilimit,Slippage,0,0,",Magik,0);

OrderSend(Symbol(),OP_SELLLIMIT,0.10,Bid + hetvertiilimit,Slippage,0,0,",Magik,0);

OrderSend(Symbol(),OP_SELLSTOP,0.02,Bid + pervstop,Slippage,0,0,",Magik,0);

OrderSend(Symbol(),OP_SELLSTOP,0.01,Bid + vtoroistop,Slippage,0,0,",Magik,0);

}// if(OrderSend(Symbol(),OP_SELLLIMIT,0.10,Bid,Slippage,0,0, "first order is set",Magik,0)== true)


}// else if(trend == 2 && rsi >= 70)

}// if(CountTrades() == 0)


}

//+------------------------------------------------------------------+

il codice cresce con molta agonia.ma senza modifica dell'ordine non c'è da nessuna parte.modificherò il primo ordine.ma cos'è il pulsante cp??

Motivazione: