[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 777

 
RekkeR:
Ich habe mehrere horizontale Linien, zwischen denen ich Quoten in verschiedenen Kombinationen festlegen muss. Ich bin auf der Suche nach einem Skript oder Indikator, der diese Aufgabe erfüllt. Wir danken Ihnen für Ihr Feedback.

Ich programmiere nicht professionell, also würde ich gerne helfen, aber...

 
RekkeR

Es gibt mehrere horizontale Linien, ich muss die Quoten zwischen ihnen in verschiedenen Kombinationen bestimmen, im Prinzip bin ich in diesem Stadium mit der Bestimmung zwischen den beiden Linien recht zufrieden, den Rest werde ich manuell machen. Vielleicht gibt es ein fertiges Skript oder einen solchen Indikator? Wir danken Ihnen für Ihr Feedback.

Ich werde Ihnen den fertigen Code geben, wenn Sie ihn brauchen. Es gibt nichts Kompliziertes daran.

//+------------------------------------------------------------------+
//| script program start function                                    |
//+------------------------------------------------------------------+
int start()
{ 
  
  /*
        Скрипт
  ========== Lines_RASST ========

Является дополнением к скрипту Lines_Create. (Скрипт Lines_Create создаёт на графике 2 горизонтальные линии с именами UP_LEVEL и DOWN_LEVEL)

Скрипт Lines_RASST выводит на экран сообщение о том, сколько пунктов расстояние между двумя горизонтальными линиями
    у которых миена UP_LEVEL и DOWN_LEVEL.
    В силу того, что скрипт Lines_RASST имеет задержку в коде, надо не просто кинуть его на график, или не просто сделать
    по скрипту двойной клик, надо ещё сразу сделать дополнительный одинарный клик левой кнопкой мыши по окну графика.
    Только в этом случае надпись, говорящая о расстоянии появится и через 5 секунд исчезнет сама.
    Если скрипт Lines_RASST вызван, а дополнительный клик по окну не сделан, то по прошествии 5 секунд скрипт выгрузится из оперативной
    памяти, и Вы ни чего на экране не увидите, ни какой надписи (почему так сделан терминал я не знаю).


  */
  
  bool fm;
   // --------------- Значения цены на горизонтальных линиях ---------------------------------
  double UpLevelPrice=ObjectGet("UP_LEVEL",OBJPROP_PRICE1);
  double DownLevelPrice=ObjectGet("DOWN_LEVEL",OBJPROP_PRICE1);
// ---------------------------------------------------------------------------------------- 
 //--------- калькулятор расстояний между этими линиями ---------------
  
  int Rasst=(UpLevelPrice-DownLevelPrice)/Point;
  fm=ObjectCreate("DIAPAZON",OBJ_LABEL,0,0,0);
  if(fm==0 || fm==-1){// тут можно вывести сообщение об ошибке}
  fm=ObjectSetText("DIAPAZON","Канал = "+Rasst+" pt.",24,"Verdana",Blue); 
  if(fm==0 || fm==-1){// тут можно вывести сообщение об ошибке}
  fm=ObjectSet("DIAPAZON",OBJPROP_CORNER,0);
  if(fm==0 || fm==-1){// тут можно вывести сообщение об ошибке}
  fm=ObjectSet("DIAPAZON",OBJPROP_XDISTANCE,350);
  if(fm==0 || fm==-1){// тут можно вывести сообщение об ошибке}
  fm=ObjectSet("DIAPAZON",OBJPROP_YDISTANCE,315);
  if(fm==0 || fm==-1){// тут можно вывести сообщение об ошибке}
  // ------------------------------------------------------------------
  Sleep(5000);
  //-------- удаляем надпись с экрана -----------------------------
 fm=ObjectDelete("DIAPAZON");
 if(fm==0 || fm==-1){// тут можно вывести сообщение об ошибке}
}
 
drknn:

Das ist falsch, denn die Zeichenfolge double MyKoren(double MyValue=36){ initialisiert die Variable MyValue mit dem Wert = 36. Es macht keinen Sinn, weil wir den Wert = an die Variable DlyaKornya in das Unterprogramm übergeben .


Dies ist die Standardeinstellung... Wenn die Funktion wie folgt aufgerufen wird: double rex=(MyKoren()+1)*100+(MyKoren()+1)*10+MyKoren()+1;

ist die Antwort klar?

 
Sorento:

Dies ist die Standardeinstellung... Wenn die Funktion wie folgt aufgerufen wird: double rex=(MyKoren()+1)*100+(MyKoren()+1)*10+MyKoren()+1;

Haben Sie die Antwort verstanden?


Ich werde es wiederholen:

... Die Initialisierung einer Variablen mit dem Wert = 36 wird wahrscheinlich nur funktionieren, wenn die Funktion ohne Angabe von Parametern aufgerufen wird.

... Jedenfalls sollten Sie besser keine Konstruktionen wie double MyKoren(double MyValue=36){ verwenden, sondern double MyKoren(double MyValue){ schreiben, wie es sein sollte, sonst werden Sie sich wundern, warum das Unterprogramm nicht so funktioniert, wie es sollte.

Wenn Sie ein Konstrukt wie double MyKoren(double MyValue=36){ verwenden, gefolgt von einem Aufruf wie double rex=(MyKoren()+1)... Es ist ein Kinderspiel, die Kontrolle zu verlieren. Besonders für einen Anfänger.

 
drknn:


Ich sage es noch einmal:

... Die Initialisierung einer Variablen mit Wert = 36 wird wahrscheinlich nur funktionieren, wenn die Funktion ohne Parameter aufgerufen wird.

... Jedenfalls sollten Sie besser keine Konstruktionen vom Typ double MyKoren(double MyValue=36){ verwenden und sie so schreiben, wie sie sollten - double MyKoren(double MyValue){, sonst werden Sie sich wundern, warum das Unterprogramm nicht so funktioniert, wie es sollte.

Wenn Sie ein Konstrukt wie double MyKoren(double MyValue=36){ verwenden, gefolgt von einem Aufruf wie double rex=(MyKoren()+1)... Es ist ein Kinderspiel, die Kontrolle zu verlieren. Besonders für einen Anfänger.

)))

Aber Sie werden sich die Seitenzahl merken.

Oder der Schlüssel wird generiert.

;)

Dies ist ein anderer Thread - ich habe mich verirrt. und bitte um Verzeihung.

Die Post ist im Umlauf. (c) AS Puschkin

 
drknn:
Sie sollten keine gestohlenen Waren einstellen.
Wie kommst du darauf, dass ich etwas gestohlen habe? Dieser Indikator ist im Internet im mql-Format frei verfügbar. Was hat das mit der Nichtveröffentlichung dekompilierter Indizes zu tun? Ich persönlich habe nichts dekompiliert. Ich fand sie, sie gefiel mir und ich bat um eine Ausschreibung. Wo liegt das Problem?
 

Guten Tag ... Können Sie mir sagen, wie ich einen EA wie den von Ilan_19 hier geposteten aktivieren kann... Arbeit an Alpari fünfstellig... Ich habe es installiert und es funktioniert nicht...

 
Pilligrim:

Guten Tag ... Können Sie mir sagen, wie ich einen EA wie den von Ilan_19 hier geposteten aktivieren kann... Arbeit an Alpari fünfstellig... Ich habe es installiert und es funktioniert nicht...

Nicht arbeiten ist ein dehnbarer Begriff... Was genau funktioniert nicht, was passiert, usw., usw.
 
artmedia70:
Nicht arbeiten ist ein dehnbarer Begriff... Was genau funktioniert nicht, was ist los, etc. etc.
wird nicht gehandelt...
 

Pilligrim:

handelt nicht...

Er braucht auch nicht zu handeln.