Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1072
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Grazie, ci darò un'occhiata.
E grazie, mi hai ricordato un vecchio sistema che funzionava nel profitto. Devo prenderne nota a mio piacimento e testarlo nel mercato attuale.
Ciao a tutti. Sono nuovo nella programmazione.
Altre opzioni:
1. Quando aprite Buy, mettete l'ordine SellStop al livello dello stop loss dell'ordine Buy. Allora il tuo desiderio sarà soddisfatto dal server. Ma in situazioni eccezionalmente rare ma precise e non :-)
2. Non mettere affatto lo Stop Loss, e mettere il SellStop di volume doppio. Anche questo sarà elaborato dal server rapidamente. Alla fine della giornata o quando il margine è esaurito, è necessario eseguire un UnLock, che chiude reciprocamente gli ordini opposti (CloseBy).
Tuttavia, c'è un'altra sfumatura: gli ordini stop (e anche gli stop loss) potrebbero non funzionare. E questo accade abbastanza spesso.Cioè, in un robot "da combattimento", dobbiamo ancora ricontrollare.
Scrive che non si può inizializzare un'entità wchar_t con un valore const char*
Se non lo capite, purtroppo, non avete le basi della lingua. È troppo presto per scrivere una dll, specialmente per un linguaggio così specifico come mql. Iniziare con le basi.
Non so cosa vi consigliano di fare. Non ci sarà mai un buon momento per questo momento di apprendimento delle biblioteche, né ora né mai.
2. non mettere affatto uno stop loss, ma mettere un SellStop di volume doppio. Anche questo sarà gestito dal server e rapidamente. Alla fine della giornata o quando il margine è esaurito, è necessario eseguire un UnLock, che chiude reciprocamente gli ordini opposti (CloseBy).
Dovremmo fare più attenzione con CloseBy , perché non tutte le società di brokeraggio supportano questa funzione.
Non sono un programmatore, quindi non posso risolvere la domanda più semplice: come legare la barra zero al tempo, minuti :00, ore 00:,01:,02: ecc. Qualcuno può suggerirlo?
C'è una funzione per questo.
iTime(символ,таймфрейм, номер бара)
Restituisce il tempo della barra.
Ciao a tutti. Ragazzi, per favore aiutatemi, sono nuovo della programmazione.
Come ottenere questo nel codice MQL4.
Per esempio, premerò il pulsante A e un cursore <Screenshot_2> apparirà su un grafico come questo.
Sul Draw Rectangle <Screenshot_1> non c'è nessun tasto di scelta rapida.
Schermata_1
Screenshot_2.
Grazie.
Per favore, aiutatemi con il cambio di compravendita, sto imparando!
void OnTick()
{
MAprice=iMA(Symbol(),0,MAperiod,MAshift,MODE_SMA,PRICE_CLOSE,1);
if(CountBuy() + CountSell() == 0 && Ask > MAprice)
{
if(OrderSend(Symbol(),OP_BUY,lot,Ask,slip,0,0,NULL,magic,0,clrBlue)<1)
Print("Impossibile aprire un ordine di acquisto!");
se(CountBuy()>=1)
{
prezzo = FindLastBuyPrice();
se((prezzo - Ask) >= passo*Punto)
{
if(OrderSend(Symbol(),OP_BUY,lot,Ask,slip,0,0,NULL,magic,0,clrBlue)<1)
Stampa("Impossibile aprire un ordine di acquisto!)
}
}
if(CountBuy() + CountSell() == 0 && Bid < MAprice)
{
if(OrderSend(Symbol(),OP_SELL,lot,Bid,slip,0,0,NULL,magic,0,clrRed)<1)
Stampa("Impossibile aprire un ordine di vendita!)
}
}
se(CountSell()>=1)
{
prezzo = FindLastSellPrice();
se((prezzo -Bid) >= passo*Punto)
{
if(OrderSend(Symbol(),OP_SELL,lot,Bid,slip,0,0,NULL,magic,0,clrRed)<1)
Print("Impossibile aprire un ordine di vendita!");
}
}
double op = CalculateProfit();
se(op>=profitto)
{
CloseAll();
}
}
//+------------------------------------------------------------------+
void ChiudereTutti()
o dove imparare?
C'è una funzione per questo.
Restituisce il tempo della barra.