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 Ralph, ma mi mancherebbe lo swap, e voglio includere il profitto/perdita dello swap nella decisione di chiusura degli ordini
Ma il primo ciclo accumula sia il profitto che lo swap, vero?
Stavo pensando che la cifra dell'Equity è quella da confrontare con ciò che 5 pips significherebbe per i lotti aperti.... e quindi non c'è bisogno di calcolare effettivamente il prezzo di pareggio.
Ciao Ralph
Ho 3 variabili
OrdLots ; in lotti e rappresentano i lotti aperti ma questo salterà lo swap
Equity ; questa è la perdita di profitto totale e questo includerà lo swap
MinPro ; questo è il mio take profit che è di 5 pips + il punto di pareggio
Non posso usare OrdLots per trovare il profitto/perdita in pip perché questo salterà lo swap
Non posso usare Equity per trovare il profitto/perdita in pip perché per questo ho bisogno di sapere quanti lotti sono usati, ma il mio calcolo per i lotti salta lo swap
In qualche modo ho bisogno di usare una funzione sia di OrdLots che di Equity per sapere quanti pip sono aperti
Ci potrebbe essere qualcosa di pronto in MT4 che riguarda il saldo del conto o il capitale del conto, ma non ho trovato nulla
La soluzione che hai proposto grazie troverà il profitto/perdita in pip senza considerare lo swap, ma ho già messo una funzione per questo ... Voglio uscire a 5 pip sopra il pareggio con lo swap
Confrontare i tempi e fare un ciclo
Ciao a tutti.
Sono molto inesperto con il linguaggio Mql4. Voglio confrontare l'orario di apertura con una var Int e se è più lungo di un certo tempo e gli ordini sono ancora aperti voglio aumentare la quantità di ordini aperti consentiti in modo da poter cercare di raggiungere una situazione di Breakeven o forse una situazione di profitto e poi chiudere tutti gli ordini aperti allo stesso tempo e impostare gli ordini massimi di nuovo al suo massimo consentito in origine. Qualcuno può aiutarmi o mostrarmi il codice di un altro post che già fa qualcosa del genere.
Sto usando questo codice ma sembra che non funzioni.
// Se l'ordine è aperto da molto tempo, chiudiamo l'ordine e cerchiamo di andare in pareggio
void TimeProtection()
{
int totalorders = OrdersTotal();
for(int i=totalorders-1;i>=0;i--)
{
OrderSelect(i, SELECT_BY_POS);
if ( OrderSymbol()==Symbol() )
{
prTime = OrderOpenTime();
prTime = prTime * CallTime;
se (prTime >= TimeCurrent())
{
MaxAllowable_Trades = MaxAllowable_Trades + 3;
flag = 1;
break;
}
}
}
return;
}
Vorrei davvero il tuo aiuto su questo.
Grazie
Ciao Ralph
Ho 3 variabili
OrdLots ; in lotti e rappresentano i lotti aperti ma questo salterà lo swap
Equity ; questa è la perdita di profitto totale e questo includerà lo swap
MinPro ; questo è il mio take profit che è di 5 pips + il punto di pareggio
Non posso usare OrdLots per trovare il profitto/perdita in pip perché questo salterà lo swap
Non posso usare Equity per trovare il profitto/perdita in pip perché per questo ho bisogno di sapere quanti lotti sono usati, ma il mio calcolo per i lotti salta lo swap
In qualche modo ho bisogno di usare una funzione sia di OrdLots che di Equity per sapere quanti pip sono aperti
Ci potrebbe essere qualcosa di pronto in MT4 che riguarda il saldo del conto o l'equità del conto, ma non ne ho trovato nessuno
La soluzione che hai proposto grazie troverà il profitto/perdita in pip senza considerare lo swap, ma ho già messo una funzione per questo ... Voglio uscire a 5 pip sopra il pareggio con lo swapAh... forse ho capito... Quindi se accumuli anche il profitto senza swap in EquityNoSwap nel primo ciclo, allora potresti usare quello piuttosto che Equity nella mia dichiarazione "if". (?) Perché allora il test sarebbe "c'è un profitto di 5 pip rispetto al prezzo di breakeven+swap?" che in realtà è lo stesso di "c'è un profitto di 5 pip ignorando lo swap?" (o forse non ho ancora capito)
Fondamentalmente "profitti+swap" è relativo a "breakeven", e quindi "profitti" è relativo a "breakeven+swap", e "profitti" è distribuito su "OrdLots". Tutto sommato non hai ancora bisogno di determinare un prezzo effettivo in pip per il "breakeven".
Migliore idea di codifica EA
Sto imparando a codificare l'indicatore allegato, ma non ha funzionato, qualcuno potrebbe aiutarmi? È un indicatore molto affidabile e se qualcuno potesse fare un EA per esso, è quasi un Santo Graal.
Il principio di base è:
1.open Sell position quando appare la freccia rossa,
2. aprire una posizione di acquisto quando appare la freccia bianca e chiudere automaticamente tutte le posizioni di vendita.
3.apply per qualsiasi timeframe.
4.no stop loss,
5.add funzione di ordine.
In attesa di risposta!
//+------------------------------------------------------------------+
//| IINWMARROWS.mq4
//| Basato su EMA_CROSS.mq4
//| Copyright ?2006, MetaQuotes Software Corp. |
//| Forex Trading Software: Piattaforma di Trading Forex MetaTrader 4 | //|
//| Ultima piccola modifica di Iin Zulkarnain ||
//+------------------------------------------------------------------+
#proprietà copyright "Copyright 2006, MetaQuotes Software Corp.
#property link "http://www.metaquotes.net"
//----
#proprietà indicator_chart_window
#proprietà indicator_buffers 2
#proprietà indicator_color1 White
#proprietà indicatore_colore2 Rosso
#proprietà indicator_width1 2
#proprietà indicator_width2 2
//----
doppio CrossUp[];
doppio CrossDown[];
extern int FasterMode=3; //0=sma, 1=ema, 2=smma, 3=lwma
extern int FasterMA= 3;
extern int SlowerMode=3; //0=sma, 1=ema, 2=smma, 3=lwma
extern int SlowerMA= 3;
//+------------------------------------------------------------------+
//| funzione di inizializzazione dell'indicatore personalizzato
//+------------------------------------------------------------------+
int init()
{
//---- indicatori
SetIndexStyle(0, DRAW_ARROW, EMPTY);
SetIndexArrow(0, 233);
SetIndexBuffer(0, CrossUp);
SetIndexStyle(1, DRAW_ARROW, EMPTY);
SetIndexArrow(1, 234);
SetIndexBuffer(1, CrossDown);
//----
return(0);
}
//+------------------------------------------------------------------+
//| Funzione personalizzata di deinizializzazione dell'indicatore |
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//| Funzione di iterazione dell'indicatore personalizzato |
//+------------------------------------------------------------------+
int start()
{
int limit, i, counter;
double fasterMAnow, slowerMAnow, fasterMAprevious, slowerMAprevious, fasterMAafter, slowerMAafter;
doppio Range, AvgRange;
int counted_bars=IndicatorCounted();
//---- controllo di possibili errori
if(counted_bars<0) return(-1);
//---- l'ultima barra contata sarà ricontata
if(counted_bars>0) counted_bars--;
//----
limit=Bars-counted_bars;
for(i=0; i<=limite; i++)
{
counter=i;
Range=0;
AvgRange=0;
for(counter=i ;counter<=i+9;counter++)
{
AvgRange=AvgRange+MathAbs(High[counter]-Low[counter]);
}
Range=AvgRange/10;
fasterMAnow=iMA(NULL, 0, FasterMA, 0, FasterMode, PRICE_CLOSE, i);
fasterMAprevious=iMA(NULL, 0, FasterMA, 0, FasterMode, PRICE_CLOSE, i+1);
fasterMAafter=iMA(NULL, 0, FasterMA, 0, FasterMode, PRICE_CLOSE, i-1);
//----
slowerMAnow=iMA(NULL, 0, SlowerMA, 0, SlowerMode, PRICE_OPEN, i);
slowerMAprevious=iMA(NULL, 0, SlowerMA, 0, SlowerMode, PRICE_OPEN, i+1);
slowerMAafter=iMA(NULL, 0, SlowerMA, 0, SlowerMode, PRICE_OPEN, i-1);
se ((fasterMAnow > slowerMAnow) && (fasterMAprecedente slowerMAafter))
{
CrossUp=Low - Range*0.5;
}
else if ((fasterMAnow slowerMAprevious) && (fasterMAafter < slowerMAafter))
{
CrossDown=High + Range*0.5;
}
}
return(0);
}
//+------------------------------------------------------------------+questo thread per imparare a codificare correttamente, sto imparando a codificare per
Ai grandi e coraggiosi codificatori
qualcuno può aggiungere posizioni massime per questo EA
o lasciare che esegua una sola posizione?
grazie in anticipo
Messaggio cancellato
domanda fuori tema
E' possibile sniffare i dati da un programma non aperto?
Hanno un linguaggio di programmazione povero (simile a Metastock ma più povero, nessuna funzione ''precedente'' permessa), permettono solo i loro indicatori e hanno il monopolio dei dati (per legge), non è possibile scrivere un'estensione DLL per far funzionare i miei indicatori in tempo reale, ho sentito qualcosa come ''port listening function in excell'' ma non ho idea di cosa sia.
Tutti i programmatori rispondono molto apprezzato.
Ordine aperto per una coppia diversa
Salve,
c'è un modo per aprire un ordine per una coppia di valute diversa.
Per esempio, l'EA è in esecuzione in un grafico EURUSD, ma voglio aprire un ordine per USDJPY.
È possibile.
Grazie in anticipo
OrderSend("USDJPY",OP_BUY,0.1,MarketInfo("USDJPY",MODE_ASK),10,0,0, "Com",0,0,CLR_NONE);