[ARCHIVIO]Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Non posso andare da nessuna parte senza di te - 5. - pagina 363

 
Cos'è questo pulsante?
 
Pr0t0tip:

Salve. Ho scritto un semplice EA (sto cercando di impararlo da solo). Il robot apre solo scambi per vendere, ma non vuole comprare. Capisco di non aver scritto correttamente le condizioni di acquisto o di non averle divise correttamente. Sto chiedendo aiuto. Ecco qui:

extern int tp=100;

extern int sl=100;

extern int H=14;

extern int M=00;

doppio ma1, ma2;

int start()

{

ma1=iMA (NULL,0,18,0,MODE_SMA,PRICE_CLOSE,0);

ma2=iMA (NULL,0,36,0,MODE_SMA,PRICE_CLOSE,0);

if (OrdersTotal ()==0 && iStochastic (NULL,0,50,30,3,0,1,MODE_MAIN,4)<iStochastic (NULL,0,50,30,3,0,1,MODE_SIGNAL,4) && ma1<ma2)

OrderSend ("EURUSD", OP_SELL,0.1,Bid,0,Ask+sl*Point,Ask-tp*Point,",123,Red);

if (OrdersTotal ()==0 && iStochastic (NULL,0,50,30,3,0,1,MODE_MAIN,4)>iStochastic (NULL,0,50,30,3,0,1,MODE_SIGNAL,4) && ma1>ma2)

OrderSend ("EURUSD", OP_BUY,0.1,Ask,0,Bid+sl*Point,Bid-tp*Point,",123,Red);

}

ritorno (0);

Bene, guardate - a colpo d'occhio - proprio lì su questa linea:

OrderSend ("EURUSD", OP_BUY,0.1,Ask,0,Bid+sl*Point,Bid-tp*Point,"",123,Red);

Tu, come in Short, aggiungi a Bid+sl per Stop-Loss e sottrai da Bid-tp per Take-Profit. E al contrario, è necessario sottrarre SL da Bid - per uno stop loss, e aggiungere TP a Bid - per un profitto.

OrderSend ("EURUSD", OP_BUY,0.1,Ask,0,Bid-sl*Point,Bid+tp*Point,"",123,Red);

Penso che dovrebbe funzionare. Provate.

E potete vedere come il codice è bello e facile da leggere, quando è inserito usando SRC.

 
Pr0t0tip:
Cos'è questo pulsante?
È dove si scrive il testo nella casella, in alto ci sono dei pulsanti che si usano per fare il testo. Uno di questi è il pulsante SRC. È vicino alla telecamera.
 
Grazie, è andato tutto bene. Solo il consigliere sta versando, ma non è la cosa principale in questa fase.
 
Dimka-novitsek:

Cosa significa ottimizzare? Insieme al robot nel tester, ottimizzare.

Potresti dirmi cosa significa '(' - tipi incompatibili C:\Documents and Settings\User\My Documents\FxClub\TeleTRADE\experts\Constructor.mq4 (68, 39)
relativo return(errorcomment);?

Non capisco bene - era una domanda o una risposta?

Salterò la prima riga perché non è affatto chiara.

E per quanto riguarda il 2° punto (se fosse una domanda) - si giura che il tipo di parentesi è incompatibile. Probabilmente, da qualche parte la parentesi è rotonda invece che quadrata (o riccia).

 

Buon giorno, per favore aiutatemi!

Voglio scrivere una funzione che restituisca il tipo di posizione aperta in base ai prezzi Bid.

Se una certa quantità di prezzi Bid sale costantemente - digita Bcu e viceversa.

Ho provato io stesso, ma restituisce sempre 0.

//+----------------------------------------------------------------------------+ 
//|  Описание : Возвращает тип открываемой позиции.                            |
//+----------------------------------------------------------------------------+
//|  Параметры:                                                                |
//|    sy - наименование инструмента   (""   - любой символ,                   |
//|                                     NULL - текущий символ)                 |
//|                                                                            |
//|                                                                            |
//|  Глобальные переменные:     NAME_OP - тип открываемой позиции              |
//|                             BID[]   - массив цены BID                      |
//+----------------------------------------------------------------------------+
int NamePositions(string sy="") 
{
int Kol_Tikov=6;
ArrayResize(BID,Kol_Tikov);
//--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
   if (sy=="0") sy=Symbol();
   {
   for(int i=Kol_Tikov-1;i>0;i--)
         BID[i]=BID[i-1];
         BID[0]=NormalizeDouble(MarketInfo(sy,MODE_BID),5);
         
         if (BID[3]>BID[2] && BID[2]>BID[1]) NAME_OP=OP_SELL;
         if (BID[3]<BID[2] && BID[2]<BID[1]) NAME_OP=OP_BUY;
   }
   return(NAME_OP);
}
 
NICK_R:

Buon giorno, per favore aiutatemi!

Voglio scrivere una funzione che restituisca il tipo di posizione aperta in base ai prezzi Bid.

Se una certa quantità di prezzi Bid sale costantemente - digita Bcu e viceversa.

Ho provato io stesso, ma restituisce sempre 0.


 

Una volta era così: nel tester, spunti OPTIMIZE e appare una finestra con tutte le tue variabili ESTERNE.

Ora spunto la casella... e non succede niente.

potete dirmi dov'è la finestra dei parametri e del passo?

 
lottamer:

Una volta era così: nel tester, spunti OPTIMIZE e appare una finestra con tutte le tue variabili ESTERNE.

ma ora controllo la casella... e non succede niente.

potete dirmi dov'è la finestra dei parametri e del passo?

Quando sei nel tester, vai alle impostazioni EA - ci sono 4 colonne. La 1a colonna è quella che funzionerà senza ottimizzazione. La 2a colonna sono i parametri iniziali per l'ottimizzazione, la 3a colonna è il passo e la 4a colonna è la fine dell'ottimizzazione.
 
Chiripaha:
Quando sei nel tester, vai alle impostazioni EA - ci sono 4 colonne. La prima colonna è quella che funzionerà senza ottimizzazione. La 2a colonna sono i parametri iniziali per l'ottimizzazione, la 3a colonna è il passo e la 4a colonna è la fine dell'ottimizzazione.


Vedo solo le PROPRIETÀ ESPERTE nel tester. Non vedo le impostazioni di Expert Advisor. Dove sono?

non c'è niente del genere nelle proprietà. costruire 500