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

 
splxgf >>:

Michey25


когда я отвечал код был несколько другим;)

хотя есть некоторые вопросы, результат опен(0) сильно зависит от текущего тайфрейма. непонятно откуда берутся cn и какого они типа.

Сделать Alert(Open[0],cn1,Open[0]<cn1,a,(a-cn1)<0.0008) религия не позволяет?

До кучи вместо i=1 лучше юзать break, это сделает выход из цикла сразу, а не будет прогонять все команды до конца.

int i=0;
   double a, b;
   while ( i==0)
   {
     a=MarketInfo("USDCAD", MODE_ASK);
     b=MarketInfo("USDCAD", MODE_BID); 
     if((Open[0]< cn1)&&(( a- cn1)<0.0008))
      {
       OrderSend("USDCAD",OP_BUY,1, a,1, SL, cn2);
       i=1;
       }
     if((Open[0]> cn11)&&(( cn11- b)<0.0008))
      {
       OrderSend("USDCAD",OP_SELL,1, b,1, SL1, cn21);
       i=1;
      }  
   }

cn, sl, cn2... Sono tutti doppi e sono parametri di input, e li inserisco quando attacco l'EA al grafico. Cosa c'entra Alert?

 
Rita >>:

В чем тут может быть причина, пож. подскажите ?

for(k = 0; k < iBars( Symbol_1,Period()); k++)

Esegue un ciclo su tutte le barre e poi ha un altro ciclo incorporato dove nella prima chiamata vengono considerate tutte le barre perché il valore limite è di nuovo uguale al numero di barre nella finestra. Complessivamente otteniamo il ciclo per il numero di barre al quadrato, che è un po' ridondante per un compito così semplice
 
Michey25 >>:

cn, sl, cn2... все типа double и являются входными параметрами, я их ввожу когда прикрепляю советник к графику. И причем здесь Alert?


È possibile visualizzare i valori delle variabili e i risultati di una condizione con un avviso, aggiungere un if prima di ciascuno e vedere il risultato. Questo è un metodo comune per il debug dei programmi, in modo da non dover torturare il cervello con congetture e ricerche.

 

Grazie. Quindi all'inizio della funzione start() devo fare qualche gestore di condizioni, che definisce la chiamata di funzioni che restituiscono il controllo al terminale e poi, quando viene ricevuto un nuovo tick, questo gestore funziona di nuovo? Bene... Dovrò rielaborare completamente la logica del programma...


Quindi il test fallisce perché il tester si blocca in attesa di un nuovo tick? Funzionerà in tempo reale? Ehm... È importante poterlo testare sulla storia, dopo tutto. Ci penserò. Grazie.

 
Jahspear >>:

Спасибо. То есть надо сделать в начале функции start() некий диспетчер условий, которые определяют вызов соответствующих ситуации функций, каждая из которые возвращают управление терминалу и дальше по получению нового тика этот диспетчер снова отрабатывает? Мдаа... придется полностью переделывать логику программы...


То есть тест не проходит, потому что тестер зависает в ожидании нового тика? А в реалтайме работать будет? Гм... все-таки возможностьоттестировать на истории это важно. Буду думать. Спасибо.

Dovrebbe funzionare in tempo reale, l'Expert Advisor viene eseguito in un thread separato e può pensare quanto vuole, e RefreshRates permette di accedere alle quotazioni attuali.

 
ntmmm >>:

Добрый день!

Подскажите пожалуйчта, как написать простой индикатор, который бы выделял определенный бар (должно задаваться в опциях), например в 12.30 вертикальной линией и подписать дни недели на графике (скажем где-то над хаем каждого дня)?

Спасибо!

prendere https://www.mql5.com/ru/articles/1382 e archiviarlo

 
splxgf >>:

В реалтайме работать должно, эксперт выполняется отдельным потоком и может думать сколько ему взблагорассудится, а RefreshRates позволяет получать доступ к актуальным котировкам.

Grazie. Attualmente sto rielaborando la logica del programma in modo che non abbia cicli. C'è un'altra domanda che non è del tutto chiara.

Sleep(100);


È quanto tempo in secondi?

E può essere usato ovunque, non solo nei loop?

In modo che quando una condizione è soddisfatta, non si reagisce immediatamente, ma si aspetta un tempo stabilito e si controlla di nuovo, e poi si esegue.

E non impiccherà il tester?

 

ntmmm писал(а) >>

...Potresti per favore dirmi come scrivere un semplice indicatore che evidenzi una certa barra (dovrebbe essere impostato nelle opzioni), per esempio alle 12.30 con una linea verticale e segni i giorni della settimana sul grafico (diciamo da qualche parte sopra ogni hai del giorno)?

Set di indicatori iTime

 
Jahspear >>:

Это сколько по времени в секундах?

И может ли использоваться не только в циклах, а в любом месте?

Чтобы при выполнении условия не сразу реагировать, а подождать заданное время и снова проверить, а потом уже выполнять.

И не повесит ли это тестер?

1. 0,1 (zero virgola un decimo)

2. potrebbe essere ovunque

3. non si appende da solo, ma se ci si mette d'impegno... :)

 
alsu >>:

Grazie!

Motivazione: