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

 
Ihor Herasko:

È una domanda molto strana. È come chiedere: "Come si fa a girare su uno sgabello con una lima?

Vogliamo fare i furbi o ho una risposta completa, posso riprodurre anche una mamma!?

Cosa c'è di strano nella domanda come cambiare la variabile indicatore con uno script?

Se non puoi spiegare come fare, dillo e basta!

 
Игорь:

Vogliamo fare i furbi o devo rispondere pienamente, posso anche moltiplicare mumu!?

Cosa c'è di strano nella domanda su come si può cambiare la variabile indicatore con uno script!

Se non puoi spiegare come fare, dillo e basta!

Avete delle impostazioni nel vostro indicatore. Perché avete bisogno di cambiare queste impostazioni con un lavaggio?

È più chiaro quello che intendeva Igor?

 
Игорь:

Cosa c'è di strano nella domanda su come si può cambiare una variabile indicatore con uno script?

È proprio questo che è strano. Per capire cosa c'è di strano, ho tradotto il tutto in un'analogia.

La sceneggiatura è un programma. L'indicatore è un altro programma. La variabile dell'indicatore è una cella di memoria. Di conseguenza, è necessario falsificare una cella di memoria (fisicamente) e sostituirla con un'altra. Questa formulazione della domanda lascia naturalmente perplessi.

Alla fine, invece di spiegare più dettagliatamente ciò di cui hai bisogno, ti fai carico di una discussione.

 
Игорь:

Per favore, consigliatemi!

Come posso usare lo script per cambiare le impostazioni (una variabile specifica) dell'indicatore sul grafico!

Se questo è possibile un pezzo di codice sarebbe auspicabile!

Non c'è un'API standard per questo, ma se proprio volete, potete farlo :-)

L'algoritmo è qualcosa del genere:

- scorrere tutti gli indicatori del grafico (comprese le sottofinestre) per raccogliere il massimo delle informazioni sull'indicatore cambiato (nome/numero di serie)

- salvare il modello del grafico

- espandere il modello per trovare l'indicatore desiderato

- Cambiare il valore desiderato

- ChartApplyTemplate

- (non dimenticate che tutti gli indicatori e gli EA saranno ricaricati, e forse anche i vostri, e probabilmente dovrete copiare i file attraverso WinAPI)

in generale, è un vero casino :-)

 
Игорь: Per favore, consigliatemi!
Come posso usare lo script per cambiare le impostazioni (una variabile specifica) dell'indicatore sul grafico!
Se questo è possibile un pezzo di codice sarebbe auspicabile!!!

È molto semplice, lo faccio spesso. La comodità è che allo script può essere assegnata una chiave. Per esempio, Ctrl-z per rimuovere le linee, Alt-z per mostrare le linee. Vedere le funzioni GlobalVariableSet() e GlobalVariableGet() allegate. Ho preso l'idea da un'altra risorsa (corretta dal moderatore Artyom Trishkin).

File:
xDEL.mq4  1 kb
 
STARIJ:

È molto semplice, lo faccio sempre. La comodità è che si può assegnare una chiave allo script. Per esempio, Ctrl-z per rimuovere le linee, Alt-z per mostrare le linee. Vedere le funzioni GlobalVariableSet() e GlobalVariableGet() allegate. Ho preso l'idea da un'altra risorsa (corretta dal moderatore Artyom Trishkin).

Mentre cancellavo il tuo link ad un'altra risorsa, per qualche motivo il file stesso è scomparso.

Puoi per favore allegarlo di nuovo?

 
Artyom Trishkin: Mentre cancellavo il tuo link ad un'altra risorsa, il file stesso è scomparso per qualche motivo.

È vietato collegare altre risorse? Ho visto molti link del genere... O c'è un qualche criterio?

 
Artyom Trishkin:

Mentre cancellavo il tuo link ad un'altra risorsa, per qualche motivo il file stesso è scomparso.

Si prega di allegare di nuovo.

Di solito cancellano i materiali quando hanno paura e si sentono inferiori, hanno dei concorrenti che non possono essere superati.

Ma questo forum è al di là della competizione e non c'è motivo di avere paura di qualcosa.

 
Ihor Herasko:

Per cominciare, non sappiamo se un ordine è stato aperto - non ci sono controlli su questo. Quindi non ha senso controllare se è stato raggiunto uno Stop Loss o un Take Profit su un ordine che non è stato aperto.


Ho provato, ma non funziona, devo aver fatto qualcosa di sbagliato (

              {
                    //Цена открытия ордера
                    price=High[1]+OrderPoint*Point;
                    //Стоп лосс
                    stoploss=Low[1]-Point;
                    //Тэйк профит
                    takeprofit=price+price-stoploss;
                    //Установка отложенного ордера (с присвоением magic номера 100, чтобы потом можно было их выбрать и удалить)
                    OrderSend(Symbol(),OP_BUYSTOP,1,price,3,stoploss,takeprofit,"PinBar Buy 1H",100,0,clrGreen);
                        //Проверяет открылись ли (0 - не открылись вроде) и сколько штук открыто (в данном случае не открылись), чтобы потом выбрать (уточнить) 
                        for (int i=0; i<OrdersTotal(); i++)
                        {
                        //Выбираем все неоткрытые отложенные ордера?
                        OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
                           //Если для выбранных ордеров с magic номером 100 текущая цена ушла ниже параметра стоплосса для этого отложенного ордера, то удаляем)
                           if ((OrderMagicNumber()==100)&&(Low[0]<stoploss)) 
                           {
                           OrderDelete(100);
                           }
                        }   
                 }
 
Ihor Herasko:

È proprio questo che è strano. Per capire cosa c'è di strano, ho tradotto il tutto in un'analogia.

Una sceneggiatura è un programma. Un indicatore è un altro programma. La variabile dell'indicatore è una cella di memoria. Di conseguenza, è necessario falsificare una cella di memoria (fisicamente) e sostituirla con un'altra. Questa formulazione della domanda lascia naturalmente perplessi.

Alla fine, invece di spiegare più dettagliatamente ciò di cui hai bisogno, ti fai carico di una discussione.

Grazie e questo è tutto

Motivazione: