[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 104

 
MaxZ:

È un'idea interessante. Non ci arriverei tanto presto! Grazie! :D

A parte il fatto che mi sono caricato un po'. Non c'è modo che uno spread fluttuante possa influenzarlo, vero?


Lo spread fluttuante avrà sempre un effetto.

Ma avrà un effetto sull'apertura di un contatore come avrebbe un effetto sulla sua chiusura pezzo per pezzo. OrderCloseBy() non è influenzato dallo spread.

 
PapaYozh:


Lo spread fluttuante sarà sempre influenzato.

Ma influirà sull'apertura del bancone come sulla chiusura pezzo per pezzo. OrderCloseBy() non è influenzato dallo spread in alcun modo.

Questo è quello che volevo sentire.

C'è qualcosa per cui non tutti i broker permettono di chiudere i controordini con OrderCloseBy()?

 
MaxZ:

Questo è quello che volevo sentire.

C'è qualcosa per cui non tutti i broker permettono di chiudere i controordini con OrderCloseBy()?


In primo luogo, i contrordini devono essere permessi.

E in secondo luogo.

 

Ciao

Ragazzi, come faccio a non far chiudere i trade quando il drawdown totale è del 30% (l'EA smette di funzionare)?

Forse c'è un collegamento?

Grazie in anticipo!

 

Aiuta a trovare un errore!


avatar
10
mamba5 18.08.2011 14:23

Sto scrivendo un EA basato sulla strategia "Black MACD":


Coppia di valute: qualsiasi

Periodo di tempo: 15 e più.

Indicatori: EMA(3) EMA(18), RSI(14), MACD(12,26,9)

Rimuoviamo la linea di segnale dell'indicatore MACD, tutti gli indicatori sono applicati all'indicatore Close price.

Segnale di entrata in acquisto: EMA(3) incrocia EMA(18) dal basso verso l'alto, aspetta che il MACD mostri un lato positivo. Se RSI(14) è sopra il livello 50, allora compra. Lo stop-loss è fissato all'ultimo minimo locale. Esci dal trade invertendo il crossover EMA, o usa il tuo approccio personale.

Segnale di vendita: Situazione inversa: incrocio di EMA(3) EMA(18) verso il basso, aspettare che il MACD sia negativo. Se RSI(14) è inferiore a 50, allora compra. Lo stop-loss è impostato sull'ultimo massimo.


Quando si compila il codice dice che manca una parentesi. Dopo una lunga ricerca mi sembrava di aver trovato dove dovrebbe essere, ma dopo aver risolto l'errore ho avuto altri 20-30 nuovi bug. Per favore, consigliatemi dove l'ho perso. ))) Il codice è nel file allegato.

File allegati:
BlackvMACD.mq4 (5,21 KB) cancellare
 

Caro!

Per favore, datemi la formula in forma matematica per calcolare il concetto "ACCELERAZIONE - fattore di accelerazione" in Parabolica. Non riesco ancora a capirlo nel codice...

 
serg1:

Caro!

Per favore, datemi la formula in forma matematica per calcolare il concetto "ACCELERAZIONE - fattore di accelerazione" in Parabolica. Non riesco ancora a capirlo nel codice...


google
 
PapaYozh:


Prima di tutto le contrattazioni dovrebbero essere permesse.

E in secondo luogo.

Tutto è diventato più o meno chiaro. Grazie per le vostre risposte! :))


smartemiy:

Ciao

Ehi ragazzi, come faccio a non far chiudere i trade se ho un drawdown totale del 30% (l'EA smette di funzionare)?

Forse c'è un collegamento?

Molte grazie in anticipo!

Ciao!

In qualche modo questo non funzionerà per voi?

if (AccountProfit() < -0.3*AccountBalance())
   return(0);
 
Ciao, potresti dirmi se è possibile implementare un algoritmo di trailing stop senza usare OrderModify? Vorrei fissare il profitto minimo non appena l'ordine raggiunge il profitto, cioè ricordare il livello, e poi, se l'ordine è "andato" nella direzione giusta, spostare questo livello dopo di esso.
 
Sto usando questo esempio
//----
 for (i=0; i<OrdersTotal(); i++)
   {
      OrderSelect(i, SELECT_BY_POS );
      if (OrderSymbol() == Symbol()){    //  Alert("i",i,"   ","OrderOpenPrice()",OrderOpenPrice(),"  ","OrderTicket()",OrderTicket());                                                                                                     
      
      
                                           
     if (OrderMagicNumber() == 1000 && OrderType() == OP_BUY  && Bid-OrderOpenPrice() > 30*Point && Bid-OrderStopLoss() > 15*Point)  {
            OrderModify(OrderTicket(), OrderOpenPrice(), Bid-15*Point, OrderTakeProfit(), 0);                                                 Alert("OrderModify-BAY", GetLastError(),"OrderTicket()",OrderTicket(),"Bid-15*Point",Bid-15*Point);                                        }
      if (OrderMagicNumber() == 2000 && OrderType() == OP_SELL && OrderOpenPrice()-Ask > 30*Point && OrderStopLoss()-Ask > 15*Point)  {                                                                    
            OrderModify(OrderTicket(), OrderOpenPrice(), Ask+15*Point, OrderTakeProfit(), 0);  Alert("OrderModify-SELL", GetLastError(),"OrderTicket()",OrderTicket(),"Ask+15*Point",Ask+15*Point);                                       }
                                    }
  }
Lo stop si è spostato dal raggiungimento di 30 pip di profitto (meno Spread, ecc.) a 15 pip di distanza dal prezzo.
OrdineProfitto( )
più di zero, e in generale, secondo le vostre esigenze.