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: 4621
Beiträge: 41671
Benutzer: 6.996
Aktive Benutzer: 183
Links: 82
Wir begrüßen unseren neuesten Benutzer: baalexeyfranesay3088
Mit 2.475 Benutzern waren die meisten Benutzer gleichzeitig online (16.01.20 um 22:38).
Neue Benutzer:
vor 2 Stunden
- baalexeyfr...
vor 6 Tagen
- Tbened
vor einer Woche
- coinboy
vor einer Woche
- Kat34r
vor 2 Wochen
- Goldstream

Onlineuser
'Wer ist online' anzeigen Benutzer: 2
Gäste: 82
Gesamt: 84
Team: 0
Team:  
Benutzer:  Indikator-Trading, noSkill06s
Freunde anzeigen

Empfehlungen

Like Tree2Likes
Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
  #21 (permalink)  
Alt vor 3 Wochen
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.074
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von daybyter Beitrag anzeigen
Ich hab die Orders bei mir in einem Array verwaltet, das in einer Klasse war. Da hab ich dann Methoden eingebaut, um z.B. den aktuellen Profit über alle Orders zu beobachten.

Das wäre auch mein Tipp für Dich. Statt OrderOpenPrice in Relation zu Ask/Bid zu setzen, könntest Du einfach den aktuellen Profit mit OrderProfit checken?
OrderProfit() ? Ich glaube, das ist besser mit Pips.

Lad vielleicht mal Deinen Hedge-EA hoch. Ist der für längere Haltedauer? Wie gesagt ist mein EA eher als Scalper gedacht. Ein Sell und ein Buy öffnen, schaun in welche Richtung es zu gehn scheint, und in diese dann immer wieder doppelt so Viele weitere Orders öffnen. Derzeit wenn Ask/Bid 12P über/unter dem jeweiligen OrderOpenPrice() der zuletzt geöffneten Order sind. Wenn die neuen Orders auch wieder 12P über/unter ihrem OOP() sind, werden wieder doppelt so viele Orders in diese Richtung geöffnet und immer so weiter. Wenn Ask/Bid irgendwann (derzeit)32P über/unter dem OOP() der allerersten Orders sind, werden mit ner for-Loop alle noch offenen Orders geschlossen und das ganze Spielchen geht von vorne los. Ich versuchs erst mal mit vielen kleinen Durchläufen...
Angehängte Dateien
Dateityp: mq4 LoShDistV3.mq4 (37,8 KB, 2x aufgerufen)

Geändert von MA-EA (vor 3 Wochen um 13:13 Uhr)
Mit Zitat antworten
  #22 (permalink)  
Alt vor 3 Wochen
Mitglied
 
Registriert seit: Apr 2018
Beiträge: 94
daybyter befindet sich auf einem aufstrebenden Ast
Standard

Guck mal da:

MQL4 Framework
Mit Zitat antworten
  #23 (permalink)  
Alt vor 2 Wochen
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.074
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Moin.

Der EA scheint Gewinn machen zu können, allerdings schließt er nie eine Order wie er soll. Fehlermeldungen oder Warnungen gibts Keine. Und der Code ist doch eigentlich richtig. Trotzdem schließt er ne irgendwelche Orders, wie er eigentlich müsste.
Code:
//=============================================================================================================
// C L O S E   A L L   O R D E R S   B Y   S E L L   D I S T
//=============================================================================================================
//Prüfen, ob letzter NextSell ONO-Dist erreicht hat.
if(OrderSelect(TI_NeSel,SELECT_BY_TICKET)){
  NeSelOOP_DONO=NormalizeDouble( OrderOpenPrice() - Dist_ONO *_Point,_Digits);
  if( Bid <= NeSelOOP_DONO ){

//  Wenn letzter NextSell ONO-Dist erreicht hat, FirstSell raus suchen.
    if(OrderSelect(TI_FiSel,SELECT_BY_TICKET)){

//    Wenn FirstSell Gewinn-Dist erreicht hat...
      FiSelOOP_DCAO = NormalizeDouble( OrderOpenPrice() - Dist_CAO *_Point,_Digits);
      if( Ask < FiSelOOP_DCAO ){

//      ...CloseAll_"by_Short" auf true setzen...
        caSH=true;

//      ...Lots erhöhen...
        Lots = OrderLots() + LotsPlus; // ? 
} } } } 

//...und alle Orders schließen.
if(caSH==true){
for(u=OrdersTotal()-1;u>=0;u--){
if(OrderSelect(u,SELECT_BY_POS)){
if(OrderSymbol()==Symbol()){
if(OrderMagicNumber()==MN_FiBuy){
if(IsTradeAllowed()==true)OCsel=OrderClose(OrderTicket(),OrderLots(),NULL,Slippage,clrRed);
if(IsTradeContextBusy()==true)Sleep(slMS);}
if(OrderMagicNumber()==MN_NeBuy){
if(IsTradeAllowed()==true)OCsel=OrderClose(OrderTicket(),OrderLots(),NULL,Slippage,clrRed);
if(IsTradeContextBusy()==true)Sleep(slMS);}
if(OrderMagicNumber()==MN_NeSel){
if(IsTradeAllowed()==true)OCsel=OrderClose(OrderTicket(),OrderLots(),NULL,Slippage,clrRed);
if(IsTradeContextBusy()==true)Sleep(slMS);}
if(OrderMagicNumber()==MN_FiSel){
if(IsTradeAllowed()==true)OCsel=OrderClose(OrderTicket(),OrderLots(),NULL,Slippage,clrRed);
if(IsTradeContextBusy()==true)Sleep(slMS);}
} } } }
//=============================================================================================================
// C L O S E   A L L   O R D E R S   B Y   B U Y   D I S T
//=============================================================================================================
//Prüfen, ob letzter NextBuy OpenNextOrder-Dist erreicht hat:
if(OrderSelect(TI_NeBuy,SELECT_BY_TICKET)){

  NeBuyOOP_DONO=NormalizeDouble( OrderOpenPrice() + Dist_ONO *_Point,_Digits);
  if( Ask >= NeBuyOOP_DONO ){

//  Wenn ja, FirstBuy raus suchen.
    if(OrderSelect(TI_FiBuy,SELECT_BY_TICKET)){

//    Wenn FirstBuy Gewinn-Dist erreicht hat...
      FiBuyOOP_DCAO = NormalizeDouble( OrderOpenPrice() + Dist_CAO *_Point,_Digits);
      if( Bid > FiBuyOOP_DCAO ){

        caLO=true;

//      ...Lots erhöhen...
        Lots = OrderLots() + LotsPlus; // ?
} } } }

//...und alle Orders schließen.
if(caLO==true){
for(w=OrdersTotal()-1;w>=0;w--){
if(OrderSelect(w,SELECT_BY_POS)){
if(OrderSymbol()==Symbol()){
if(OrderMagicNumber()==MN_FiSel){
if(IsTradeAllowed()==true)OCbuy=OrderClose(OrderTicket(),OrderLots(),NULL,Slippage,clrRed);
if(IsTradeContextBusy()==true)Sleep(slMS);}
if(OrderMagicNumber()==MN_NeSel){
if(IsTradeAllowed()==true)OCbuy=OrderClose(OrderTicket(),OrderLots(),NULL,Slippage,clrRed);
if(IsTradeContextBusy()==true)Sleep(slMS);}
if(OrderMagicNumber()==MN_FiBuy){
if(IsTradeAllowed()==true)OCbuy=OrderClose(OrderTicket(),OrderLots(),NULL,Slippage,clrRed);
if(IsTradeContextBusy()==true)Sleep(slMS);}
if(OrderMagicNumber()==MN_NeBuy){
if(IsTradeAllowed()==true)OCbuy=OrderClose(OrderTicket(),OrderLots(),NULL,Slippage,clrRed);
if(IsTradeContextBusy()==true)Sleep(slMS);}
} } } }
Angehängte Grafiken
Dateityp: gif LoSh_2020-01-04.gif (6,3 KB, 4x aufgerufen)
Angehängte Dateien
Dateityp: mq4 LoShDistV3.mq4 (32,0 KB, 0x aufgerufen)
Mit Zitat antworten
  #24 (permalink)  
Alt vor 2 Wochen
Mitglied
 
Registriert seit: Apr 2018
Beiträge: 94
daybyter befindet sich auf einem aufstrebenden Ast
Standard

Lass den EA im Tester laufen und such Dir eine Stelle, wo der Fehler auftritt. Dann mach Print Ausgaben rein und lass den EA immer wieder uber die Stelle laufen, bis Du den Fehler aussortiert hast.
Mit Zitat antworten
  #25 (permalink)  
Alt vor 2 Wochen
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.074
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Hab ich vorhin gemacht. Sieht so aus, als ob das mit den Tickets nicht hin haut. Er scheint da was durcheinander zu bringen. Liegts vielleicht daran, dass an einigen Stellen die ersten Tickets aufgerufen, mit der Order Berechnungen/Vergleiche gemacht werden, und gleich darauf andere Order(s) über ihr Ticket aufgerufen werden, wieder Berechnungen/Vergleiche gemacht werden? Wenn beide Orders bestimmte Bedingungen erfüllen/nicht erfüllen, sollen entweder weitere Orders geöffnet oder Alle geschlossen werden.

Das gefiel mir aber sowieso nicht wirklich mit den Tickets. Er soll immer wieder die zuletzt geöffnete Order raus suchen und mit der dann halt Berechnungen/Vergleiche machen. Um dann eben entweder Weitere zu öffnen oder Alle zu schließen.

Zu meiner Verteidigung: Wie soll ich wissen, dass das Ding anscheinend nicht richtig mit (4) Tickets umgehn kann? Dachte immer, irgendwas Anderes wär falsch.

Die ersten 2 OrderSend-Geschichten scheinen zu funktionieren. Danach scheint er irgendwie die Tickets durcheinander zu bringen oder zu vergessen. Wenn ers nicht schon vorher tut.
Code:
//  ...FirstSell öffnen:
    if(IsTradeAllowed()==true){
      TI_FiSel=OrderSend(Symbol(),OP_SELL,Lots,NULL,Slippage,SL_Sel,TP_Sel,NULL,MN_FiSel,clrBlue);
      if(IsTradeContextBusy()==true)Sleep(slMS);
      Opened_Sel++;
      Need_Sel = OrdersNeed_Multi * Opened_Sel;
      Need_Buy = OrdersNeed_Multi * Need_Sel;}

//  ...FirstBuy öffnen:
    if(IsTradeAllowed()==true){
      TI_FiBuy=OrderSend(Symbol(),OP_BUY,Lots,NULL,Slippage,SL_Buy,TP_Buy,NULL,MN_FiBuy,clrBlue);
      if(IsTradeContextBusy()==true)Sleep(slMS);
      Opened_Buy++;
      Need_Buy = OrdersNeed_Multi * Opened_Buy;
      Need_Sel = OrdersNeed_Multi * Need_Buy;}


...



// Wenn FirstSell Bedingungen erfüllt, next Sell öffnen.
if(OrderSelect(TI_FiSel,SELECT_BY_TICKET)){
  FiSelOOP_DistONO=NormalizeDouble( OrderOpenPrice() - Dist_ONO *_Point,_Digits);
  if( Bid <= FiSelOOP_DistONO ){
    for( l=Need_Sel ; l>=1 ; l-- ){
      if(IsTradeAllowed()==true)TI_NeSel=OrderSend(Symbol(),OP_SELL,Lots,NULL,Slippage,SL_Sel,TP_Sel,NULL,MN_NeSel,clrBlue);
      if(IsTradeContextBusy()==true)Sleep(slMS);
      Opened_Sel++;
      Need_Sel = OrdersNeed_Multi * Opened_Sel;
      Need_Buy = OrdersNeed_Multi * Need_Sel;} }
}
//=============================================================================================================
// O P E N   F I R S T   N E X T   B U Y
//=============================================================================================================// FirstBuy auswählen...
// Wenn FirstBuy Bedingungen erfüllt,next Buy öffnen.       
if(OrderSelect(TI_FiBuy,SELECT_BY_TICKET)){
  FiBuyOOP_DistONO=NormalizeDouble( OrderOpenPrice() + Dist_ONO *_Point,_Digits);
  if( Ask >= FiBuyOOP_DistONO ){
    for( m=Need_Buy ; m>=1 ; m-- ){
      if(IsTradeAllowed()==true)TI_NeBuy=OrderSend(Symbol(),OP_BUY,Lots,NULL,Slippage,SL_Buy,TP_Buy,NULL,MN_NeBuy,clrBlue);
      if(IsTradeContextBusy()==true)Sleep(slMS);
      Opened_Buy++;
      Need_Buy = OrdersNeed_Multi * Opened_Buy;
      Need_Sel = OrdersNeed_Multi * Need_Buy;} }


...


//=============================================================================================================
// C H E C K   F I R S T   A N D   N E X T   S E L L   O R D E R S
//=============================================================================================================//
//Prüfen, ob letzter NextSell OpenNextOrder-Dist erreicht hat.
if(OrderSelect(TI_NeSel,SELECT_BY_TICKET)){
  NeSelOOP_DONO=NormalizeDouble( OrderOpenPrice() - Dist_ONO *_Point,_Digits);
  if( Bid <= NeSelOOP_DONO ){

//  Wenn ja, FirstSell raussuchen.
    if(OrderSelect(TI_FiSel,SELECT_BY_TICKET)){
    
//    Wenn FirstSell Gewinn-Distanz nicht erreicht hat... 
      FiSelOOP_DCAO = NormalizeDouble( OrderOpenPrice() - Dist_CAO *_Point,_Digits);
      if( Ask > FiSelOOP_DCAO ){

//      ...weitere Sell_Orders öffnen.
        for( l=Need_Sel ; l>=1 ; l-- ){
          if(IsTradeAllowed()==true)TI_NeSel=OrderSend(Symbol(),OP_SELL,Lots,NULL,Slippage,SL_Sel,TP_Sel,NULL,MN_NeSel,clrBlue);
          if(IsTradeContextBusy()==true)Sleep(slMS);
          Opened_Sel++;
          Need_Sel = OrdersNeed_Multi * Opened_Sel;
          Need_Buy = OrdersNeed_Multi * Need_Sel;} }// ?
} } }
//=============================================================================================================
// C H E C K   F I R S T   A N D   N E X T   B U Y   O R D E R S
//=============================================================================================================
//Prüfen, ob letzter NextBuy OpenNextOrder-Dist erreicht hat:
if(OrderSelect(TI_NeBuy,SELECT_BY_TICKET)){
  NeBuyOOP_DONO=NormalizeDouble( OrderOpenPrice() + Dist_ONO *_Point,_Digits);
  if( Ask >= NeBuyOOP_DONO ){

//  Wenn ja, FirstBuy raus suchen.
    if(OrderSelect(TI_FiBuy,SELECT_BY_TICKET)){

//    Prüfen, ob FirstBuy Gewinn-Distanz erreicht hat.   
      FiBuyOOP_DCAO=NormalizeDouble( OrderOpenPrice() + Dist_CAO *_Point,_Digits);

//    Wenn FirstBuy Gewinn-Distanz nicht erreicht hat...       
      if( Bid < FiBuyOOP_DCAO ){
      
//      weitere Buy-Orders öffnen. 
        for( s=Need_Buy ; s>=1 ; s-- ){
          if(IsTradeAllowed()==true)TI_NeBuy=OrderSend(Symbol(),OP_BUY,Lots,NULL,Slippage,SL_Buy,TP_Buy,NULL,MN_NeBuy,clrBlue);
          if(IsTradeContextBusy()==true)Sleep(slMS);
          Opened_Buy++;
          Need_Buy = OrdersNeed_Multi * Opened_Buy;
          Need_Sel = OrdersNeed_Multi * Need_Buy;} }
} } }


...


//=============================================================================================================
// C L O S E   A L L   O R D E R S   B Y   S E L L   D I S T
//=============================================================================================================
//Prüfen, ob letzter NextSell ONO-Dist erreicht hat.
if(OrderSelect(TI_NeSel,SELECT_BY_TICKET)){
  NeSelOOP_DONO=NormalizeDouble( OrderOpenPrice() - Dist_ONO *_Point,_Digits);
  if( Bid <= NeSelOOP_DONO ){

//  Wenn letzter NextSell ONO-Dist erreicht hat, FirstSell raus suchen.
    if(OrderSelect(TI_FiSel,SELECT_BY_TICKET)){

//    Wenn FirstSell Gewinn-Dist erreicht hat...
      FiSelOOP_DCAO = NormalizeDouble( OrderOpenPrice() - Dist_CAO *_Point,_Digits);
      if( Ask < FiSelOOP_DCAO ){

//      ...CloseAll_"by_Short" auf true setzen...
        caSH=true;

//      ...Lots erhöhen...
        Lots = OrderLots() + LotsPlus; // ? 
} } } } 

//...und alle Orders schließen.
if(caSH==true){
for(u=OrdersTotal()-1;u>=0;u--){
if(OrderSelect(u,SELECT_BY_POS)){
if(OrderSymbol()==Symbol()){
if(OrderMagicNumber()==MN_FiBuy){
if(IsTradeAllowed()==true)OCsel=OrderClose(OrderTicket(),OrderLots(),NULL,Slippage,clrRed);
if(IsTradeContextBusy()==true)Sleep(slMS);}
if(OrderMagicNumber()==MN_NeBuy){
if(IsTradeAllowed()==true)OCsel=OrderClose(OrderTicket(),OrderLots(),NULL,Slippage,clrRed);
if(IsTradeContextBusy()==true)Sleep(slMS);}
if(OrderMagicNumber()==MN_NeSel){
if(IsTradeAllowed()==true)OCsel=OrderClose(OrderTicket(),OrderLots(),NULL,Slippage,clrRed);
if(IsTradeContextBusy()==true)Sleep(slMS);}
if(OrderMagicNumber()==MN_FiSel){
if(IsTradeAllowed()==true)OCsel=OrderClose(OrderTicket(),OrderLots(),NULL,Slippage,clrRed);
if(IsTradeContextBusy()==true)Sleep(slMS);}
} } } }
//=============================================================================================================
// C L O S E   A L L   O R D E R S   B Y   B U Y   D I S T
//=============================================================================================================
//Prüfen, ob letzter NextBuy OpenNextOrder-Dist erreicht hat:
if(OrderSelect(TI_NeBuy,SELECT_BY_TICKET)){

  NeBuyOOP_DONO=NormalizeDouble( OrderOpenPrice() + Dist_ONO *_Point,_Digits);
  if( Ask >= NeBuyOOP_DONO ){

//  Wenn ja, FirstBuy raus suchen.
    if(OrderSelect(TI_FiBuy,SELECT_BY_TICKET)){

//    Wenn FirstBuy Gewinn-Dist erreicht hat...
      FiBuyOOP_DCAO = NormalizeDouble( OrderOpenPrice() + Dist_CAO *_Point,_Digits);
      if( Bid > FiBuyOOP_DCAO ){

        caLO=true;

//      ...Lots erhöhen...
        Lots = OrderLots() + LotsPlus; // ?
} } } }

//...und alle Orders schließen.
if(caLO==true){
for(w=OrdersTotal()-1;w>=0;w--){
if(OrderSelect(w,SELECT_BY_POS)){
if(OrderSymbol()==Symbol()){
if(OrderMagicNumber()==MN_FiSel){
if(IsTradeAllowed()==true)OCbuy=OrderClose(OrderTicket(),OrderLots(),NULL,Slippage,clrRed);
if(IsTradeContextBusy()==true)Sleep(slMS);}
if(OrderMagicNumber()==MN_NeSel){
if(IsTradeAllowed()==true)OCbuy=OrderClose(OrderTicket(),OrderLots(),NULL,Slippage,clrRed);
if(IsTradeContextBusy()==true)Sleep(slMS);}
if(OrderMagicNumber()==MN_FiBuy){
if(IsTradeAllowed()==true)OCbuy=OrderClose(OrderTicket(),OrderLots(),NULL,Slippage,clrRed);
if(IsTradeContextBusy()==true)Sleep(slMS);}
if(OrderMagicNumber()==MN_NeBuy){
if(IsTradeAllowed()==true)OCbuy=OrderClose(OrderTicket(),OrderLots(),NULL,Slippage,clrRed);
if(IsTradeContextBusy()==true)Sleep(slMS);}
} } } }
Angehängte Dateien
Dateityp: mq4 LoShDistV3.mq4 (32,0 KB, 0x aufgerufen)
Mit Zitat antworten
  #26 (permalink)  
Alt vor einer Woche
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.074
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Hallo.

Eins hab ich nie so richtig kapiert.

So viel ich weiß, wird...

Ein Buy zum Ask geöffnet.
Ein Buy zum Bid geschlossen.

Ein Sell zum Bid geöffnet.
Ein Sell zum Ask geschlossen.

Aber wenn die Buy-/Sell-Order dann im Markt ist, wie findet man dann raus, welchen "Wert" sie gerade hat? Woher weiß man dann den vorrausichtlichen OrderClosePrice? Um selber festzulegen, bei welchem Price sie schliessen sollen oder so. Oder um Break Even/Trailing Stop nachträglich richtig zu berechnen. Oder um vorrausichtlichen Verlust/Gewinn/was-auch-immer zu kalkulieren.

Geändert von MA-EA (vor einer Woche um 00:00 Uhr)
Mit Zitat antworten
  #27 (permalink)  
Alt vor einer Woche
Mitglied
 
Registriert seit: Apr 2018
Beiträge: 94
daybyter befindet sich auf einem aufstrebenden Ast
Standard

Eine Position öffnen oder schließen ist immer eine Handelsaktion.

Für einen Handel brauchst Du immer einen Handelspartner. Sprich: will ich 1 kg Gold kaufen, dann brauch ich jemand der 1 kg Gold verkauft.

Die Menschen sind gierig. Sie wollen viel bekommen und wenig bezahlen. Also ist Ask meist > Bid. Die meisten Menschen verlangen also einen höheren Preis als andere bereit sind zu zahlen.

Diesen Unterschied nennt man Spread.

Will ich _jetzt_ 1 kg Gold kaufen, dann muss ich den billigsten Preis bezahlen, zu dem irgendjemand bereit ist zu verkaufen. Ich bezahle also den Ask Preis.

Will ich dann theoretisch _sofort_ verkaufen, dann muss ich das höchste Gebot nehmen, dass jemand bereit ist zu zahlen, also den Bid Preis.

Ich hätte also den Spread verloren.

Eine Long Position öffnen und schliessen ist nichts anderes als etwas kaufen und wieder verkaufen.

Geh mal auf eine Website wie Deribit und schau Dir mal an, wie sich ein Orderbook bewegt. Dann verstehst Du das besser.
Mit Zitat antworten
  #28 (permalink)  
Alt vor 5 Tagen
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.074
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Hallo.

Ist es besser, die ganzen Orders mit TP/SL zu schließen, oder sollte man das besser den EA berechnen und machen lassen?

Mit TP/SL bräuchte der eigene PC weniger Leistung, vor allem bei der Verbindung. Aber der Broker kann genau sehn, wann Orders geschlossen werden (sollen).
Mit Zitat antworten
  #29 (permalink)  
Alt vor 5 Tagen
Mitglied
 
Registriert seit: Apr 2018
Beiträge: 94
daybyter befindet sich auf einem aufstrebenden Ast
Standard

Du hast das erste Problem schon erkannt. Deshalb geben manche Trader nie den 'echten' SL an, sondern nur einen Not-SL der halt greift, wenn der Kurs mal ganz wegbricht.

TP ist ne andere Diskussion. Da kommt es auf die Strategie an, ob Du besser aktiv aussteigst, oder z.B. nen festen TP nimmst.
Mit Zitat antworten
  #30 (permalink)  
Alt vor 5 Tagen
Elite Mitglied
 
Registriert seit: Sep 2015
Beiträge: 1.074
MA-EA befindet sich auf einem aufstrebenden Ast
Standard

Im Anhang die neueste Version. Müsste Alles richtig sein, kann aber nicht ausschließen, dass vielleicht doch irgendwelche Fehler drin sind. Hab ich noch nicht getestet.

Aber bestimmt kann man Einiges optimieren und einfacher schreiben.
Angehängte Dateien
Dateityp: mq4 LoShD_Ti.mq4 (34,9 KB, 1x aufgerufen)
Mit Zitat antworten
Antwort

Lesezeichen

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 23:53 Uhr.





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