[ARCHIV] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 3. - Seite 16

 

Hilfe mit dem Code. Wir haben ein Diagramm mit einem Indikator mit einem Puffer und einer vertikalen Linie, die in die Vergangenheit verschoben ist.

Wie kann man aus dem Indikatorpuffer Werte von dem Balken, auf dem sich die vertikale Linie befindet, bis zum Ende des Charts (Nullbalken) auslesen?

Ich habe es so geschrieben:

tm=ObjectGet("VerticalLine",0);
for(x=iBarShift(Symbol(),0,tm);x==0;x--)
{
Print(x);
Print(Puffer[x])

}

Es funktioniert nicht, es wird überhaupt nichts ausgegeben. Hilfe

 
ZZZEROXXX:

Ich schreibe es so:

tm=ObjectGet("VerticalLine",tm);
for(x=iBarShift(Symbol(),0,tm);x==0;x--)
{
Print(x);
Print(Puffer[x];

}

Das Problem muss in der Zeile liegen: tm=ObjectGet("VerticalLine",tm);

Lesen Sie die Hilfe, es braucht etwas wie: tm=ObjectGet("VerticalLine",OBJPROP_TIME1);


 
IgorM:

das Problem muss die Zeile sein: tm=ObjectGet("VerticalLine",tm);



Sorry, ich hab's verpatzt, ich hab's von Hand geschrieben, im Original tm=ObjectGet("VerticalLine ",0); trotzdem funktioniert's nicht

 
ZZZEROXXX:


Sorry, ich hab's verpatzt, ich hab's von Hand geschrieben, im Original tm=ObjectGet(" VerticalLine ",0); also irgendwas funktioniert nicht

if(ObjectFind("VerticalLine")!=-1){
    datetime TimeVL=ObjectGet( "VerticalLine", OBJPROP_TIME1); //получили координату времени где стоит вертикальная тиния с именем VerticalLine , которая сознательно  выставлена - так как не проверяется какая это линия и тд 
    int shift=iBarShift(NULL, 0, TimeVL); //получил смещение линииот текущего момента в свечах 
    
    //int c=Bars- shift; //если вдруг хочется до конца истории вывести значение индикатора (после линии)

    int c=10; // а это на скольких свечах после вертикальной линии анализировать значение индикатора
    for(int i=shift; i<=shift+c; i++){
     //double x=iCustom(NULL, 0, "СвойИндикатор", ..., int mode, i); // тут вроде как свой индикатор ....
     double x= iMA(NULL, 0, 12, 0, MODE_SMA, PRICE_CLOSE, i) ; // для примера вывод МА
     Print("x=",i," MA=",x);
    }
   }
   else Print("Нет Вертикальной линии");

- Seien Sie vorsichtig - der Code arbeitet Tick für Tick - Sie werden eine Menge Daten für die Analyse erhalten :) bei jedem Tick wird der Code neu ausgeführt

Das heißt, wenn ich richtig verstanden habe, was Sie wollen

 
Ist es in MQL möglich, eine Bindung an eine Indikatorfarbe herzustellen? D.h. wenn sich die Indikatorfarbe oder der Indikatorpunkt ändert, wird eine Position eröffnet.
 
vilard:
Ist es in MQL möglich, eine Bindung an eine Indikatorfarbe herzustellen? D.h. wenn sich die Indikatorfarbe oder der Indikatorpunkt ändert, wird eine Position eröffnet.
Ja
 
rustein:
Ja

wie kann dies umgesetzt werden, wenn möglich ein einfaches Beispiel oder ein Code-Link
 
vilard:

wie kann dies umgesetzt werden, wenn möglich ein einfaches Beispiel oder ein Code-Link

https://www.mql5.com/ru/search?keyword=iCustom

https://www.mql5.com/ru/code/9235

 

Hallo zusammen!

Ich möchte einige sachkundige Personen bitten, mir zu sagen, was die Bibliotheken in MQL4 sind und womit man sie verwenden kann. Ich danke Ihnen im Voraus.

Grund der Beschwerde: