Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1340

 
@Vitaly Muzichenko@Iurii Tokman Vielen Dank, Leute, es hat alles funktioniert! Ich wüsste nicht, was ich ohne dich tun würde. Viel Glück im neuen Jahr.
Vitaly Muzichenko
Vitaly Muzichenko
  • www.mql5.com
Профиль трейдера
 

Guten Tag an alle. Ich habe einen EA, der signalisiert, wenn die Trendlinie und die horizontale Linie eine bestimmte Farbe kreuzen. Ich habe beschlossen, es so umzugestalten, dass es signalisiert, wenn die Trendlinie und die horizontale Linie einen bestimmten Stil kreuzen. Es hat funktioniert. Aber ich brauche es, um zu signalisieren, wenn eine Trendlinie nur den Balken nach rechts kreuzt. Ich verstehe, dass ich Folgendes hinzufügen muss

OBJPROP_RAY_RIGHT

aber ich weiß nicht, wo und wie. Vielen Dank im Voraus.
Dateien:
 

Hallo zusammen J. Ich säge weiter an der Gralsmaschine. Und stieß auf eine so unangenehme Sache wie den Fehler 130 beim Einstellen schwebender Aufträge. Interessant ist jedoch, dass bei der Eröffnung mit Marktaufträgen alles in Ordnung ist. Es werden keine falschen Haltestellen angezeigt.

Ich möchte erwähnen, dass es zwei Möglichkeiten gibt, den Stopp zu berechnen. Sie können entweder eine feste Haltestelle in Punkten oder atp verwenden.

Wenn wir einen festen Stop oder atp setzen, erhalten wir den Fehler 130, wenn wir eine schwebende Sell Stop Order öffnen, aber schwebende Buy Stop scheint normal zu öffnen, obwohl ich nicht 100% sicher bin. Obwohl ich es überprüfe und sehe, dass die ausstehenden Kauf-Stopp-Aufträge ebenfalls mit dem Fehler 130 geöffnet werden. Ich erhalte den Stop-Loss-Wert auf diese Weise


extern double atr_sl_period= 14; // ПЕРИОД АТR СТОП ЛОССА

extern   ENUM_TIMEFRAMES   PeriodForWork_sl        =  PERIOD_H4;           // ТФ SL  ПО АТР

void OnTick()
  {
double sl; // стоп лосс ордеров
if(tip_sl==en_po_atr)
     { //ЕСЛИ ТИП СТОП ЛОССА СТОИТ ПО АТР ТО ВЫСЧИТЫВАЕМ ЕГО ИЗ АТР
     //Print("СТОП ПО АТР, ЕГО РАЗМЕР ");
     sl= iATR( NULL,PeriodForWork_sl,atr_sl_period,1);// ПОЛУЧЕНИЕ ЗНАЧЕНИЙ АТР ДЛЯ ВЫСТАВЛЕНИЯ СТОПЛОССА
      //Print("СТОП ПО АТР, ЕГО РАЗМЕР "+sl);
     }
     else //ИНАЧЕ- ТО ЕСТЬ ЕСЛИ СТОП ЛОСС ФИКСИРОВАННЫЙ В ПУНКТАХ
     {
     //Print("СТОП ЛОС ФИКСИРОВАННЫЙ В ПУНКТАХ");
     sl= razmer_fikc_sl*Point; // ПЕЕРМЕННОЙ СТОП ЛОССА ПРИСВАЕВАЕМ ФИКСИРОВАНОНЕ ЗНАЧЕНИЕ ПУНКТОВ И ДОМНОЖАЕМ НА ПОИНТ
     }


   
  }

Bei der Eröffnung mit Marktaufträgen ist alles normal. Ich eröffne schwebende Aufträge wie folgt

OrderSend(Symbol(),OP_SELLSTOP,lot,min_Price,slippages,min_Price+sl , min_Price-tp ,comment_ao_otloj_sell); // ОТКРКЫВВАЕМ ОТЛОЖЕННЫЙ СЕЛ ОРДЕР

OrderSend(Symbol(),OP_BUYSTOP,lot,max_Price,slippages,max_Price-sl,max_Price+tp ,comment_ao_otloj_buy,magik_number,TimeCurrent()+order_life_time); // ОТКРЫВАЕМ ОТЛОЖЕННЫЙ БАЙ ОРДЕР

Bitte sagen Sie mir, was ich falsch mache und wie ich das Problem beheben kann.

Совершение сделок - Торговые операции - Справка по MetaTrader 5
Совершение сделок - Торговые операции - Справка по MetaTrader 5
  • www.metatrader5.com
Торговая деятельность в платформе связана с формированием и отсылкой рыночных и отложенных ордеров для исполнения брокером, а также с управлением текущими позициями путем их модификации или закрытия. Платформа позволяет удобно просматривать торговую историю на счете, настраивать оповещения о событиях на рынке и многое другое. Открытие позиций...
 
DanilaMactep:

Hallo zusammen J. Ich säge weiter an der Gralsmaschine. Und stieß auf eine so unangenehme Sache wie den Fehler 130 beim Einstellen schwebender Aufträge. Interessant ist jedoch, dass bei der Eröffnung mit Marktaufträgen alles in Ordnung ist. Es werden keine falschen Haltestellen angezeigt.

Ich möchte erwähnen, dass es zwei Möglichkeiten gibt, den Stopp zu berechnen. Sie können entweder eine feste Haltestelle in Punkten oder atp verwenden.

Wenn wir einen festen Stop oder atp setzen, erhalten wir den Fehler 130, wenn wir eine schwebende Sell Stop Order öffnen, aber schwebende Buy Stop scheint normal zu öffnen, obwohl ich nicht 100% sicher bin. Obwohl ich es überprüfe und sehe, dass die ausstehenden Kauf-Stopp-Aufträge ebenfalls mit dem Fehler 130 geöffnet werden. Ich erhalte den Stop-Loss-Wert auf diese Weise


Bei der Eröffnung mit Marktaufträgen ist alles normal. Ich eröffne schwebende Aufträge wie folgt

Bitte sagen Sie mir, was ich falsch mache und wie ich das Problem beheben kann.

keine Preisnormalisierung
keine Stop-Loss-Rechnung

 

DanilaMactep: Получаю значение стоп лосса во таким макаром

Makar, bitte fassen Sie es nicht an.)

DanilaMactep:

Können Sie mir sagen, was ich falsch mache und wie ich es beheben kann?

Versuchen Sie, den Festanschlag zu erhöhen, und wenn der Fehler für einen Festanschlag verschwindet, liegt das Problem in MODE_STOPLEVEL

TakeProfit sollte ebenfalls überprüft werden

 
DanilaMactep:

Hallo zusammen J. Ich säge weiter an der Gralsmaschine. Und stieß auf eine so unangenehme Sache wie den Fehler 130 beim Einstellen schwebender Aufträge. Interessant ist jedoch, dass bei der Eröffnung mit Marktaufträgen alles in Ordnung ist. Es werden keine falschen Haltestellen angezeigt.

Ich möchte erwähnen, dass es zwei Möglichkeiten gibt, den Stopp zu berechnen. Sie können entweder eine feste Haltestelle in Punkten oder atp verwenden.

Wenn wir einen festen Stop oder atp setzen, erhalten wir den Fehler 130, wenn wir eine schwebende Sell Stop Order öffnen, aber schwebende Buy Stop scheint normal zu öffnen, obwohl ich nicht 100% sicher bin. Obwohl ich es überprüfe und sehe, dass die ausstehenden Kauf-Stopp-Aufträge ebenfalls mit dem Fehler 130 geöffnet werden. Ich erhalte den Stop-Loss-Wert auf diese Weise


Bei der Eröffnung mit Marktaufträgen ist alles normal. Ich eröffne schwebende Aufträge wie folgt

Bitte, bitte, sagen Sie mir, was ich falsch mache und wie ich es beheben kann?

Der Fehler 130 tritt nicht nur auf, wenn ein Stop- oder Take-Auftrag erteilt wird, sondern auch, wenn der schwebende Auftrag zu nahe am aktuellen Kurs erteilt wird. Nicht der Stop- oder Take-Kurs dieses Auftrags, sondern der Eröffnungs-/Setzungspreis des Auftrags.

 
        if(CopyTicks(Symbol(),ticks,COPY_TICKS_TRADE,0,1)==1)
            start_time=ulong(ticks[0].time_msc);
  

Was bedeutet der Punkt?

 
ascerdfg:

Was bedeutet der Punkt?

Hier kommen Sie ins Spiel.
 
ascerdfg:

Was bedeutet ein Punkt?

Strukturen und, Klassen und Schnittstellen
 
Alexey Viktorov:

Der Fehler 130 tritt nicht nur auf, wenn ein Stop oder Take gesetzt wird, sondern auch, wenn ein schwebender Auftrag zu nahe am aktuellen Kurs gesetzt wird. Nicht der Stop oder Take dieses Auftrags, sondern der Eröffnungs-/Setzungspreis des Auftrags.

WENN ICH EINEN SCHWEBENDEN AUFTRAG ERTEILE, BERECHNE ICH DEN PREIS WIE FOLGT (ICH MISCHE MICH NICHT EIN, SIE SIND ZUMINDEST NICHT MEIN TYP, DER SICH EINMISCHT;-))

                    int min_bars= iLowest(NULL, // ТЕКУЩИЙ СИМВОЛ
          double min_Price=iHigh(Symbol(),// СИМВОЛ ТЕКУЩЕГО ИНСТРУМЕНТА(НА КОТОРОМ РАБОТАЕТ ГРААЛЬ;-)
          PeriodForWork_pending_orders, // ТФ НА КОТОРОМ АСЧИТЫВАЕМ ЦЕНУ МИНИМУМА
          min_bars//  НА КАКОМ БАРЕ БЫЛ МАКС ТОТ И ПОДСТАВИМ;)
        
          
          ); 

WIE ÜBERPRÜFE ICH, OB DER ERMITTELTE WERT INNERHALB DES ZULÄSSIGEN BEREICHS LIEGT? ICH VERSTEHE NICHT, WAS ICH TUN SOLL, UND WIE STELLE ICH SICHER, DASS DER AUFTRAG TROTZDEM MIT DEM KLEINSTMÖGLICHEN ABSTAND ERÖFFNET WIRD, WENN DER BERECHNETE WERT UNTER DEM ZULÄSSIGEN WERT LIEGT?

Grund der Beschwerde: