Come codificare? - pagina 162

 

Bisogno di aiuto per un errore di codifica

Ciao

Sono abbastanza nuovo nel trading forex e nella codifica in MQL4. Ho bisogno di aiuto per impostare ordersend per ordini SellLimit e BuyLimit. Questo è il mio codice ma continuo a ricevere un errore Ordersend 130 o 3. Non so cosa ci sia di sbagliato nel codice.

if (Bid <= LowEnvelope) {OrderSend(Symbol(),OP_SELLLIMIT,lotMM,Bid-EmergencyProfit*Point,0,0,0," Sell Limit Order",MagicNumber,0,Orange);}

Per favore, qualcuno può aiutarmi? Grazie

 

Questo è un posto fantastico per imparare

Voglio solo cogliere l'occasione per dire grazie a tutte le persone che rendono possibile questo forum e a tutti gli altri trader che sono disposti a condividere liberamente le loro conoscenze con tutti gli altri. Grazie, ho imparato un bel po' e mi sento ancora come se non sapessi nulla.

 
simonkoen:
Ciao

Sono abbastanza nuovo nel forex trading e nella codifica in MQL4. Ho bisogno di aiuto per impostare ordersend per ordini SellLimit e BuyLimit. Questo è il mio codice, ma continuo a ricevere un errore Ordersend 130 o 3. Non so cosa ci sia di sbagliato nel codice.

if (Bid <= LowEnvelope) {OrderSend(Symbol(),OP_SELLLIMIT,lotMM,Bid-EmergencyProfit*Point,0,0,0," Sell Limit Order",MagicNumber,0,Orange);}

Per favore, qualcuno può aiutarmi? Grazie

Il prezzo per l'ordine SellLimit dovrebbe essere superiore al prezzo reale, non inferiore.

 

Grazie

Grazie Roger9. Ora invece sto usando seelstop e buystopp e funziona bene.

 

ottenere CurrentTime Frame() ?

Richiesta semplice - qualcuno può dirmi come ottenere l'attuale quadro temporale / periodo che viene visualizzato? Cioè 1 ora, 4 ore, 1 giorno ecc.

Ho cercato nei documenti ecc non riesco a trovarlo.

Grazie.

 
djl:
Semplice richiesta - qualcuno può dirmi come ottenere l'attuale time frame / periodo visualizzato? Cioè 1 ora, 4 ore, 1 giorno ecc.

Ho cercato nei documenti ecc. non riesco a trovarlo.

Grazie.

Questa funzione può aiutarvi.

int Periodo( )

Restituisce la quantità di minuti che determinano il periodo utilizzato(timeframe del grafico).

Esempio:

Print("Il periodo è ", Periodo());

 

Altre due domande

Ciao a tutti.

Scusate per la mia cattiva ortografia di ieri.

Vorrei sapere come si fa quando apro una posizione di acquisto o di vendita e allo stesso tempo uno stopsell o stopbuy come faccio ad assegnare lo stesso numero agli ordini in modo che se l'uno viene attivato si chiude automaticamente l'altro ordine. So che si può fare con il numero magico ma anche qualcosa sul tempo nel numero magico? La seconda domanda. Quando inserisco del codice nella mia sezione ordini forzo il programma ad aprire un solo ordine su quella barra ma quando faccio questo l'Ea non fa scattare gli ordini quando le condizioni sono soddisfatte per aprire gli ordini Quando rimuovo il codice apre gli ordini dove soddisfa le condizioni. Qualche idea sul perché sia così? Ecco il codice.

if(CurrBar != iTime(NULL,0,0))

{

double HighEnvelope = iEnvelopes(Symbol(),0,EnvelopePeriods,MODE_EMA,0,PRICE_MEDIAN,EnvelopeDev,MODE_UPPER,0);

se (Bid >= HighEnvelope && OrdersTotal() <=MaxAllowable_Trades)

{

OrderSend(Symbol(),OP_SELL,lotMM,(Bid),Slippage,(0),0," Sell Order ",MagicNumber,0,White);

OrderSend(Symbol(),OP_BUYSTOP,lotMM,Bid+EmergencyProfit*Point,0,0,0," Pending Buy Order ",MagicNumber,0,DodgerBlue);

CurrBar = iTime(NULL,0,0);

}

}

return;

}

Grazie in anticipo per la vostra pazienza e supporto.

 

Grazie.

 

Diciamo che Periodo() =5. Come posso leggere i tick del minuto e dei secondi del trade corrente all'interno di quel Periodo? Esempio: Minuto =3, secondi=42.

Quello che voglio fare è controllare una condizione all'interno del mio ea ogni 4 minuti e 50 secondi nel periodo di 5 minuti - Puoi aiutare!

Dave

 
1Dave7:
Diciamo che Periodo() =5. Come posso leggere i tick del minuto e dei secondi del trade corrente all'interno di quel Periodo? Esempio: Minuto =3, secondi=42.

Quello che voglio fare è controllare una condizione all'interno del mio ea ogni 4 minuti e 50 secondi nel periodo di 5 minuti - Puoi aiutare!

Dave

In un timeframe di 5 minuti, penso che solo tu possa controllare una certa situazione in un determinato momento è quando si presenta un nuovo tick. Puoi vedere se il tempo trascorso dalla barra aperta è il tempo che vuoi.

Ad ogni nuovo tick verrà eseguita la funzione start del codice mql, poi dovrai controllare se il tempo trascorso dall'ultima barra aperta è quello desiderato con le funzioni Data e Ora di MQL.

Se non ci sono nuovi tick tra il tuo tempo (4min50sec) e una nuova barra aperta periodo (5min) non so come controllare perché non ho mai bisogno di farlo.