Idee grezze - pagina 9

 

Alcuni indicatori - modificati

Ciao,

a_ZZ e a_ZZInd - "High_Low v2 (ZigZag)" e altri (che ora non ricordo, &))

aDin - "ang_PR (Din)-v2"

Cosa ne pensi?

Grazie.

 

CroceMACD

Ciao a tutti,

Ho un'idea per un EA che utilizza il MACD 13,32,48 e PSAR Step 0.005 Max.0.05 o 0.006 e 0.06 H1 TF

Punto di entrata quando MACD Cross (Close Bar) e uscita PSAR o trailing stop opzionale.

Saluti

MFX

File:
mc.gif  16 kb
 
 

Migliore strategia giornaliera...

Ciao ragazzi,

sono felice di essere di nuovo qui tra voi. Sono stato via per un paio di giorni. Comunque vorrei chiedervi quali sono le migliori strategie giornaliere e a 4 ore che avete trovato, usato magari...

Grazie

RINGRAZIAMENTI

 
File:
1.bmp  1318 kb
 

codersguru: potresti cambiare EMA per tripla media mobile esponenziale?

in EMACROSS EA.

è meglio di EMA.

Grazie.

 

Miglior sistema per le coppie Cross

Ciao

Ho trovato un ottimo sistema che è molto buono per scambiare coppie cross.

È molto semplice e basato su SMA e EMA, ma molto efficace. Se qualcuno può sviluppare un EA per questo possiamo testarlo.

Verranno utilizzati 2 tipi di medie mobili della barra precedente

6 ema,12 sma

Il trend è al ribasso se 6ema<12ma

e la tendenza è verso l'alto se 6ema>12ma

segnale di acquisto o vendita

Vendere: se è tendenza al ribasso e vendere (offerta) H

Oppure

Comprare: se il trend è al rialzo e comprare(ask) L[Lowest(6,0)]

uscire:

se il trend è giù, short, L[Lowest(6,0)]

se tendenza al rialzo, long, H

invertire:

se il trend è al rialzo, short, L[Lowest(6,0)]

se il trend è al ribasso, long, H

------------------------------------------

Se qualche programmatore può fare un indicatore o un EA per questo sistema, tutti noi possiamo vedere il suo potenziale.

 

Mi dispiace, ma non ho capito le regole. Potete per favore elaborare o possibilmente usare qualche valore numerico per spiegare.

Grazie,

Maji

 

Breakout EA

Ciao esperti,

Vorrei attirare la vostra attenzione sul seguente thread, in particolare la discussione di fxengines. Ecco il link: http://www.strategybuilderfx.com/forums/showthread.php?t=11530&page=4&pp

La cosa più importante è che ha menzionato due sistemi nelle sue discussioni che sto copiando e incollando qui -

Esempio 1: Il segnale di entrata è un breakout a 60 minuti di 15 sopra il massimo dell'ultimo periodo, uscita limite di 30. La probabilità nella relazione per il trigger GBP 60 MIN 15 è dell'85,7%. Questo test ha reso l'84%, e ha fatto soldi.

"Questo motore ha avuto una performance netta di 1298 pip con un tasso di successo dell'84%. Se tutti i trade fossero usciti al massimo, il motore avrebbe avuto un valore di 2521 pip. Tuttavia, una media di 1,97 pip per trade è stata "restituita" dal massimo al punto in cui si è usciti. Il massimo drawdown per questo motore è stato di 454 pip, con 3 trade perdenti durante la peggiore striscia perdente e 46 vincitori durante la migliore striscia vincente".

ESEMPIO 2: Il segnale di entrata è un breakout a 60 minuti di 25 sul massimo dell'ultimo periodo, uscita limite di 30. La probabilità nella relazione per il trigger GBP 60 MIN 25 è del 95,2%. Questo test ha reso l'84%, e ha fatto soldi.

"Questo motore ha avuto una performance netta di 941 pip con un tasso di successo dell'84%. Se tutti i trade fossero usciti al massimo, il motore avrebbe avuto un valore di 1832 pip. Tuttavia, una media di 2,02 pips per trade è stata "restituita" dal massimo al punto in cui si è usciti. Il massimo drawdown per questo motore è stato di 452 pip, con 3 trade perdenti durante la peggiore striscia perdente e 25 vincitori durante la migliore striscia vincente".

Qualcuno ha scritto un EA per fare un backtest e verificare questa affermazione? Ho provato, ma non sono riuscito a duplicare i loro risultati o anche solo ad avvicinarmi, ma non sono un esperto. Spero che uno dei guru qui possa farlo.

Grazie,

Maji

 

Bisogno di aiuto per la codifica dell'EA

Ciao, ho scaricato il seguente EA e sembra funzionare abbastanza bene. Tuttavia non applica Trailingstop, takeprofit e stoploss. qualcuno potrebbe per favore correggere il codice. Qualsiasi aiuto è molto apprezzato. molte grazie

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

//| SMC Autotrader Momentum.mq4 |

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

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

extern double Lots = 1;

extern double InitialStop = 30

extern double TrailingStop = 20;

extern bool TakeProfitMode = True;

extern int TakeProfit = 10;

extern bool StopLossMode = True;

extern int StopLoss = 25;

datetime BarTime;

//################################################## ###################

int init()

{

//----

//----

return(0);

}

//################################################## ###################

int start()

{

int cnt, totale, ticket, MinDist, tmp;

doppio Spread;

//################################################## ##########################

se(Bars<100){

Print("barre inferiori a 100");

return(0);

}

//esci se non c'è una nuova barra

if(BarTime == Time[0]) {return(0);}

//nuova barra, aggiorna la barra

BarTime = Time[0];

//################################################## #######################################

//~~~~~~~~~~~~~~~~Cose varie di configurazione~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~

MinDist=MarketInfo(Symbol(),MODE_STOPLEVEL);

Spread=(Ask-Bid);

//################################################## #######################################

doppio SMAP1,SMAP2,MMAP1,MMAP2,LMAP1,LMAP2;

SMAP1=iMA(NULL,0,4,0,MODE_EMA,PRICE_CLOSE,1);

SMAP2=iMA(NULL,0,4,0,MODE_EMA,PRICE_CLOSE,2);

MMAP1=iMA(NULL,0,9,0,0,MODE_EMA,PRICE_CLOSE,1);

MMAP2=iMA(NULL,0,9,0,MODE_EMA,PRICE_CLOSE,2);

LMAP1=iMA(NULL,0,100,0,MODE_EMA,PRICE_CLOSE,1);

LMAP2=iMA(NULL,0,100,0,MODE_EMA,PRICE_CLOSE,2);

//################################################## ######################################

//################## CHIUSURA ORDINE ################################################## #

// Se gli ordini sono in vigore, controlla la chiusura rispetto alle tecniche LONG & SHORT

//Chiudi gli ordini LONG

total=OrdersTotal();

if(total>0)

{

for(cnt=0;cnt<totale;cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderType()==OP_BUY && OrderSymbol()==Symbol())

{

if(SMAP2 > MMAP2 && SMAP1 < MMAP2)

{

OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet) ; // chiude la posizione LONG

}}

//CHIUDERE LE POSIZIONI SHORT:

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderType()==OP_SELL && OrderSymbol()==Symbol()) // controlla il simbolo

{

if(SMAP2 MMAP2)

{

OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet) ; // chiude la posizione SHORT

}}

} // per il ciclo return

} // chiudere il 1° if

//################################################## ############################

//################## ORDINE DI ARRESTO IN TRAILING Regolazione #######################

//TRAILING STOP: LONG

if(0==1) //Si usa per attivare e disattivare il trailing stop

{

total=OrdersTotal();

if(total>0)

{

for(cnt=0;cnt<totale;cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderType()==OP_BUY && OrderSymbol()==Symbol()

&&

Bid-OrderOpenPrice()> (Point*TrailingStop)

&&

OrderStopLoss()<Bid-(Punto*TrailingStop)

)

{OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),1,White);

return(0);}

}}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

//TRAILING STOP: SHORT

total=OrdiniTotali();

if(total>0)

{

for(cnt=0;cnt<totale;cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderType()==OP_SELL && OrderSymbol()==Symbol()

&&

OrderOpenPrice()-Ask > (Point*TrailingStop)

&&

OrderStopLoss() > Ask+(Punto*TrailingStop)

)

{OrderModify(OrderTicket(),OrderOpenPrice(),Ask+(P oint*TrailingStop),OrderTakeProfit(),0,Yellow);

return(0);}

}}

} // staffa finale per interruttore on/off

//################################################## ########################################

//~~~~~~~~~~~ FINE ORDINE Routine di chiusura e modifiche allo Stoploss ~~~~~~~~~~~~~~~~~~~~~~~~~~~

//################################################## ########################################

//~~~~~~~~~~~~START of NEW ORDERS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

//######################### NUOVE POSIZIONI ? ######################################

//Possibilmente aggiungere un timer per fermare entrate multiple nel periodo

// Controllare il margine disponibile

// SOLO UN ORDINE per SIMBOLO

// Loop around orders to check symbol doesn't appear more than once

// Controlla il tempo trascorso dall'ultima entrata per fermare entrate multiple sulla stessa barra

if (0==1) // interruttore per attivare/disattivare il controllo storico

{

total=HistoryTotal();

if(total>0)

{

for(cnt=0;cnt<totale;cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_HISTORY); //Necessita di essere il giorno successivo non come sotto

if(OrderSymbol()==Symbol()&& CurTime()- OrderCloseTime() < (Period() * 60 )

)

{

return(0);

}}}}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

total=OrdersTotal();

if(total>0)

{

for(cnt=0;cnt<totale;cnt++)

{

OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);

if(OrderSymbol()==Symbol()) return(0);

}

}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

if(ContoFreeMargin()<(1000*Lotti))

{Print("Non abbiamo soldi. Margine libero = ", AccountFreeMargin());

return(0);}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

//################################################## #######################################

//REGOLE DI ENTRATA: LONG

se(SMAP2 MMAP2)

{

ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,0, "M axMin Long",16384,0,Orange); //Bid-(Point*(MinDist+2))

se(biglietto>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES )) Print("Ordine BUY aperto : ",OrderOpenPrice());

}

else Print("Errore nell'apertura dell'ordine BUY: ",GetLastError());

return(0);

}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

//REGOLE DI ENTRATA: BREVE //################################

if(SMAP2 > MMAP2 && SMAP1 < MMAP2)

{

ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,0,0," MaxMin Short",16384,0,Red);

if(ticket>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES )) Print("Ordine SELL aperto : ",OrderOpenPrice());

}

else Print("Errore nell'apertura dell'ordine SELL: ",GetLastError());

return(0);

}

//################################################## ##################################

//############ Fine del programma #########################

return(0);

}