Inhalte aufrufen

  • Über WindowsLive anmelden Log In with Google Anmelden
  • Mitglied werden
Profilbild

Programmier Hilfe

- - - - -

  • Du kannst leider keine neuen Themen eröffnen
  • Please log in to reply
7 Antworten zu diesem Thema

  #1
OFFLINE   Magic

Hallo Zusammen

 

Ich bräuchte eure Hilfe ich habe euch ein bild hinzugefügt das eich zwei Linien zeigt einmal den Vortages Hoch in Blau und den Vortages Tief in Rot dazu habe ich einen Indikator das Signale an einen Dashboard EA schickt. Die Signale werden über die Funktion Globalvariables verschickt was im Dashboard als Pfeil angezeigt wird und man kann mehrere Indikatoren zu einen speziellen Handelssystem kombinieren. Nun meine eigentliche frage ich habe einen Code geschrieben was wie im Bild soweit alles macht was es machen soll bis auf eines......Ich bekomme einen Buy Signal wenn die Kerze über der Blauen Linie schließt aber das Problem es bleibt dauerhaft bestehen solange ich über der blauen Linien bin. Es soll aber nach der nächsten Kerze wieder das Signal unterbrechen... Und das gleiche auch im Sell bereich.Man hat mir gesagt das mir mit iTime und iBarshift geholfen währe hab es aber nicht hinbekommen. Für jede Hilfe währe ich dankbar. Mein Code..

 

 

Please Login or Register to see this Hidden Content

 copyright "Copyright 2015, MetaQuotes Software Corp."

#property link "

Please Login or Register to see this Hidden Content

"

#property version "1.00"

#property strict

#property indicator_chart_window

extern int SignalPin= 4;

extern ENUM_TIMEFRAMES TimeFrame = PERIOD_CURRENT;

 

string symbols[] = { "AUDCAD","AUDCHF","AUDJPY","AUDNZD","AUDUSD","GBPJPY","GBPAUD","GBPCAD","GBPCHF","GBPNZD","GBPUSD","USDJPY","USDCAD","USDCHF","EURUSD","EURGBP","EURJPY","EURNZD","EURAUD","EURCHF","EURCAD","CADJPY","CADCHF","NZDCAD","NZDUSD","NZDJPY","NZDCHF","CHFJPY" };
 

string suffix = StringSubstr(Symbol(),6,0);

int signal,i;

int ibar;

double Buy0;

double Sell0;

double opens;

double closes;

datetime timestamp;

Please Login or Register to see this Hidden Content

 NONE 0

#define CROSSUP 1

#define CROSSDOWN 2

#define ABOVE 1

#define BELOW 2

int OnInit()

{

timestamp = iTime( NULL,TimeFrame,0);

return(INIT_SUCCEEDED);

}

int deinit(){

 

for (i=0;i<28;i++){

GlobalVariableSet(symbols[i]+"pin"+SignalPin,NONE);

}

return (0);

 

 

}

int OnCalculate(const int rates_total,

const int prev_calculated,

const datetime &time[],

const double &open[],

const double &high[],

const double &low[],

const double &close[],

const long &tick_volume[],

const long &volume[],

const int &spread[]){

 

for (i=0;i<28;i++){

 

 

 

Buy0 = iCustom(symbols[i]+suffix,TimeFrame,"HighLow_Badguy",0,0);

Sell0 = iCustom(symbols[i]+suffix,TimeFrame,"HighLow_Badguy",1,0);

closes = iClose(symbols[i]+suffix,TimeFrame,1);

timestamp = iTime( NULL,NULL,1);

ibar = iBarShift( NULL,NULL,timestamp);

 

 

 

 

if( closes > Buy0){

Print("BUY");

signal = CROSSUP;

GlobalVariableSet(symbols[i]+"pin"+SignalPin,signal);

 

} else if( Bid < Buy0){

Print("BUY NONE");

signal = NONE;

GlobalVariableSet(symbols[i]+"pin"+SignalPin,signal);

}if( closes < Sell0){

Print("SELL");

signal = CROSSDOWN;

GlobalVariableSet(symbols[i]+"pin"+SignalPin,signal);

 

} else if( Bid > Sell0){

Print("SELL NONE");

signal = NONE;

GlobalVariableSet(symbols[i]+"pin"+SignalPin,signal);

}

 

}

return(rates_total);

}



  #2
OFFLINE   alexf82

wenn ich dich jetzt richtig verstanden habe, dann soll das signal nur 1 kerze gültig sein und dann erst wieder ein buy signal möglich sein, wenn dazwischen ein sell signal war?

wenn ja, dann hast du im prinzip hier schon die lösung des problems!

 

du musst dir einfach das letzte signal merken und du kannst eben nur auf long/short schalten,wenn das vorsigal anders herum war! :-)



  #3
OFFLINE   Magic

wenn ich dich jetzt richtig verstanden habe, dann soll das signal nur 1 kerze gültig sein und dann erst wieder ein buy signal möglich sein, wenn dazwischen ein sell signal war?

wenn ja, dann hast du im prinzip hier schon die lösung des problems!

 

du musst dir einfach das letzte signal merken und du kannst eben nur auf long/short schalten,wenn das vorsigal anders herum war! :-)

 

Hallo

 

Erstmal danke für deine Antwort.

 

Wenn die Kerze über der Blauen Linie schließt brauch ich ein Buy Signal funktioniert auch soweit bei der nächsten Kerze über der Linie soll kein Signal mehr kommen unabhängig davon ob ich vorher ein Sell Signal hatte oder nicht. Derzeit ist es so das ich dauerhaft ein Buy Signal bekomme egal ob 1 Kerze oder 50 oder 100 Kerze über der Blauen Linie bin. Ich möchte meinen entry an eine bestimmte stelle konzentrieren also kurz über die Linie und nicht weiter oben. Im Normalfall könnte man das mit der OrderSend Funktion lösen aber da das ganze über eine externen Dashboard läuft habe ich leider kein Einfluss drauf also muss ich das schon vorher im Indikator steuern.

 

MFG


Bearbeitet von Magic, 26 August 2019 - 10:30 Uhr,


  #4
OFFLINE   alexf82

wenn ein buy-signal da ist und nur eine kerze gültig sein soll, wann genau darf dann erneut ein buy-signal kommen?



  #5
OFFLINE   Magic

wenn ein buy-signal da ist und nur eine kerze gültig sein soll, wann genau darf dann erneut ein buy-signal kommen?

 

Ein Buy signal darf nur bei einer Schlusskerze über der Linie vorhanden sein wenn der Markt steigt und die 2 Kerze sich bildet soll das Signal weg .... mal angenommen der Markt dreht Retestet die Linie darf erst wieder ein Signal kommen wenn die Kerze oberhalb der Linie schließt.. Falls ich /wir das hinbekommen sollten würde ich dir gerne das ganze Konzept vorstellen falls es dich interessiert.

 

Gruss Magic



  #6
OFFLINE   alexf82

also wenn ich es nun richtig verstanden habe, willst du es so haben, wie hier?

Please Login or Register to see this Hidden Content

 

Please Login or Register to see this Hidden Content

  61.21K   3 Anzahl Downloads

 

sollte doch so klappen (ohne dass ich es getestet habe!), bei prüfung jeder neuen kerze!

Please Login or Register to see this Hidden Content


  • asfranz gefällt das

  #7
OFFLINE   Magic

 

also wenn ich es nun richtig verstanden habe, willst du es so haben, wie hier?

attachicon.gif

Please Login or Register to see this Hidden Content

 

sollte doch so klappen (ohne dass ich es getestet habe!), bei prüfung jeder neuen kerze!

Please Login or Register to see this Hidden Content

Hallo Alex

 

Sollte so korrekt sein. Ich werde es testen und gebe dir dann bescheid ob es geklappt.

 

Vielen Dank

 

Magic



  #8
OFFLINE   Magic

 

also wenn ich es nun richtig verstanden habe, willst du es so haben, wie hier?

attachicon.gif

Please Login or Register to see this Hidden Content

 

sollte doch so klappen (ohne dass ich es getestet habe!), bei prüfung jeder neuen kerze!

Please Login or Register to see this Hidden Content

 

Hallo Alex

 

Ich hab mal eine kleine Korrektur deiner Zeichnung vorgenommen.

 

Was du aber gezeichnet hast hat genau so funktioniert wie in deinem Code vorgegeben ist aber nicht ganz das was ich meinte.

 

Was ich auch nicht ganz verstanden hab ich was Parameter2 für eine Aufgabe im Code hat.

 

Vielen dank für deine Mühen

 

Gruss Magic

Dateianhang

  • Angehängte Datei  test1.PNG   102.86K   0 Anzahl Downloads

Bearbeitet von Magic, 27 August 2019 - 20:02 Uhr,




Similar Topics

  Thema Eröffnet von Statistik Letzter Beitrag




0 Benutzer lesen gerade dieses Thema

0 Mitglieder, 0 Gäste, 0 anonyme Nutzer