AutoGraf Serie 4 - Caratteristiche MQL. - pagina 32

 
Integer писал(а) >>
Quale script?

L'ho trovato e ho dato un'occhiata. Tutti qui devono agire secondo il principio "non stare sotto la freccia", la fiducia in se stessi dell'autore ti fa saltare via, non c'è modo di andarci.

 
ForexTools >> :
Ho cancellato tutti i miei post non legati alla discussione su AG. Invito gli altri "free rider" a fare lo stesso - rispettiamo il lavoro degli altri: non è pulito dove (i moderatori) puliscono, ma dove (gli utenti) non sporcano ;)

Grazie a sabluk per aver capito e sostenuto la mia "iniziativa". Forse altri seguiranno il nostro esempio?

 

È stata rilasciata la nuova versione di AG serie 4 - AutoGraf 4.90207.

Sono stati fatti dei cambiamenti:
1. Aggiunta l'opzione per silenziare i ticchettii.
2. corretto l'errore di gestione degli strumenti 17 e 20 (quando la modalità AG o AT era disabilitata, quando il prezzo di mercato dello strumento raggiungeva lo strike price, lo strumento non veniva cancellato; ora viene cancellato automaticamente).
Scarica la nuova versione qui http://autograf.dp.ua/Pages/4/421.htm.

 

AutoGraf 4 ha resistito decentemente all'innovazione del 5° segno.(http://forum.alpari-idc.ru/thread44876.html)


Funziona semplicemente come prima. Non sono necessarie modifiche (è perché è scritto correttamente - il programma non usa valori variabili, definiti numericamente - tutto è costruito su variabili, aggiornate quando cambiano sul server, in particolare, Point, Digits, StopLevel ecc.) )

I cambiamenti naturali che devono essere fatti nelle impostazioni di Expert Advisor riguardano i valori preimpostati dei parametri di prezzo. Per esempio, SL (StopLoss in pip) = 25, ora deve essere impostato a 250 o qualsiasi valore a discrezione dell'utente, ma non meno di 100 (cioè, non meno del valore corrente di StopLevel). Procedete allo stesso modo con gli altri parametri.

Dopo l'impostazione dei parametri (nella finestra delle impostazioni dell'esperto) si raccomanda di salvare (lì) le impostazioni. Inoltre, si raccomanda di creare un nuovo modello: pulsante Templates - Save as.

===

Una volta quelli del cinema hanno filmato una vecchia casa che veniva fatta saltare in aria.
Hanno messo gli esplosivi... Boom! La casa è in piedi. Ne hanno piantati altri. Boom! Il piano terra crolla. Tutta la parte superiore (4 piani) non è crollata, la casa si è solo abbassata di 1 piano. Alla fine è riuscito a saltare in aria al 5° tentativo.

L'impresa di costruzioni ha comprato il filmato per un sacco di soldi e ha pubblicizzato la loro qualità di lavoro mostrando il film:)

 

Signore e signori!

Per favore, rispondete alla domanda.

Come fa l'applicazione a distinguere che la funzione AT sta dando istruzioni (per esempio riferendosi al terminale) ad essa e non sta commerciando se stessa?

Исполнение функции АТ связано с двумя основными возможностями.

La prima è che la funzione AT può fare trading da sola - forma ordini di trading e li invia al server. In questo caso la funzione non può elaborare i dati ricevuti dall'applicazione (o gestirne alcuni), ma può eseguire i propri calcoli utilizzando tutte le caratteristiche del linguaggio MQL4, compreso l'indirizzamento al terminale per elaborare gli ordini, ottenere le quotazioni attuali, calcolare i criteri di trading, gestire oggetti grafici, ecc.

La seconda caratteristica è direttamente collegata all'applicazione AutoGraf 4. Questa funzione può istruire l'applicazione AutoGraf 4 a installare qualsiasi strumento necessario con impostazioni preimpostate su ordini specifici o su un grafico dei prezzi, cambiare le impostazioni generali dell'applicazione, eliminare gli strumenti, visualizzare messaggi all'utente, ecc. (parametri di uscita).

 

Signore e signori!

Per favore, rispondi a una domanda.

Nell'esempio precedente della funzione Custom Auto Trade in "Esempio 2. Apertura e chiusura degli ordini a mercato". gli ordini a mercato vengono aperti, ma credo che gli ordini in sospeso vengano chiusi.

//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж
// AG_AT.mq4                                             Пример 0 (инструментов нет)
// Пользовательская функция Автоматической Торговли.
// Используется при построении функции автоматической торговли для приложения AutoGraf 4
// Сергей Ковалёв, Днепропетровск, sk@autograf.dp.ua, ICQ 64015987, http://autograf.dp.ua
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж 0 жж
#property library   
 
#import "AG_Lib.ex4"
   int AG_Magic_Number();                          // Вычисление MN 
   int AG_Message(string& Message[], string _Text);// Запись сообщений в массив Message[]
#import "AG_Trade_Criterion.ex4"
   int AG_Trade_Criterion_1();                     // Ф-ия определен. торгов. критериев 1
   int AG_Trade_Criterion_2();                     // Ф-ия определен. торгов. критериев 2
#import
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж 1 жж
.......
//================================================================================== 7 ==
/*
                                       // Cнять блок комментариев с Примера 2
                                       // и закомментировать Пример 1
                                       // Пример 2. Открытие и закрытие рыночных ордеров.
   int Crit = AG_Trade_Criterion_2();  // Вызов функции вычисления торговых критериев
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
   if (OrdersTotal()==0)               // Если нет ордеров, то интересуемся ..
      {                                // .. критериями открытия
      switch(Crit)                     // В этом блоке рассматриваются критерии открытия
         { 
         case 10:                      // Торговый критерий = Открыть_Buy
            MN = AG_Magic_Number();    // Вычисление MagicNumber (рекомендуется)
                                       // Открытие ордера Buy:
            OrderSend(Symbol(),OP_BUY, 0.1,Ask,2,Bid-100*Point,Bid+40*Point,Comm,MN); 
            break;
         case 20:                      // Торговый критерий = Открыть_Sell
            MN = AG_Magic_Number();    // Вычисление MagicNumber (рекомендуется)
                                       // Открытие ордера Sell:
            OrderSend(Symbol(),OP_SELL,0.1,Bid,2,Ask+100*Point,Ask-40*Point,Comm,MN);
         }
      }
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
   if (OrdersTotal()==1)               // По стратегии возможен только 1 рыночный ордер
      {
      switch(Crit)                     // В этом блоке рассматриваются критерии закрытия
         {
         case 11:                      // Торговый критерий = Закрыть_Buy
            if (NormalizeDouble(Order[1][6],0) == 0.0)            // Если тип ордера Buy
               {                                      
               int _Ord_Ticket = NormalizeDouble(Order[1][4],0);  // Номер ордера
               double _Ord_Lots = NormalizeDouble(Order[1][5],2); // Полное закрытие
               OrderClose(_Ord_Ticket, _Ord_Lots, Bid, 2);        // Закрыть ордер Buy
               }
            break;
         case 21:                      // Торговый критерий = Закрыть_Sell
            if (NormalizeDouble(Order[1][6],0) == 1.0)      // Если тип ордера Sell
               {
               _Ord_Ticket = NormalizeDouble(Order[1][4],0);// Номер ордера
               _Ord_Lots = NormalizeDouble(Order[1][5],2);  // Будем закр.ордер полностью
               OrderClose(_Ord_Ticket, _Ord_Lots, Ask, 2);  // Закрыть ордер Sell
               }
         }
      }
*/
//================================================================================== 8 ==
   return(1);
   }
//жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж Конец модуля жжжжжжжжжжжжжжжжжжжжжжжжжжжжжжж 10 жж
if (NormalizeDouble(Order[1][6],0) == 0.0)            // Если тип ордера Buy
и
if (NormalizeDouble(Order[1][6],0) == 1.0)            // Если тип ордера Sell 

O forse sto fraintendendo qualcosa?

Общее количество ордеров в приложении AutoGraf 4 не должно превышать 30. Нумерация ордеров в приложении AutoGraf 4 начинается с 1. Нулевой индекс в первом измерении массива Order[][] для учёта параметров ордеров не используется. Поэтому массив Order[][] в первом измерении имеет размерность 31. Каждая строка в массиве соответствует одному ордеру и содержит значения следующих параметров ордеров:

[0][0] - numero totale di ordini;

[][0] - non utilizzato;

[1][1] - OpenPrice - prezzo di apertura (impostazione) di un ordine (valore assoluto del prezzo);

[][2] - StopLoss dell'ordine (valore assoluto del prezzo);

[][3] - Ordine TakeProfit (valore assoluto del prezzo);

[][4] - NumeroOrdini numero dell'ordine;

[][5] - Numero di lotti dell'ordine;

[][6] - Tipo di ordine (0=B, 1=S, 2=BL, 3=SL, 4=BS, 5=SS,Trades);

[][7] - MagicNumber - Il numero magico dell'ordine;

[][8] - 0/1 commento fatto;

[][9] - PrOld- prezzo iniziale di apertura dell'ordine (valore assoluto del prezzo).


Dal manuale:

Tipo di operazione per la funzione OrderSend(). Può essere uno qualsiasi dei seguenti valori:

Costante Valore Descrizione
OP_BUY0Compra
OP_VENDITA1Vendere
OP_BUYLIMIT2Ordine pendente BUY LIMIT
OP_SELLLIMIT3Ordine SELL LIMIT in sospeso
OP_BUYSTOP4Ordine BUY STOP in sospeso
OP_SELLSTOP5Ordine SELL STOP in sospeso

Cioè dovrebbe essere:

if (NormalizeDouble(Order[1][0],0) == 0.0)            // Если тип ордера Buy
и
if (NormalizeDouble(Order[1][1],0) == 1.0)            // Если тип ордера Sell 
 

Signore e signori!

Per favore, rispondete alla mia domanda.

Perché nelle proprietà dell'EA il mio nome di strategia "L_1" non viene ricordato?


Durante l'installazione di AG_exp. l'ho scritto, viene visualizzato nella linea, ma non viene ricordato nelle proprietà?

 

Signore e signori!

Per favore, rispondi a una domanda.

Quando si termina un'applicazione o dopo averla disinstallata, come eliminare gli oggetti grafici non supportati dall'applicazione. Per esempio come OBJ_ARROW?

 
LeonidSB писал(а) >>

Cioè, dovrebbe essere:

if (NormalizeDouble(Order[1][0],0) == 0.0)            // Если тип ордера Buy
и
if (NormalizeDouble(Order[1][1],0) == 1.0)            // Если тип ордера Sell 

No, non è giusto. Guardate di nuovo la tabella (esempio di ordine) su http://autograf.dp.ua/Pages/2/26/267/2674.htm

Questa pagina descrive anche come gli indici dell'array corrispondono ai parametri contenuti nell'array. Notate che stiamo parlando qui di un indice nella seconda dimensione dell'array Order[][].

[0][0] - numero totale di ordini;

[][0] - non utilizzato;

[][1] - OpenPrice - prezzo al quale l'ordine viene aperto (impostato) (valore assoluto del prezzo);

[][2] - StopLoss dell'ordine (valore assoluto del prezzo);

[][3] - Ordine TakeProfit (valore assoluto del prezzo);

[][4] - NumeroOrdini numero dell'ordine;

[][5] - Numero di lotti dell'ordine;

[][6] - Tipo di ordine (0=B, 1=S, 2=BL, 3=SL, 4=BS, 5=SS, Trades);

[][7] - MagicNumber - Il numero magico dell'ordine;

[][8] - 0/1 commento fatto;

[][9] - PrOld- prezzo iniziale di apertura dell'ordine (valore assoluto del prezzo).

---------------

Il parametro "Tipo di ordine" corrisponde al sesto indice nella seconda dimensione dell'array Order[][].

if (NormalizeDouble(Order[1][6],0) == 0.0)            // Если тип ордера Buy
и
if (NormalizeDouble(Order[1][6],0) == 1.0)            // Если тип ордера Sell 
 
LeonidSB писал(а) >>

Signore e signori!

Per favore, rispondete alla mia domanda.

Perché nelle proprietà dell'EA il mio nome di strategia "L_1" non viene ricordato?

Quando imposto AG_exp. l'ho scritto, viene visualizzato nella riga, ma non viene ricordato nelle proprietà?

Se lo state facendo correttamente, dovrebbe essere ricordato.

E sarà ricordato fino a quando non scaricherete l'Expert Advisor dalla finestra.

Puoi fare una delle due cose, se non vuoi rientrare la prossima volta:

1. Salvate l'Expert Advisor che avete impostato nei modelli. Inizia un nuovo caricamento da un nuovo modello.

2. Salva le impostazioni di Expert Advisor (pulsante Save nella finestra Preferences) e carica le impostazioni quando carichi Expert Advisor la volta successiva (pulsante Load nella finestra Preferences).

Potete trovare l'ordine di attacco delle strategie qui: http://autograf.dp.ua/Pages/2/26/267/26711/26711_2.htm.

LeonidSB ha scritto :>>.

Caro!

Per favore, rispondete alla domanda.

Quando si termina un'applicazione o dopo averla disinstallata, come eliminare gli oggetti grafici non supportati dall'applicazione. Come OBJ_ARROW?

Seleziona l'oggetto e cancellalo (premi Delete).
Se programmaticamente, potete usare ObjectsDelete() o ObjectsDeleteAll().