Wie programmiert man? - Seite 320

 

Hallo zusammen, ich würde gerne prüfen, ob es eine Möglichkeit gibt, den aktuellen Kurs zu verfolgen?

Z.B. wenn der Preis über einen voreingestellten Punkt, wird es sofort einen Handel auslösen. Die, die ich online gefunden habe, beziehen sich hauptsächlich auf den Abschluss, das Hoch, das Tief usw. des Balkens. Kann mir bitte jemand helfen. Vielen Dank!

Mit freundlichen Grüßen

Terrance

 

Wenn ich Sie richtig verstehe, sollten Sie Ask und Bid verwenden. Ask für einen neuen Kaufauftrag und Bid für einen neuen Verkaufsauftrag.

tkuan77:
Hallo zusammen, ich würde gerne prüfen, ob es eine Möglichkeit gibt, den aktuellen Kurs zu verfolgen?

Wenn der Kurs z. B. einen vorgegebenen Punkt überschreitet, wird sofort ein Handel ausgelöst. Die Angaben, die ich online gefunden habe, beziehen sich hauptsächlich auf den Schlusskurs, den Höchstkurs, den Tiefstkurs usw. des Balkens. Kann mir bitte jemand helfen. Vielen Dank!

Mit freundlichen Grüßen

Terrance
 

Ja, Mladen, das ist das, was ich jetzt benutze. Vielleicht ist meine Frage nicht klar erklärt. Was ich versuche zu erreichen, ist zum Beispiel, ich voreingestellt einen Punkt, z. B. vorherige D1 Kerze schließen plus und minus 20pips, und wenn der aktuelle Preis Hit der voreingestellten Punkt von entweder (D1 + 20pips) oder (D1 - 20pips), wird es entweder einen Kauf oder Verkauf auslösen, unabhängig davon, ob die aktuelle Kerze ist es schließen oder jetzt.

Also, was ich versuche, jetzt zu erreichen ist, wie mein System den Handel auslösen, wenn der Preis traf die so nennen (D1 + 20pips) oder (D1 - 20pips). Vielen Dank im Voraus für die Beratung.

Mit freundlichen Grüßen

Terrance

mladen:
Wenn ich Sie richtig verstehe, sollten Sie Ask und Bid verwenden. Ask für einen neuen Kaufauftrag und Bid für einen neuen Verkaufsauftrag
 

Jetzt bin ich wirklich nicht sicher, ob ich verstehe, aber, wird es einen Versuch geben. Ty etwas wie dieses (dies ist nicht ein echter Code, sondern nur ein Beispiel, wie zu überprüfen - in den meisten Fällen schließen und bid sind die gleichen)

if (close[1](D1+20pips)) trigger up action

if (close[1]>(D1-20pips) && close[0]<(D1-20pips)) trigger down action

tkuan77:
Ja, Mladen, das ist das, was ich jetzt verwende. Vielleicht ist meine Frage nicht klar genug formuliert. Was ich versuche zu erreichen, ist zum Beispiel, ich voreingestellt einen Punkt, Beispiel vorherigen D1 Kerze schließen plus und minus 20pips, und wenn der aktuelle Preis Hit der voreingestellten Punkt von entweder (D1 + 20pips) oder (D1 - 20pips), wird es entweder ein Kauf oder Verkauf auslösen, unabhängig davon, ob die aktuelle Kerze ist es schließen oder jetzt.

Also, was ich versuche, jetzt zu erreichen ist, wie mein System den Handel auslösen, wenn der Preis traf die so nennen (D1 + 20pips) oder (D1 - 20pips). Vielen Dank im Voraus für die Beratung.

Mit freundlichen Grüßen

Terrance
 

Hallo Mladen,

Ja, es ist mir gelungen, einige der aufgetretenen Fehler zu beheben, aber 1 Fehler stört mich immer noch. Wie löse ich aus:

1) Long-Trade, wenn FastMA1 SlowMA1 um 10pips nach oben kreuzt

2) Short-Trade, wenn der FastMA1 den SlowMA1 um 10 Pips nach unten kreuzt

Was ich nicht weiß, ist, wie ich den MA einfügen kann, um auf die 10pips im Code zu reagieren.

/*--------------------------------------------------------------------------------*/

FastMA1 = iMA(NULL,PERIOD_M30,10,0,MODE_SMA,PRICE_CLOSE,0);

SlowMA1= iMA(NULL,PERIOD_M30,20,0,MODE_SMA,PREIS_SCHLIESSEN,1);

if(FastMA1 > SlowMA1)

{Long}

if(FastMA1 < SlowMA1)

{Short}

/*--------------------------------------------------------------------------------*/

Vielen Dank für die Hilfe.

Mit freundlichen Grüßen

Terrance

mladen:
Jetzt bin ich mir wirklich nicht sicher, ob ich es verstehe, aber ich werde es versuchen. Ty etwas wie dieses (dies ist nicht ein echter Code, sondern nur ein Beispiel, wie zu überprüfen - in den meisten Fällen schließen und bieten sind die gleichen)
if (close[1](D1+20pips)) trigger up action

if (close[1]>(D1-20pips) && close[0]<(D1-20pips)) trigger down action

 

Versuchen Sie etwas wie dies:

double pipMultiplier=1; if (Digits==3 || Digits==5) pipMultiplier=10;

double diff = 10*Punkt*pipMultiplikator;

if(FastMA1 > SlowMA1+diff)

{Long}

if(FastMA1 < SlowMA1-diff)

{Kurz}

tkuan77:
Hallo Mladen,

Ja, es ist mir gelungen, einige der aufgetretenen Fehler zu beheben, aber 1 Fehler stört mich immer noch. Wie löse ich aus:

1) Long-Handel, wenn FastMA1 SlowMA1 um 10 Pips nach oben übersteigt

2) Short-Trade, wenn der FastMA1 den SlowMA1 um 10 Pips nach unten kreuzt

Was ich nicht weiß, ist, wie ich den MA einfügen kann, um auf die 10pips im Code zu reagieren.

/*--------------------------------------------------------------------------------*/

FastMA1 = iMA(NULL,PERIOD_M30,10,0,MODE_SMA,PRICE_CLOSE,0);

SlowMA1= iMA(NULL,PERIOD_M30,20,0,MODE_SMA,PREIS_SCHLIESSEN,1);

if(FastMA1 > SlowMA1)

{Long}

if(FastMA1 < SlowMA1)

{Short}

/*--------------------------------------------------------------------------------*/

Vielen Dank für die Hilfe.

Viele Grüße

Terrance
 

Malden ich versuchen, den Indikator zu codieren, wie Ihre Antwort in Bezug auf die vorherige h1 Kerze Tag. Aber ich konnte es nicht tun.

Ich habe ein Beispiel.

Ich habe einen Indikator mit nur einem Puffer in separaten Fenstern. Es zeichnen eine Linie wie rsi, atr etc etc.

Jetzt muss ich eine Linie (horizontal) in den gleichen separaten Fenstern hinzufügen, die aus dem Durchschnitt der letzten 24 Tage Indikatorwert berechnet wird (Es ist nur für 1hour aus diesem Grund sagte ich 24). Wie kann ich das machen? Ist es möglich, diese Linie für jeden Tag in der Vergangenheit zu zeichnen?

Ich weiß, dass ich einen weiteren Puffer hinzufügen muss.

Wie kann ich in diesem Puffer das geben, was ich brauche?

Ich danke Ihnen

 

...

dasio

Was Sie beschreiben, sieht aus wie eine Kombination aus einem regulären Indikator (rsi, atr, ...) und einem Multi-Time-Frame-Durchschnitt des gleichen Indikators. Haben Sie es auf diese Weise versucht?

dasio:
Malden ich versuche, den Indikator zu codieren, wie Ihre Antwort in Bezug auf die vorherige h1 Kerze Tag. Aber ich konnte es nicht tun.

Ich habe ein Beispiel.

Ich habe einen Indikator mit nur einem Puffer in separaten Fenstern. Er zeichnet eine Linie wie rsi, atr etc etc.

Jetzt muss ich eine Linie (horizontal) in den gleichen separaten Fenstern hinzufügen, die aus dem Durchschnitt der letzten 24 Tage Indikatorwert berechnet wird (Es ist nur für 1hour aus diesem Grund sagte ich 24). Wie kann ich das machen? Ist es möglich, diese Linie für jeden Tag in der Vergangenheit zu zeichnen?

Ich weiß, dass ich einen weiteren Puffer hinzufügen muss.

Wie kann ich bei diesem Puffer geben, was ich brauche?

Dankeschön
 
mladen:
dasio Was Sie beschreiben, sieht aus wie eine Kombination aus einem regulären Indikator (rsi, atr, ...) und einem Multi-Time-Frame-Durchschnitt des gleichen Indikators. Haben Sie es auf diese Weise versucht?

Hallo, ich danke Ihnen für Ihre Antwort,

Vielleicht habe ich nicht gut erklärt.

Ich erstelle einen Indikator, der eine Linie in einem separaten Chart-Fenster mit meiner eigenen Berechnung auf der Grundlage der vorherigen Bars zeichnet.

Nun muss ich eine Linie in den Indikator, wo der Wert dieser Linie ist gleich an der evarage der letzten 24 Wert im letzten Tag berechnet und ich brauche, um diese Linie in den Vortag zu zeichnen. Ich habe ein Bild beigefügt. Allerdings muss diese Linie am Ende des Tages berechnet werden, weil es für die la 24 Wert des Indikators für den gleichen Tag berechnet werden muss, wo ich es berechnen.

Im Moment darf dieser Indikator nur im 1-Stunden-Zeitrahmen verwendet werden, also ist es kein MTF-Indikator.

Ich danke Ihnen.

ps. Die weißen Linien werden für die gleichen 24 Werte des 1-Tages-Zeitraums berechnet, in dem sie gedruckt werden.

Dateien:
example_1.gif  7 kb
 

...

dasio

Versuchen Sie etwas in der Art:

#property indicator_separate_window

#property indicator_buffers 2

#property indicator_color1 OrangeRed

#property indicator_color2 Silver

#property indicator_width1 2

extern int RsiPeriod = 50;

extern int RsiPrice = PRICE_CLOSE;

double work[];

double avg[];

//------------------------------------------------------------------

//

//------------------------------------------------------------------

//

//

//

//

//

int init()

{

SetIndexBuffer(0,work);

SetIndexBuffer(1,avg);

return(0);

}

int start()

{

int i,countedBars = IndicatorCounted();

if (countedBars<0) return(-1);

if (countedBars>0) countedBars--;

int limit = MathMin(Bars-countedBars,Bars-1);

for(i=limit; i>=0; i--)

{

work = iRSI(NULL,0,RsiPeriod,RsiPrice,i);

int y = iBarShift(NULL,PERIOD_D1,Time);

int x = iBarShift(NULL,PERIOD_D1,Time);

if (x!=y)

{

int k = iBarShift(NULL,0,iTime(NULL,PERIOD_D1,y));

double average = work[k];

int c = 1;

for (int j=k-1; j>=i; j--,c++) average += work[j]; average /= c;

for ( j=k ; j>=i; j--) avg[j] = average;

}

}

return(0);

}

dasio:
Hallo, vielen Dank für Ihre Antwort,

Vielleicht habe ich es nicht gut erklärt.

Ich erstelle einen Indikator, der eine Linie in einem separaten Chart-Fenster mit meiner eigenen Berechnung auf der Grundlage der vorherigen Bars zeichnet.

Jetzt muss ich eine Linie in den Indikator hinzufügen, wo der Wert dieser Linie ist gleich an der evarage der letzten 24 Wert im letzten Tag berechnet und ich muss diese Linie in den Vortag zu zeichnen. Ich habe ein Bild beigefügt. Allerdings muss diese Linie am Ende des Tages berechnet werden, weil es für die la 24 Wert des Indikators für den gleichen Tag berechnet werden muss, wo ich es berechnen.

Im Moment darf dieser Indikator nur im 1-Stunden-Zeitrahmen verwendet werden, also ist es kein MTF-Indikator.

Ich danke Ihnen.

ps. Die weißen Linien werden für die gleichen 24 Werte des 1-Tages-Zeitraums berechnet, in dem sie gedruckt werden.

Dateien:
test.gif  34 kb