Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1126

 

Ciao a tutti, Potete dirmi per favore, voglio mettere uno stop dietro il minimo di una particolare candela, ma non più di un numero predeterminato di pip. come faccio?

Faccio così: prendo 4 candele dal minimo dell'ultima candela chiusa. Se è meno di 200 pip, allora mi fermo al minimo di 15 pip, e se è più, allora mi fermo a 200 pip. Non posso usarlo sul grafico, non so come piazzare gli stop, se sono sotto i 200 pips. Sto imparando la lingua solo di recente. Ho sostituito l'ultima candela con Ask, ancora

if(Close[1]-Low[4]>=NormalizeDouble(StopLoss*Point,5))
   sl = (Close[1] - NormalizeDouble(StopLoss*Point, 5));  //Рассчет стопа для покупок
else
   sl = Low[4]-NormalizeDouble(15*Point,5);
tp = NormalizeDouble(Ask + TakeProfit*Point, 5);  //Рассчет тейка для покупок);
ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, sl, tp, "С1 БАЙ", Magic, 0, clrBlue);
return;
 
Nikolai_korzhok:

Ciao a tutti, Potete dirmi per favore, voglio mettere uno stop dietro il minimo di una particolare candela, ma non più di un numero predeterminato di pip. come faccio?

Faccio così: prendo 4 candele dal minimo dell'ultima candela chiusa. Se è meno di 200 pip, allora mi fermo al minimo di 15 pip, e se è più, allora mi fermo a 200 pip. Non posso usarlo sul grafico, non so come piazzare gli stop, se sono più bassi di 200 pips. Sto imparando la lingua solo di recente. Ho cambiato la clausola dell'ultima candela in Asc, rimane ancora la stessa assurdità. Dove sto facendo un errore?

...

Vorrei chiedervi di inserire il codice corretto:


 
Artyom Trishkin:

Si prega di inserire il codice correttamente:



Fatto, il primo post sul forum è mio) scusate

 
Nikolai_korzhok:

Fatto, il primo post sul forum è mio) scusate

Sarò anche una seccatura (non perché lo sono, ma perché la gente possa leggere comodamente il tuo codice - tu hai bisogno di aiuto, non loro):

c'è uno styler di codice nell'editor. Premi Ctrl+< e il tuo codice diventa leggibile.

Стилизатор - Разработка программ - Справка по MetaEditor
Стилизатор - Разработка программ - Справка по MetaEditor
  • www.metatrader5.com
Стилизатор позволяет быстро привести оформление исходного кода к рекомендуемому стандарту. Это делает код легко читаемым, выглядящем профессионально. Грамотно оформленный код гораздо проще читать и анализировать в последующем как его автору, так и другим пользователям. Чтобы запустить стилизатор, нажмите " Стилизатор" в меню "Сервис" или...
 
Artyom Trishkin:

Dirò anche qualche parola (non perché lo sono, ma perché la gente possa leggere comodamente il tuo codice - tu hai bisogno di aiuto, non loro):

C'è uno styler di codice nell'editor. Premi Ctrl+< e il tuo codice diventa leggibile.

Fatto, spero che vada bene...
 
Artyom Trishkin:

In MQL5, gli array sono passati nella funzione solo per riferimento - è necessario l'appersand. E non è importante dove si trova.

Capisco, grazie. Gli array vengono passati alla funzione in MQL4?

modifica.

Ho pensato e mi sono completamente perso. Dove posso leggere sulla dichiarazione delle variabili e degli array e sui riferimenti ad essi?

La domanda che mi lasciava perplesso era: perché specifichiamo il tipo di variabile/array, se usiamo il riferimento? Quando dichiariamo un array e una variabile, siamo obbligati a farlo, vero?

 
Valeriy Yastremskiy:

Capisco, grazie. Gli array vengono passati nella funzione in MQL4?

double AverageFromArray(constdouble& array[],int size)

L'ho trovato, ma perché è una costante dell'array? Voglio dire che gli array costanti possono essere passati in una funzione in 4?

 
Nikolai_korzhok:

Ciao a tutti, Potete dirmi per favore, voglio mettere uno stop dietro il minimo di una particolare candela, ma non più di un numero predeterminato di pip. come faccio?

Faccio così: prendo 4 candele dal minimo dell'ultima candela chiusa. Se è meno di 200 pip, allora mi fermo al minimo di 15 pip, e se è più, allora mi fermo a 200 pip. Non posso usarlo sul grafico, non so come piazzare gli stop, se sono sotto i 200 pips. Sto imparando la lingua solo di recente. Ho cambiato la clausola dell'ultima candela in Asc.

Ho provato a farlo nello stesso modo (come esempio dal topic di https://www.mql5.com/ru/forum/111497/page1100#comment_3077789), ma funziona. Non posiziona lo stop appena dietro il basso.

if(NormalizeDouble(Ask-Low[4]+200*Point,5)>=0)
   sl = (Close[1] - NormalizeDouble(StopLoss*Point, 5));  //Расчет стопа для Покупок
else
   sl = NormalizeDouble(Low[4]-10*Point,5);
tp = NormalizeDouble(Ask + TakeProfit*Point, 5);  //Расчет тейка для продаж);
ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, sl, tp, "С1 БАЙ", Magic, 0, clrBlue);
return;
[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда.
[ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда.
  • 2011.01.05
  • www.mql5.com
Здрасти, вот зарегился и решил сразу создать тему. Будет думаю правильно, так как у самого куча вопросов...
 

Buona giornata, signori.

Domanda sul trailing stop, qual è il modo giusto per farlo?

Di solito si usa il trailing stop nella funzione, ho sentito da qualche parte che non si deve modificare su ogni tick, altrimenti il broker mi bandisce per richieste troppo frequenti.

Ho guardato come funziona il trailing stop incorporato, ha una sola impostazione e si modifica ad ogni tick (a volte più volte, con il rimprovero del broker).

Ho guardato i tutorial comunemente conosciuti, è un casino:

Qui, se SL è impostato a 0, sarà modificato immediatamente.

Quello che mi è venuto in mente assomiglia a questo:

È corretto?

 
Per favore, qualcuno risponda anche alla mia richiesta: # 11237