Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 331

 
Sepulca:

Cominciamo con la cosa principale, non è davvero saggio andare oltre gli ordini da zero. È meglio iniziare con l'ultimo

Per non trovarci nella situazione in cui abbiamo chiuso/cancellato l'ordine zero e ci sono altri ordini su di esso. Quando si agisce sull'ultimo ordine del conto, non succede niente di male.

Forse state usando le funzioni di Igor Kim senza guardare.
 

La gente aiuta, per favore....

Non riesco a capire perché questo indicatore funziona bene su H4, ma è in ritardo su altri timeframes...

Ho già reinstallato il terminale, ma non ho ancora capito qual è il problema.

File:
test3v2.mq4  4 kb
 
clubsmi:

La gente aiuta, per favore....

Non riesco a capire perché questo indicatore funziona bene su H4, ma è in ritardo su altri timeframes...

Ho già reinstallato il terminale, ma non ho ancora capito qual è il problema.


Devo contare molte barre, o non ci sono citazioni nella cronologia per tutti i simboli, ecco perché ho dei ritardi; cosa c'entra il terminale? Cercate di limitare la profondità del disegno a 1000 barre, diciamo.
 
evillive:

Devi contare molte barre, o non ci sono quotazioni nella cronologia per tutti i simboli, quindi hai dei ritardi; cosa c'entra il terminale? Cercate di limitare la profondità del disegno a 1000 barre, diciamo.

Grazie mille per il suggerimento. Risolto. grazie ancora!
 
Ciao a tutti! Quando si verifica una certa condizione, l'Expert Advisor apre un trade e lo chiude al Take o Stop Loss di conseguenza. Questo è tutto, l'Expert Advisor non apre più compravendite, nonostante il fatto che le condizioni per aprire compravendite siano soddisfatte. Si prega di consigliare qual è la ragione? Lo apprezzerei molto.
 
alexey1979621:
Ciao a tutti! Quando si verifica una certa condizione, l'Expert Advisor apre un trade e lo chiude al Take o Stop Loss di conseguenza. Questo è tutto, l'Expert Advisor non apre più compravendite, nonostante il fatto che le condizioni per aprire compravendite siano soddisfatte. Si prega di consigliare qual è la ragione? Lo apprezzerei molto.
Se non avete il codice sorgente, andate da un telepate...
 

Ho bisogno di un gufo martin, sulla storia (test) dà 10-15% al mese con una media 15% max drawdown. Max drawdown = 50%, quindi prosciuga metà del depo una volta in un anno o un anno e mezzo, e prima che ogni mese dia il 10-15%.
Il clou del gufo è nel filtraggio del movimento. Il gufo cerca un movimento senza errori, ricalcolando le ultime X barre su M1, e se trova un movimento>50 pip, applica i seguenti filtri:
1) non ci dovrebbe essere nessuna candela M15 con un range di più di 25 pip (le notizie sono uscite)
2) non ci dovrebbe essere un pullback di più del 40% all'impulso corrente (formula - valore del pullback/valore dell'impulso*100% - se più del 40%, cancellare l'ordine)
3) Non c'è stato un flat prolungato, cioè tutte le hai violato in non meno di X numero di candele a M15 (non entrerò nei dettagli qui)
Se tutte le condizioni sono soddisfatte, lo scoop piazza un ordine di acquisto, poi ad una distanza di 20 punti da esso un altro ordine di acquisto con un lotto 2 volte più grande, 20 punti dopo un altro con un lotto 4 volte più grande del primo ordine. E alcuni punti più tecnici
Come risultato otteniamo un gufo che inizia a lavorare solo quando vede un lungo movimento non-stop e nessuna novità, quindi sarebbe molto difficile perdersi.

 
evillive:
Senza il codice sorgente, andate dai telepati...

Fonte

int start()
{
 double SL,TP;
 int slv=MarketInfo(Symbol(),MODE_STOPLEVEL);
 if(Step<=slv || StepOtl<=slv) {Print("Step или StepOtl слишком мал"); return(0);}
 
 CountTrades();   //подсчет ордеров по типам.
 BU();
 
 //если нет рыночных ордеров-----------------------------------------
 if(bs+ss+bsts+ssts+blms+slms==0)                                     
 {
  if (Open[1]>Close[1] && Open[2]<Close[2] && High[1]>High[2] && Low[1]<Low[2])  // продажа
  {
   TP=NormalizeDouble(Bid - TakeProfit * Point, Digits);  
   SL=NormalizeDouble(Bid + StopLoss*Point,Digits);
   if(TakeProfit==0) TP=0;
   if(StopLoss==0) SL=0;                       
   ticket1=OrderSend(Symbol(),OP_SELL,Lots,Bid,Slippage,SL,TP,"Pattern_1",Magic,0,Red);//Сразу с тейк-профитом, магик в настройках
   if(OrderSelect(ticket1,SELECT_BY_TICKET,MODE_TRADES)) price1=OrderOpenPrice();//цена первого ордера
   SL=NormalizeDouble(Bid+StepOtl*Point-StopLoss*Point,Digits);
   if(StopLoss==0) SL=0;
   ticket2=OrderSend(Symbol(),OP_BUYSTOP,Lots,NormalizeDouble(Bid+StepOtl*Point,Digits),0,SL,0,"Pattern_1",Magic,0,Blue);//тикет для BuyStop
   if(OrderSelect(ticket2,SELECT_BY_TICKET,MODE_TRADES)) price2=OrderOpenPrice();//цена второго ордера
  }
  
  if (Open[1]<Close[1] && Open[2]>Close[2] && High[1]>High[2] && Low[1]<Low[2]) // покупка
  {
   TP=NormalizeDouble(Ask + TakeProfit * Point, Digits); 
   if(TakeProfit==0) TP=0;
   SL=NormalizeDouble(Ask-StopLoss*Point,Digits);
   if(StopLoss==0) SL=0;
   ticket1=OrderSend(Symbol(),OP_BUY,Lots,Ask,Slippage,SL,TP,"Pattern_1",Magic,0,Blue);//с тейком, магик в настройках 
   if(OrderSelect(ticket1,SELECT_BY_TICKET,MODE_TRADES)) price1=OrderOpenPrice();//цена первого ордера
   SL=NormalizeDouble(Bid-StepOtl*Point+StopLoss*Point,Digits);
   if(StopLoss==0) SL=0;
   ticket2=OrderSend(Symbol(),OP_SELLSTOP,Lots,NormalizeDouble(Bid-StepOtl*Point,Digits),0,SL,0,"Pattern_1",Magic,0,Red);//тикет для SellStop
   if(OrderSelect(ticket2,SELECT_BY_TICKET,MODE_TRADES)) price2=OrderOpenPrice();//цена второго ордера
  }
 }
 

 return(0);
}
     
 //+------------------------------------------------------------------+
void CountTrades() // количество открытых ордеров
   {
    for(int i=OrdersTotal()-1; i>=0; i--) 
    {
     if (OrderSelect(i, SELECT_BY_POS,MODE_TRADES))
     { 
      if (OrderSymbol()!=Symbol() && OrderMagicNumber()!=Magic) continue;//отделяем свои ордера. Магик задается в настройках
      int typ=OrderType();      //однократный вызов функции ускоряет работу
      switch (typ)
      {
       case 0: bs++;
       case 1: ss++;
       case 2: blms++;
       case 3: slms++;
       case 4: bsts++;
       case 5: ssts++;
       default: break;
      }        
     }
    }
    return;  
   }
 //+------------------------------------------------------------------+
 
Frangatic:

Ho bisogno di un gufo martin, sulla storia (test) dà 10-15% al mese con un drawdown medio di 15% max. Max drawdown = 50%, quindi prosciuga metà del depo una volta in un anno o un anno e mezzo, e prima che ogni mese dia il 10-15%.
Il clou del gufo è nel filtraggio del movimento. Il gufo cerca un movimento senza errori, ricalcolando le ultime X barre su M1, e se trova un movimento>50 pip, applica i seguenti filtri:
1) non ci dovrebbe essere nessuna candela M15 con un range di più di 25 pip (le notizie sono uscite)
2) non ci dovrebbe essere un pullback di più del 40% all'impulso corrente (formula - valore del pullback/valore dell'impulso*100% - se più del 40%, cancellare l'ordine)
3) Non c'è stato un flat prolungato, cioè tutte le hai violato in non meno di X numero di candele a M15 (non entrerò nei dettagli qui)
Se tutte le condizioni sono soddisfatte, lo scoop piazza un ordine di acquisto, poi ad una distanza di 20 punti da esso un altro ordine di acquisto con un lotto 2 volte più grande, 20 punti dopo un altro con un lotto 4 volte più grande del primo ordine. E alcuni punti più tecnici
Come risultato otteniamo un gufo che inizia a lavorare solo quando vede un lungo movimento non-stop e nessuna novità, quindi sarà molto difficile ritirarsi.

Qui è dove si ottiene il lavoro! Lo farà bene, rapidamente e a buon mercato!
 
borilunad:
Questo è il posto giusto per voi ! È buono, è veloce ed è economico!
Beh, questo è un po' esagerato. E se è veloce, è un colpo lungo... E se è economico, vedi punto 1.