[Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non potrei andare da nessuna parte senza di te - 2. - pagina 95

 
PariaH:

Per favore, ditemi come aprire un nuovo ordine se viene attivato uno Stop Loss o un TP. Preferibilmente un codice! Molte grazie in anticipo!!!

Aprire qualsiasi codice di un EA da https://www.mql5.com/ru/code

o aprire il codice dell'Expert Advisor che viene fornito con MT4, per esempio, Moving Average.mq4.

Lì, se guardate attentamente, vedrete come si fa.

Dopo di che sarete in grado di parlare.

 

Lì, se guardate attentamente, vedrete come si fa.

Dopo di che, si può parlare.

Non è esattamente la risposta che mi aspettavo... Voglio un esempio concreto, non il codice completo del programma...

 
alexhammer:

Ho abbozzato un nuovo EA oggi, lo sto scrivendo per me stesso, ma se viene bene lo condividerò con voi più tardi.

Vorrei la vostra opinione su cos'altro aggiungere. Può riorganizzare stop e takei, spostare la linea sullo schermo, mostrare gli ordini aperti e altre statistiche sui conti. La cosa più importante è aggiungere alcune opzioni per i trailing stop e mostrare visivamente il loro movimento. Quali altre richieste ci saranno?

Sembra bello :).

Almeno, voglio insegnare al mio Expert Advisor a non perdere il deposito.

Una bella EA non è garanzia di una bella vita.

 
PariaH:

Lì, se guardate attentamente, vedrete come si fa.

Dopo di che, si può parlare.

Non è esattamente la risposta che mi aspettavo... Voglio un esempio concreto, non il codice completo del programma...

//+------------------------------------------------------------------+
//| Check for open order conditions                                  |
//+------------------------------------------------------------------+
void CheckForOpen()
  {
   double ma;
   int    res;
//---- go trading only for first tiks of new bar
   if(Volume[0]>1) return;
//---- get Moving Average 
   ma=iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,0);
//---- sell conditions
   if(Open[1]>ma && Close[1]<ma)  
     {
      res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,0,0,"",MAGICMA,0,Red);
      return;
     }
//---- buy conditions
   if(Open[1]<ma && Close[1]>ma)  
     {
      res=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,0,"",MAGICMA,0,Blue);
      return;
     }
//----
  }
Questo fa parte del codice EA fornito con MT4.
 
coronel:

Insegna ad un EA almeno a non perdere un deposito.

Una bella EA non è garanzia di una bella vita.


Non farmi la predica sugli EA! Questo non è un EA di trading se non si capisce. E sullo schermo c'è un conto demo con ordini appositamente aperti per testare le prestazioni di questo EA.
 
alexhammer:

Non farmi la predica sugli EA! Questo non è un Expert Advisor per il trading se non si capisce. E sullo schermo c'è un conto demo con ordini appositamente aperti per testare il lavoro di questo EA.

Per favore, perdonatemi se il mio post suonava predicatorio.

Stavo solo esprimendo il mio punto di vista sull'autotrading.

 
Forza Pace! :) Stavo solo aspettando alcune idee e desideri, non sto cercando di farlo solo per me stesso.
 
alexhammer:
Forza, il mondo! :) Stavo solo aspettando di sentire alcune idee, desideri, non solo per me stesso perché ci sto provando.

Ci sono tonnellate di idee su questo sito, ma non conosco nessuno che si guadagni da vivere come auto-trader.

 
coronel:
Questo fa parte del codice EA fornito con MT4.


SPY... Ma non è ancora questo :) il fatto è che non uso indicatori... Devo solo aprire un nuovo ordine se scatta uno STOP o un PREF! Come può essere implementato in un altro modo...

ecco una parte del codice.... ma non funziona ....

for(int i=1; i<=OrdersTotal(); i++) // ???? ???????? ?????

{

if(OrderSelect(i-1,SELECT_BY_POS)==true)

{

double SL=OrderStopLoss();

double TP=OrderTakeProfit(); // TP ?????????? ???.

double Price =OrderOpenPrice();

{

if(SL >= Price)

{

OrderSend(Symbol(), OP_BUY, lots,Ask, 3, Ask - stop_loss * Point, Bid + take_profit * Point, IDENT, MAGIC, 0, Green);

}

}

Alert(i);

}

}

 
PariaH:


SPS... Ma non è ancora questo :) il fatto è che non uso indicatori... Devo solo aprire un nuovo ordine se scatta STOP o PREF! Come può essere implementato in un altro modo...

ecco una parte del codice.... ma non funziona ....


Ancora lo stesso pezzo di codice, ma senza l'indicatore:

int start()
  {
   int    res;
//---- go trading only for first tiks of new bar
   if(Volume[0]>1) return;
//---- 
   if(OrdersTotal()==0)//если нет открытых ордеров
     { 
      res=OrderSend(Symbol(),OP_SELL,LotsOptimized(),Bid,3,0,0,"",MAGICMA,0,Red);// открыть SELL
 //     res=OrderSend(Symbol(),OP_BUY,LotsOptimized(),Ask,3,0,0,"",MAGICMA,0,Blue); //открыть BUY
     }
//----
 return(0);}