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

 
boolker >>:

Помещаю скриптом на график два прямоугольника - красный и синий .

В месте их пересечения - получается зелёный.

Можно-ли сделать синий?

No, usa per esempio... per uno script andrà bene.

void dd()
  {
          for(int g=0; g<=120; g++){
          string name="line_"+MathRand( )+MathRand( ) ;
          ObjectCreate( name, OBJ_TREND, 0, iTime(NULL,0,1),  High[1]+ g*Point, iTime(NULL,0,120), High[1]+ g*Point);              
          ObjectSet( name, OBJPROP_RAY, false);
          ObjectSet( name, OBJPROP_COLOR, Red);
          ObjectSet( name, OBJPROP_STYLE, DRAW_LINE);
          ObjectSet( name, OBJPROP_WIDTH, 5*1);
          ObjectSet( name, OBJPROP_BACK, true);
          }
          for(    g=0; g<=120; g++){
          string name0="line_"+MathRand( )+MathRand( ) ;
          ObjectCreate( name0, OBJ_TREND, 0, iTime(NULL,0,50), High[50]+ g*Point, iTime(NULL,0,80), High[50]+ g*Point);              
          ObjectSet( name0, OBJPROP_RAY, false);
          ObjectSet( name0, OBJPROP_COLOR, Green);
          ObjectSet( name0, OBJPROP_STYLE, DRAW_LINE);
          ObjectSet( name0, OBJPROP_WIDTH, 5*1);
//          ObjectSet(name0, OBJPROP_BACK, true); //Получает/устанавливает флаг фонового отображения объекта
         }
}
 
618034 >>:

Уважаемый Vinin!

Помогите мне со скриптом, который тралит ордера.

В Сode Base нашёл скрипт e-SOTrailing.mq4

Скачал, переложил в папку scripts, открыл на демке ордер stop-вay AUD-USD - 0.9200, задал уровень трала 15.

Вроде всё правильно сделал.

Однако ордер AUD-USD - 0.9200 стоит и не тралится.

Может что ещё надо сделать?




Questo non è uno script, ma un EA nella cartella \experts compile -> sul grafico voilà

Descrizione!!!

 
costy_ >>:

Нет, используйте например... для скрипта сойдет.

Grazie, capisco.

 

Qualcuno può suggerire un codice per la realizzazione di un tale algoritmo?

il commercio si apre sul mercato

se dopo X barre TP o SL non scatta -> chiudere a mercato

 
chief2000 >>:

Знает ли кто-нибудь почему не рисуются вертикальные линии?

Спасибо!



Controlla l'algoritmo passo dopo passo.

    if(Time[ i]> Time_Extreme_Sell) {
      int shift_Sell = iBarShift(NULL, 0, Time_Extreme_Sell);

      if( shift_Sell<10   &&   shift_Sell!=0) {

Sto controllando attraverso l'alt nessun suono, il disegno è corretto.

È come se

High[ i+2]>High[ i+1]   &&   High[ i+2]>=High[ i+3]

non significa ancora nulla, posso avere l'intero codice?

 

Tester non riesce a vedere la storia? Cosa fare?

Il mio tester non può vedere la storia scaricata, il grafico stesso mostra tutto per molti anni indietro (tutto è controllato nelle opzioni). Sto parlando di M1. Se guardo per esempio 1000 barre indietro su M1 nel tester (quando inizio a testare un Expert Advisor), è vuoto. Il terminale è Alpari Demo.

Conosco un modo perverso, mettere la data del test molto prima, e nell'Expert Advisor eseguire il test dalla data desiderata. Cosa sto facendo di sbagliato?

 
sak120 >>:

Тестер не видит истории? Что делать?

У меня тестер не видит закачанной истории, на самом графике всё видно на много лет назад (в опциях все проставлено). Речь идет об M1. Если посмотреть, например, на 1000 баров назад на M1 в тестере (когда запускаю тестирование эксперта), то пусто. Терминал - Альпари-Демо.

Знаю извращенной способ, поставить дату тестирования намного раньше, а в самом эксперте производить тестирование с нужной даты.


Immagino che non funzioni sulla M1.

 
costy_ >>:

Проверь алгоритм

я проверяю через алерт no sound, прорисовка правильная.

Вроде если

еще ничего не значит а можно весь код?


Non capisco la frase "non significa ancora niente" <-cosa esattamente? Questo è praticamente tutto il codice, solo le variabili mancanti

deve essere aggiunto prima di Init(). Vedo che le linee saranno aggiunte (e solo alla fine), se per l'ultima candela shift_Sell sarà inferiore a 10 ,

ma non ci saranno linee prima di questo (la condizione

if(High[ i+2]>High[ i+1]   &&   High[ i+2]>=High[ i+3]) {

si compie molte volte).





 
chief2000 >>:


Я не понял фразу "еще ничего не значит" <- что именно? Это практически весь код, только недостающие переменные

надо добавить перед Init(). Я вижу что линии будут добавляться (и лишь в самом конце), если для последней свечки shift_Sell будет меньше 10,

но нигде до этого их не будет (а ведь условие

соблюдается множество раз).





Voglio dire di capire l'idea del codice, sì è osservato molte volte ma poi ...

Forse.

iHighest(NULL, 0, MODE_HIGH,  20, i+3)

20 non bastano, non cercare un indizio e capirai tutto da solo, non sei un principiante))

Non è un bug, questo è sicuro.

 
costy_ >>:

Я всмысле понять идею кода, да соблюдается множество раз но далее ...

L'idea è semplice: ogni volta che una condizione è soddisfatta

if(High[ i+2]>High[ i+1]   &&   High[ i+2]>=High[ i+3]) {

il tempo per High[i+2] viene salvato nella variabile Time_Extreme_Sell .

Quindi, in ogni caso, le linee verticali dovrebbero essere disegnate ad una distanza di 10 candele dopo la candela con il tempo Time_Extreme_Sell.

Ma vedo che queste linee sono disegnate solo alla fine, per Time[0] e solo se la distanza tra Time[0] e Time_Extreme_Sell è inferiore a 10 candele.

Motivazione: