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

 
Non riesco a capire come implementarlo nel codice. Hai visto il codice pronto da qualche parte? Sarei a posto se il codice calcolasse una perdita senza perdite in tre direzioni: 1. su tutti gli ordini aperti 2. solo ordini di acquisto 3. solo ordini di vendita
 
belck:
Non riesco a capire come implementare questo nel codice. hai visto il codice pronto da qualche parte? Mi andrebbe bene se il codice calcolasse un breakeven in tre direzioni: 1. per tutti gli ordini aperti 2. solo gli ordini di acquisto 3. solo gli ordini di vendita
https://www.mql5.com/ru/forum/103719
 

Come calcolare il margine (fondi necessari per aprire un ordine con lotto N) con diversi valori di AccountFreeMarginMode


 

Ciao!

Potete consigliare se qualcuno lo sa:

l'EA funziona sia nel tester che sul reale con deviazione di prezzo=2 punti, e al prezzo di mercato, cioè deviazione=0, ci possono essere problemi o no? La comunicazione è buona - la fibra è davvero 60Mbit, se apro solo manualmente - l'esecuzione è di solito 1-2 secondi su reale. Il mio Expert Advisor ha un replay fino a quando un ordine viene aperto con successo. Lo chiedo perché ho fatto trading sulla piattaforma a quattro cifre e voglio provare quella a cinque cifre. L'ho provato su una demo a cinque cifre - l'ordine non si è aperto, il segnale è apparso solo "trying to open an order...", e questo è tutto. Non ci sono cambiamenti o errori nel registro. Cosa consigliate?

Per esperienza personale, quanti punti di deviazione dal prezzo di mercato bisogna impostare quando si apre (chiude) un ordine? È necessario prescrivere qualcosa nell'EA per il trading con cinque cifre decimali? Quando si apre un ordine nel tester, lo SL e il TP preimpostati diminuiranno esattamente di dieci volte - esattamente di una cifra decimale?

P.S. Ho scritto il mio EA per MQL4 da solo.

Sinceramente.

 

Ho fatto qualcosa con il file modificabile <indicator.mq4>, o l'ho spostato da qualche parte o l'ho copiato con un nome diverso, ma dopo la compilazione, nella lista degli indicatori del terminale, il nome è diventato grigio e inattivo.

Tuttavia, l'indicatore è disponibile attraverso il menu laterale nella barra della finestra di sinistra nella "lista ad albero" e viene trascinato sul grafico.

Se vi siete imbattuti in questi casi, per favore consigliate come rimediare alla situazione?

Sinceramente.

 
prorab:

Ho fatto qualcosa con il file modificabile <indicator.mq4>, o l'ho spostato da qualche parte o l'ho copiato con un nome diverso, ma dopo la compilazione, nella lista degli indicatori del terminale, il nome è diventato grigio e inattivo.

Tuttavia, l'indicatore è disponibile attraverso il menu laterale nella barra della finestra di sinistra nella "lista ad albero" e viene trascinato sul grafico.

Se avete incontrato una situazione simile, per favore consigliate come correggerla?


Cliccate con il tasto destro del mouse sul colore grigio del rientro nel terminale, poi cliccate con il tasto sinistro del mouse nel menu "modifica", poi compilate nel meta-editor, poi ricaricate il terminale e godetevi la vita...:-)
 
Roman.:

Cliccate con il tasto destro del mouse sul colore grigio dell'indicatore nel terminale, poi cliccate con il tasto sinistro del mouse nel menu "modifica", poi compilate nel meta-editor, poi ricaricate il terminale e godetevi la vita...:-)
Non aiuterà. Il codice sorgente è perso.
 
Zhunko:
Non lo farà. La fonte è persa.

Ho fatto la stessa procedura con il mio EA oggi - il suo colore è diventato blu nel terminale, era grigio.
 
Roman.:

Ho fatto la stessa procedura con il mio EA oggi - il suo colore è diventato blu nel terminale, era grigio.
Se c'è una fonte, ma è stata cambiata, è possibile. Cioè cambiare il contenuto della fonte. Se la fonte viene persa o rinominata, non verrà trovata.
 

Помогите исправить ошибку в коде советника. Попытался написать советник на основе индикатора Laguerre.mq4. При компиляции выдает ошибку. Место ошибки в коде выделено жирным. Сам индикатор находится в теле советника.

//+------------------------------------------------------------------+
//| Laguerre+.mq4 |
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+

//---- parametri di ingresso
extern int TrailingStop=0;
extern int StopLoss=0;
extern double lots=0.1;
extern double gamma = 0,7;
extern int Price_Type=0;
//---- buffer
doppio Filtro[];
doppio L0[];
doppio L1[];;
doppio L2[];
doppio L3[];

//+------------------------------------------------------------------+
//| funzione di inizializzazione dell'indicatore personalizzato
//+------------------------------------------------------------------+
int init()
{
IndicatorBuffers(5);
//---- indicatori
SetIndexStyle(0, DRAW_LINE);
SetIndexDrawBegin(0, 1);
SetIndexLabel(0, "LaguerreFilter");
SetIndexBuffer(0, Filter);
SetIndexBuffer(1, L0);
SetIndexBuffer(2, L1);
SetIndexBuffer(3, L2);
SetIndexBuffer(4, L3);
//----
string short_name="LaguerreFilter(" + DoubleToStr(gamma, 2) + ")";
IndicatoreNomeCorto(nome_corto);
ritorno(0);
}

//+------------------------------------------------------------------+
//| Funzione di deinizializzazione dell'indicatore Custor
//+------------------------------------------------------------------+
int deinit()
{
ritorno(0);
}

//+------------------------------------------------------------------+
//| funzione di iterazione dell'indicatore personalizzata
//+------------------------------------------------------------------+
int start()
{
limite int;
int counted_bars = IndicatorCounted();
doppio CU, CD;
//---- ultima barra contata sarà ricontata
se (barre contate>0)
barre contate..;
else
counted_bars = 1;
limite = Bars - counted_bars;
//---- calcoli per RSI
per (int i=limite; i>=0; i--)
{
double Price=iMA(NULL,0,1,0,0,Price_Type,i);

L0[i] = (1,0 - gamma)*Prezzo + gamma*L0[i+1];
L1[i] = -gamma*L0[i] + L0[i+1] + gamma*L1[i+1];
L2[i] = -gamma*L1[i] + L1[i+1] + gamma*L2[i+1];
L3[i] = -gamma*L2[i] + L2[i+1] + gamma*L3[i+1];

CU = 0;
CD = 0;
se (L0[i] >= L1[i])
CU = L0[i] - L1[i];
else
CD = L1[i] - L0[i];
se (L1[i] >= L2[i])
CU = CU + L1[i] - L2[i];
else
CD = CD + L2[i] - L1[i];
se (L2[i] >= L3[i])
CU = CU + L2[i] - L3[i];
else
CD = CD + L3[i] - L2[i];

se (CU + CD != 0)
Filtro[i] = (L0[i] + 2 * L1[i] + 2 * L2[i] + L3[i]) / 6.0;
}
ritorno(0);

//+------------------------------------------------------------------+
//| funzione di inizio esperto |
//+------------------------------------------------------------------+
int start()
{
se (Totale ordini()>0)
{
CU = 0;
CD = 0;
{
OrderSelect(SELECT_BY_POS);
se (OrderSymbol()==Symbol())
{
se (OrderType()== OP_BUY)
{
se ((L0[i] >= L1[i])CU = L0[i] - L1[i],(L1[i] >= L2[i])CU = CU + L1[i] - L2[i],(L2[i] >= L3[i])
OrderClose(OrderTicket(),OrderLots());
altrimenti CU++;
}
se (OrderType()== OP_SELL)
{
se (CD = L1[i] - L0[i],CD = CD + L2[i] - L1[i],CD = CD + L3[i] - L2[i])
OrderClose(OrderTicket(),OrderLots())
altrimenti CD++;
}
}
}

se (CU > CD && CU == 0)
{
OrderSend(Symbol(),OP_BUY,lots,Ask,0/*(Ask-StopLoss*Point)*/,0,);
}
se (CU < CD && CD ==0)
{
OrderSend(Symbol(),OP_SELL,lots,Bid,0/*(Bid+StopLoss*Point)*/,0,);
}



//----
ritorno(0);
}
//+------------------------------------------------------------------+