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
Oh, sei davvero una star. Amo commerciare, ma sarebbe impossibile senza il tuo aiuto. Grazie ancora
Ciao,
Qualcuno potrebbe aiutarmi con la mia funzione LotsizeCalc().
Vorrei moltiplicare il mio lotsize con 'MartingaleAmount' se il mio ultimo trade era perdente. Se il mio ultimo trade è stato vincente, vorrei usare il lotsize "normale". Sfortunatamente, quando faccio il backtest dell'EA ottengo l'errore 4051 dal diario.
Ha qualcosa a che fare con il lotsize, perché l'EA funziona quando provo ad eseguire l'EA senza la funzione "LotsizeCalc()".
Qualcuno sa perché la mia funzione lotsize non funziona?
Grazie in anticipo,
Thierry
extern int MaximumTrades = 10; extern double StopLoss=25; extern double TakeProfit=50; extern double MartingaleAmount = 1.5; input double LotSize=0.1; int magic; double pips; int tradeNumber; string ScreenComment; double martinlot; double martinsize;
[/PHP]
Thierry
Puoi usare questa funzione per scoprire se l'ultimo ordine chiuso è stato chiuso con profitto o perdita:
[PHP]double lastOrderProfit(int magicNumber=0)
{
datetime lastTime = 0;
double lastProfit = 0;
for(int i=OrdersHistoryTotal()-1; i>=0; i--)
{
if (OrderSelect(i,SELECT_BY_POS, MODE_HISTORY)==false) break;
se (magicNumber!=0)
se (OrderMagicNumber() != magicNumber) continua;
se (OrderSymbol() != Symbol()) continua;
se (OrderCloseTime() <= lastTime) continua;
lastTime = OrderCloseTime();
lastProfit = OrderProfit()+OrderSwap()+OrderCommission();
}
return(lastProfit);
}
Basta controllare se il risultato della funzione lastOrderProfit(), e se è < 0, allora applica la tua regola martingala
Ciao Mladen! Ancora io...
Come sarebbe possibile utilizzare le linee di questo indicatore in un EA utilizzando iCustom, dato che non sembra esserci alcun buffer impostato per queste linee?
Grazie
Ciao Mladen! Ancora io...
Come sarebbe possibile utilizzare le linee di questo indicatore in un EA utilizzando iCustom, dato che non sembra esserci alcun buffer impostato per queste linee?
GrazieQuesti sono oggetti
Puoi accedere agli oggetti per nome (devi conoscere il nome esatto dell'oggetto, ma l'indicatore deve essere attivo sul grafico e quegli oggetti devono essere disegnati sul grafico).
Quelli sono oggetti Puoi accedere agli oggetti per nome (devi sapere il nome esatto dell'oggetto, ma l'indicatore deve essere attivo sul grafico e quegli oggetti devono essere disegnati sul grafico).
Ottimo. Quindi come potrei chiamare l'indicatore dall'EA? Con qualcosa di diverso da iCustom o ho sbagliato tutto... Grazie mladen
Ottimo. Quindi come potrei chiamare l'indicatore dall'EA? Con qualcosa di diverso da iCustom o ho sbagliato tutto... Grazie mladen
Quell'indicatore disegna semplicemente i livelli a 0,20,50,80 pips di ogni segmento di 100 pips. Il modo più semplice è controllare se quei livelli sono attraversati dal tuo EA.
Se provi a usare i nomi degli oggetti (e i loro prezzi, non sarai in grado di conoscere i nomi esatti delle linee poiché dipendono dal massimo massimo e dal minimo - sono soggetti a cambiamenti. Usa la modalità descritta sopra
Quell'indicatore disegna semplicemente livelli a 0,20,50,80 pips di ogni segmento di 100 pips. Il modo più semplice è controllare se quei livelli sono attraversati dal tuo EA. Se provi a usare i nomi degli oggetti (e i loro prezzi, non sarai in grado di conoscere i nomi esatti delle linee poiché dipendono dal massimo più alto e dal minimo più basso - sono soggetti a cambiamenti. Usa la modalità descritta sopra
Avresti un esempio su come farlo... Mi dispiace di aver chiesto così tanto, è solo che sto iniziando a codificare e non ho capito come controllare se quei livelli sono attraversati nella condizione di comprare o vendere.
Avresti un esempio su come farlo... Mi dispiace di chiedere così tanto, è solo che sto iniziando a codificare e non ho capito come controllare se quei livelli sono attraversati nella condizione di comprare o vendere.
Jason2005
Hai un codice di come si fa nell'indicatore che hai allegato
Jason2005 Hai un codice di come è fatto nell'indicatore che hai allegato
Sarebbe questo allora?
Thierry
Puoi usare questa funzione per scoprire se l'ultimo ordine chiuso è stato chiuso con profitto o perdita:
{
datetime lastTime = 0;
double lastProfit = 0;
for(int i=OrdersHistoryTotal()-1; i>=0; i--)
{
if (OrderSelect(i,SELECT_BY_POS, MODE_HISTORY)==false) break;
if (magicNumber!=0)
if (OrderMagicNumber() != magicNumber) continue;
if (OrderSymbol() != Symbol()) continue;
if (OrderCloseTime() <= lastTime) continue;
lastTime = OrderCloseTime();
lastProfit = OrderProfit()+OrderSwap()+OrderCommission();
}
return(lastProfit);
}
Ciao Mladen,
Grazie per la tua risposta.
La funzione lastorderprofit non è necessaria perché la mia funzione lastTradeTicket() fa lo stesso lavoro.
Potresti dare un'occhiata al mio EA?
Non ti sto chiedendo di modificare il codice, ma ti sarei molto grato se potessi dirmi cosa ho codificato male.
Grazie in anticipo,
Thierry
53_martingale.mq4