Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools
Zurück   Metatrader Forum | Forex Expert-Advisor | Broker & Forex Tools > Metatrader 4 > Programmierung MQL4

Programmierung MQL4 Hier gehts rund ums Programmieren in MQL4.

Login
Benutzername:
Kennwort:


Statistik
Themen: 4973
Beiträge: 43249
Benutzer: 7.221
Aktive Benutzer: 81
Links: 84
Wir begrüßen unseren neuesten Benutzer: Thomas75
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor 15 Minuten
- Thomas75
vor 13 Stunden
- JosephTK
vor 2 Tagen
- Hopfen&Mal...
vor 3 Tagen
- frankmicha...
vor einer Woche
- DFeck

Onlineuser
'Wer ist online' anzeigen Benutzer: 1
Gäste: 445
Gesamt: 446
Team: 0
Team:  
Benutzer:  Thomas75
Freunde anzeigen

Empfehlungen

Like Tree1Likes
Thema geschlossen
 
Themen-Optionen Thema durchsuchen Ansicht
  #11 (permalink)  
Alt 23.01.15
Mitglied
 
Registriert seit: Sep 2012
Beiträge: 224
pako befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von traderdoc Beitrag anzeigen
Ne @pako, Dateiendung ist falsch und da er etwas aus der Datei auslesen möchte, wäre auch das FILE_WRITE falsch!

Wenn dann so:

int filehandle = FileOpen("Datei.csv", FILE_READ|FILE_CSV);


traderdoc
Er will die *.exe Datei ausführen
Angehängte Grafiken
Dateityp: jpg QNIZsPU.jpg (23,9 KB, 9x aufgerufen)
Dateityp: jpg TLUEZmF.jpg (18,3 KB, 4x aufgerufen)
  #12 (permalink)  
Alt 23.01.15
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von pako Beitrag anzeigen
Er will die *.exe Datei ausführen
Von *.exe hatte er in Post#1 nichts geschrieben. Und die *.csv war ein Beispiel.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #13 (permalink)  
Alt 23.01.15
Benutzerbild von Nap$ter
Neues Mitglied
 
Registriert seit: Jan 2015
Beiträge: 21
Nap$ter befindet sich auf einem aufstrebenden Ast
Standard

Jap ich will eine *.exe Datei ausführen. Hatte ich im Post#1 vergessen sorry.
Und später vielleicht noch eine *.au3 Datei, aber diese wird vermutlich nicht gehen oder?

Kann jemand von euch diesen Befehl kurz in den Indikator mit rein reinschreiben, bin noch am Angfang mit der MQL Programmierung?
Angehängte Dateien
Dateityp: mq4 SimilarFxMTN & alerts_V3-2.mq4 (4,2 KB, 3x aufgerufen)
  #14 (permalink)  
Alt 23.01.15
Elite Mitglied
 
Registriert seit: Apr 2011
Beiträge: 2.733
traderdoc befindet sich auf einem aufstrebenden Ast
Standard

Das ist eben ganz wichtig, dass man sich eineindeutig ausdrückt und auch schreibt, was man will, sonst bekommt evtl. etwas anderes.

traderdoc
__________________
Ich erfülle Euch gern Eure EA-, Indikator- und Script-Programmierungswünsche auf Honorarbasis.
  #15 (permalink)  
Alt 23.01.15
Benutzerbild von Nap$ter
Neues Mitglied
 
Registriert seit: Jan 2015
Beiträge: 21
Nap$ter befindet sich auf einem aufstrebenden Ast
Standard

Da gebe ich dir vollkommen recht. Dachte halt nur das die Screenshots ausreichen, da auf beiden Screen jeweils eine *.exe Datei geöffnet werden sollte.
  #16 (permalink)  
Alt 26.01.15
Benutzerbild von Nap$ter
Neues Mitglied
 
Registriert seit: Jan 2015
Beiträge: 21
Nap$ter befindet sich auf einem aufstrebenden Ast
Lightbulb

So habe mich mal dran gemacht und versucht den Befehl in einen Indikator einzubauen. Leider funktioniert es nicht. Vermutlich irgendwo ein Fehler. Die "Test.exe" Datei ist im File Ordner des MT4's. Hab noch wenig Erfahrung mit dem Programieren von MQL.
Auszug aus dem Indikator:

Code:
#property copyright "Copyright © 2015 - R.ST"
#property link      ""

#property indicator_separate_window
#property indicator_minimum -35.0
#property indicator_maximum 35.0
#property indicator_buffers 5
#property indicator_color1 clrDodgerBlue
#property indicator_color2 clrDodgerBlue
#property indicator_color3 clrRed
#property indicator_color4 clrLime
#property indicator_level2 12.0
#property indicator_level3 -12.0
#property indicator_style1 2;

extern int period =4;
extern ENUM_MA_METHOD MaMethod=MODE_SMA;
extern ENUM_APPLIED_PRICE MaPrice = PRICE_MEDIAN;

extern int RSIPeriod=4;
extern ENUM_APPLIED_PRICE RsiPrice=PRICE_CLOSE;
extern double RsiOverBoughtLevel=90.0;
extern double RsiOverSoldLevel=10.0;

extern double Level =24.0;

extern bool   alertsOn        = true;
extern bool   alertsOnCurrent = true;
extern bool   alertsMessage   = true;
extern bool   alertsNotification = false;
extern bool   alertsSound     = false;
extern bool   alertsEmail     = false;
extern bool   filehandle      = true;

double AboveBuff[],ShortBuff[],LongBuff[],BelowBuff[];
double RSIBuffer[];

// ---
int init() {
   SetIndexBuffer(0, AboveBuff); SetIndexStyle(0, DRAW_HISTOGRAM, EMPTY, 2);                          // Lime Above 0
   SetIndexBuffer(1, BelowBuff); SetIndexStyle(1, DRAW_HISTOGRAM, EMPTY, 2);                          // Lime Below 0
   SetIndexBuffer(2, ShortBuff); SetIndexStyle(2, DRAW_ARROW, EMPTY, 2);      SetIndexArrow(2, 108); // Red
   SetIndexBuffer(3, LongBuff); SetIndexStyle(3, DRAW_ARROW, EMPTY, 2);       SetIndexArrow(3, 108); // Blue

   SetIndexLabel(0, "Above");
   SetIndexLabel(1, "Below");  
   SetIndexLabel(2, "SHORT");  
   SetIndexLabel(3, "LONG");
   
   SetIndexBuffer(4,RSIBuffer);
   SetIndexStyle(4,DRAW_NONE);
   
   SetLevelStyle(STYLE_DOT, 0, SteelBlue);

   IndicatorShortName(" Similar to Fx MTN + RSI ");
   return (0);
}
	 	    			  		  		   		 	 	 	 	 		 						 	   				  	   	 		 			  			  	     		  	 			   	 	     			 	 		 		     			 	 	  		 	  		   			 			    	
// ---
int deinit() {
 return(0);
}
		    			 	 			 	 	  	  		  	   	 				 			     		 	 	 	 		 	 	 	 	 		 		 		  	    					   		  	    	 					 	  	    	 			 	 	 		 	 	  	 	   	  	 	
// ---
int start() {

   int filehandle=FileOpen("Test.exe",FILE_WRITE|FILE_CSV);

   int counted_bars=IndicatorCounted();
      if(counted_bars<0) return(-1);
      if(counted_bars>0) counted_bars--;
           int limit=MathMin(Bars-counted_bars,Bars-1);
      
      for (int i = limit; i >=0; i--) 
      {
         //double Temp = 0.0; for (int j = i; j < i + Per; j++) Temp += (High[j] + Low[j]) / 2.0;
         double Main =iMA(NULL,0,period,0,MaMethod,MaPrice,i) ;//Temp / Per;
              //  Temp = 0.0;  for (j = i; j < i + Per; j++) Temp += High[j] - Low[j];
         double Minr = 0.2 * iATR(NULL,0,period,i);//(Temp / Per);
         
            if (Minr!=0)
            {
               AboveBuff[i] = 3.0 * (High[i]  - Main) / Minr;
               BelowBuff[i] = 3.0 * (Low[i]   - Main) / Minr;
            }               
            ShortBuff[i] = EMPTY_VALUE;
            LongBuff[i] = EMPTY_VALUE;
            if (AboveBuff[i] >  Level) ShortBuff[i] =  Level+1;
            if (BelowBuff[i] < -Level) LongBuff[i] = -(Level+1);
         //rsi:
         RSIBuffer[i]=iRSI(NULL,0,RSIPeriod,RsiPrice,i);
      }
   manageAlerts();
   return(0);
}

//+-------------------------------------------------------------------
//|                                                                  
//+-------------------------------------------------------------------
void manageAlerts()
{
   if (alertsOn)
   {
      if (alertsOnCurrent)
           int whichBar = 0;
      else     whichBar = 1;
      if (ShortBuff[whichBar] != EMPTY_VALUE || LongBuff[whichBar] != EMPTY_VALUE)
      {
         if (ShortBuff[whichBar] !=  EMPTY_VALUE &&  GetRsiAlert(whichBar)==OP_SELL)doAlert(whichBar,"down + RSI overbougth @ Level " +RsiOverBoughtLevel);
         if (LongBuff[whichBar] !=  EMPTY_VALUE  && GetRsiAlert(whichBar)==OP_BUY) doAlert(whichBar,"up + RSI oversold @ Level " +RsiOverSoldLevel);
      }
   }
}

//
//
//
//
//

void doAlert(int forBar, string doWhat)
{
   static string   previousAlert="nothing";
   static datetime previousTime;
   string message;
   
   if (previousAlert != doWhat || previousTime != Time[forBar]) {
       previousAlert  = doWhat;
       previousTime   = Time[forBar];

       //
       //
       //
       //
       //

       message =  StringConcatenate(Symbol()," at ",TimeToStr(TimeLocal(),TIME_SECONDS)," SimilarFxMNT signal ",doWhat);
          if (alertsMessage) Alert(message);
          if (alertsEmail)   SendMail(StringConcatenate(Symbol()," SimilarFxMNT "),message);
          if (alertsNotification) SendNotification(message);
          if (alertsSound)   PlaySound("alert2.wav");
          if (filehandle)    FileOpen("Test.exe",FILE_READ|FILE_CSV);
          
   }
}

int GetRsiAlert(int AlertCandle) {
 if(RSIBuffer[AlertCandle+1]<RsiOverBoughtLevel && RSIBuffer[AlertCandle]>RsiOverBoughtLevel) return(OP_SELL);//RSI RsiOverBoughtLevel
 if(RSIBuffer[AlertCandle+1]>RsiOverSoldLevel && RSIBuffer[AlertCandle]<RsiOverSoldLevel) return(OP_BUY);//RSI RsiOverSoldLevel
 return(99);//nothing
}
Leider wird beim Alarm die "Test.exe" nicht geöffnet...
Indikator im Anhang. Wäre cool von euch wenn sich jemand diesen mal kurz anschaut und die Fehler beseitigt.
Angehängte Dateien
Dateityp: mq4 SimilarFxMTN+RSI_Alerts_V3.mq4 (5,3 KB, 4x aufgerufen)
  #17 (permalink)  
Alt 26.01.15
Mitglied
 
Registriert seit: Sep 2012
Beiträge: 224
pako befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Nap$ter Beitrag anzeigen
So habe mich mal dran gemacht und versucht den Befehl in einen Indikator einzubauen. Leider funktioniert es nicht. Vermutlich irgendwo ein Fehler. Die "Test.exe" Datei ist im File Ordner des MT4's. Hab noch wenig Erfahrung mit dem Programieren von MQL.


Leider wird beim Alarm die "Test.exe" nicht geöffnet...
Indikator im Anhang. Wäre cool von euch wenn sich jemand diesen mal kurz anschaut und die Fehler beseitigt.
Paht "Test.exe" ???
  #18 (permalink)  
Alt 26.01.15
Benutzerbild von Nap$ter
Neues Mitglied
 
Registriert seit: Jan 2015
Beiträge: 21
Nap$ter befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von pako Beitrag anzeigen
Paht "Test.exe" ???
Ich habe eine Test.exe geschrieben zum testen oder was meinst du? Fände es cool wenn du mir den Fehler korrieren könntest, hab wenig erfahrung mit MQL.
  #19 (permalink)  
Alt 26.01.15
Mitglied
 
Registriert seit: Sep 2012
Beiträge: 224
pako befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Nap$ter Beitrag anzeigen
Ich habe eine Test.exe geschrieben zum testen oder was meinst du? Fände es cool wenn du mir den Fehler korrieren könntest, hab wenig erfahrung mit MQL.
adress von "Test.exe"???

zum Beispiel - C:\Program Files (x86)\MetaTrader 4 Terminal\MQL4\Files\Test.exe

Geändert von pako (26.01.15 um 18:25 Uhr)
  #20 (permalink)  
Alt 26.01.15
Mitglied
 
Registriert seit: Sep 2012
Beiträge: 224
pako befindet sich auf einem aufstrebenden Ast
Standard

Code:
//+------------------------------------------------------------------+
//|                                          Check_TerminalPaths.mq4 |
//|                        Copyright 2009, MetaQuotes Software Corp. |
//|                                              https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "2009, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   Print("TERMINAL_PATH = ",TerminalInfoString(TERMINAL_PATH));
   Print("TERMINAL_DATA_PATH = ",TerminalInfoString(TERMINAL_DATA_PATH));
   Print("TERMINAL_COMMONDATA_PATH = ",TerminalInfoString(TERMINAL_COMMONDATA_PATH));
  }
Thema geschlossen

Lesezeichen

Stichworte
alarm editor, alarmeditor, befehl, mql befehl, mql4, mql4 befehl, programmierung, programmierung metatarder

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus




Alle Zeitangaben in WEZ +1. Es ist jetzt 11:46 Uhr.





Suchmaschine - Reisen - Wavesnode - Facebook Forum - Spam Firewall
-----------------------------------------------------------------------------------------------------------------------------
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Powered by vBCMS® 2.7.0 ©2002 - 2024 vbdesigns.de
SEO by vBSEO 3.6.1
Copyright ©2009 - 2023 by Expert-Advisor.com - Das Metatrader Forum
MetaTrader bzw. MetaTrader 4 und MetaTrader 5 sind eingetragene Marken der MetaQuotes Software Corp.
-----------------------------------------------------------------------------------------------------------------------------