Hilfe bei der Codierung - Seite 769

 
Hallo Programmierer


Hoffentlich geht es Ihnen gut. Könnten Sie mir bitte helfen, entfernen Zeitfilter auf dieser EA / machen es falsch und machen den Multiplikator-Faktor einstellbar.


Vielen Dank
Dateien:
EA.mq4  8 kb
 

Liebe mladen, bitte seien Sie ermutigt, den Auftritt in M1 zu sehen.

Danke

 

Hallo zusammen

ich habe mich gefragt, ob mir jemand helfen kann. Ich habe einen Indikator, der im Grunde ein Regressionskanal mit einer Abweichung von 2,0 ist.

Ich habe es in den Meta-Editor, so kann ich hinzufügen, en zwei zusätzliche Linie, um den Indikator, die bei etwa 2,6 und wenn möglich entfernen Sie die Mittellinie wollen.

nach vielen gescheiterten Versuchen scheint es, dass ich nicht herausfinden kann, wie man es macht, also brauche ich Ihre Hilfe, wenn möglich, danke

Dateien:
i-Regr.mq4  6 kb
 

Lieber Mladen,

Ich versuche meine ersten Indikatoren zu programmieren, einer ist ok, einer nicht.....mit deiner Hilfe möchte ich ein besserer Programmierer werden....aber bis jetzt brauche ich wirklich deine Unterstützung....

Meine Idee ist es, einen Indikator zu programmieren, der die EMA des Stocastich-Oszillators....EMA (EMA (Stchastic)))....Ich habe diesen Indikator auf einer Online-Plattform ausprobiert und es war einfach, ihn dort zu programmieren, aber mit MT4 ist es schwieriger und ich mache Fehler, weil es nicht funktioniert......Würden Sie bitte einen Blick darauf werfen und die Fehler beheben, die ich mache?

Vielen Dank für die Unterstützung

Gianluca

Dateien:
 
Mladen Rakic :
Ex4-Datei kann nicht geändert werden

Liebe Mlade,


Ich wäre auch daran interessiert, SL und TP in AngryBird zu haben.


Bitte beachten Sie den beigefügten Kodex


Vielen Dank

Chris

 //íííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí
#property copyright "" 
#property link        ""
//ííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí
double Stoploss = 500.0 ;             // óðîâåíü áåçóáûòêà
double TrailStart = 10.0 ;
double TrailStop = 10.0 ;
//ííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí
extern double LotExponent = 2 ;   // íà ñêîëüêî óìíîæàòü ëîò ïðè âûñòàâëåíèè ñëåäóþùåãî êîëåíà. ïðèìåð: ïåðâûé ëîò 0.1, ñåðèÿ: 0.16, 0.26, 0.43 ...
extern bool     DynamicPips                   = true ; 
extern int      DefaultPips                   = 12 ;
extern int Glubina = 24 ;
extern int DEL = 3 ;
extern double slip = 3.0 ;           // íà ñêîëüêî ìîæåò îòëè÷àòüñÿ öåíà â ñëó÷àå åñëè ÄÖ çàïðîñèò ðåêâîòû (â ïîñëåäíèé ìîìåíò íåìíîãî ïîìåíÿåò öåíó)
extern double Lots = 0.01 ;           // ðàçåð ëîòà äëÿ íà÷àëà òîðãîâ
extern int lotdecimal = 2 ;           // ñêîëüêî çíàêîâ ïîñëå çàïÿòîé â ëîòå ðàññ÷èòûâàòü 0 - íîðìàëüíûå ëîòû (1), 1 - ìèíèëîòû (0.1), 2 - ìèêðî (0.01)
extern double TakeProfit = 20.0 ;     // ïî äîñòèæåíèè ñêîëüêèõ ïóíêòîâ ïðèáûëè çàêðûâàòü ñäåëêó
//extern double PipStep = 30.0;       // øàã ìåæäó âûñòàâëåíèå íîâûõ êîëåí
extern double Drop = 500 ;
extern double RsiMinimum = 30.0 ;     // íèæíÿÿ ãðàíèöà RSI
extern double RsiMaximum = 70.0 ;     // âåðõíÿÿ ãðàíèöà RSI
extern int MagicNumber = 2222 ;       // âîëøåáíîå ÷èñëî (ïîìîãàåò ñîâåòíèêó îòëè÷èòü ñâîè ñòàâêè îò ÷óæèõ)
int PipStep= 0 ;
//íííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí
extern int MaxTrades = 10 ;                 // ìàêñèìàëüíî êîëè÷åñòâî îäíîâðåìåííî îòêðûòûõ îðäåðîâ
extern bool UseEquityStop = FALSE ;
extern double TotalEquityRisk = 20.0 ;
extern bool UseTrailingStop = FALSE ;
extern bool UseTimeOut = FALSE ;             // èñïîëüçîâàòü òàéìàóò (çàêðûâàòü ñäåëêè åñëè îíè "âèñÿò" ñëèøêîì äîëãî)
extern double MaxTradeOpenHours = 48.0 ;     // âðåìÿ òàéìàóòà ñäåëîê â ÷àñàõ (÷åðåç ñêîëüêî çàêðûâàòü çàâèñøèå ñäåëêè)
//íííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí
double PriceTarget, StartEquity, BuyTarget, SellTarget;
double AveragePrice, SellLimit, BuyLimit;
double LastBuyPrice, LastSellPrice, Spread;
bool flag;
string EAName= "Ilan1.6" ;
int timeprev = 0 , expiration;
int NumOfTrades = 0 ;
double iLots;
int cnt = 0 , total;
double Stopper = 0.0 ;
bool TradeNow = FALSE , LongTrade = FALSE , ShortTrade = FALSE ;
int ticket;
bool   NewOrdersPlaced = FALSE ;
double AccountEquityHighAmt, PrevEquity;
//íííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí
int init() {
   Spread = MarketInfo ( Symbol (), MODE_SPREAD ) * Point ;
   return ( 0 );
}

int deinit() {
   return ( 0 );
}
//íííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí
int start()
 {
 if (DynamicPips)  {
     double hival= High [ iHighest ( NULL , 0 , MODE_HIGH ,Glubina, 1 )];     // calculate highest and lowest price from last bar to 24 bars ago
     double loval= Low [ iLowest ( NULL , 0 , MODE_LOW ,Glubina, 1 )];       // chart used for symbol and time period
     PipStep= NormalizeDouble ((hival-loval)/DEL/ Point , 0 );         // calculate pips for spread between orders
     if (PipStep<DefaultPips/DEL) PipStep = NormalizeDouble (DefaultPips/DEL, 0 );
     if (PipStep>DefaultPips*DEL) PipStep = NormalizeDouble (DefaultPips*DEL, 0 );           // if dynamic pips fail, assign pips extreme value
   } // else PipStep = DefaultPips;
   //double filtr_MA = iMA(NULL,60,60,0,0,0,0);
   
   double PrevCl;
   double CurrCl;
   if (UseTrailingStop) TrailingAlls(TrailStart, TrailStop, AveragePrice);
   if (( iCCI ( NULL , 15 , 55 , 0 , 0 )>Drop && ShortTrade)||( iCCI ( NULL , 15 , 55 , 0 , 0 )<(-Drop) && LongTrade)) {
      
         CloseThisSymbolAll();
         Print ( "Closed All due to TimeOut" );
     
   }
   if (timeprev == Time [ 0 ]) return ( 0 );
   timeprev = Time [ 0 ];
   
   double CurrentPairProfit = CalculateProfit();
   if (UseEquityStop) {
       if (CurrentPairProfit < 0.0 && MathAbs (CurrentPairProfit) > TotalEquityRisk / 100.0 * AccountEquityHigh()) {
         CloseThisSymbolAll();
         Print ( "Closed All due to Stop Out" );
         NewOrdersPlaced = FALSE ;
      }
   }
   total = CountTrades();
   if (total == 0 ) flag = FALSE ;
   for (cnt = OrdersTotal () - 1 ; cnt >= 0 ; cnt--) {
       OrderSelect (cnt, SELECT_BY_POS , MODE_TRADES );
       if ( OrderSymbol () != Symbol () || OrderMagicNumber () != MagicNumber) continue ;
       if ( OrderSymbol () == Symbol () && OrderMagicNumber () == MagicNumber) {
         if ( OrderType () == OP_BUY ) {
            LongTrade = TRUE ;
            ShortTrade = FALSE ;
             break ;
         }
      }
       if ( OrderSymbol () == Symbol () && OrderMagicNumber () == MagicNumber) {
         if ( OrderType () == OP_SELL ) {
            LongTrade = FALSE ;
            ShortTrade = TRUE ;
             break ;
         }
      }
   }
   if (total > 0 && total <= MaxTrades) {
       RefreshRates ();
      LastBuyPrice = FindLastBuyPrice();
      LastSellPrice = FindLastSellPrice();
       if (LongTrade && LastBuyPrice - Ask >= PipStep * Point ) TradeNow = TRUE ;
       if (ShortTrade && Bid - LastSellPrice >= PipStep * Point ) TradeNow = TRUE ;
   }
   if (total < 1 ) {
      ShortTrade = FALSE ;
      LongTrade = FALSE ;
      TradeNow = TRUE ;
      StartEquity = AccountEquity ();
   }
   if (TradeNow) {
      LastBuyPrice = FindLastBuyPrice();
      LastSellPrice = FindLastSellPrice();
       if (ShortTrade) {
         NumOfTrades = total;
         iLots = NormalizeDouble (Lots * MathPow (LotExponent, NumOfTrades), lotdecimal);
         RefreshRates ();
         ticket = OpenPendingOrder( 1 , iLots, Bid , slip, Ask , 0 , 0 , EAName + "-" + NumOfTrades + "-" + PipStep, MagicNumber, 0 , HotPink);
         if (ticket < 0 ) {
             Print ( "Error: " , GetLastError ());
             return ( 0 );
         }
         LastSellPrice = FindLastSellPrice();
         TradeNow = FALSE ;
         NewOrdersPlaced = TRUE ;
      } else {
         if (LongTrade) {
            NumOfTrades = total;
            iLots = NormalizeDouble (Lots * MathPow (LotExponent, NumOfTrades), lotdecimal);
            ticket = OpenPendingOrder( 0 , iLots, Ask , slip, Bid , 0 , 0 , EAName + "-" + NumOfTrades + "-" + PipStep, MagicNumber, 0 , Lime);
             if (ticket < 0 ) {
               Print ( "Error: " , GetLastError ());
               return ( 0 );
            }
            LastBuyPrice = FindLastBuyPrice();
            TradeNow = FALSE ;
            NewOrdersPlaced = TRUE ;
         }
      }
   }
   if (TradeNow && total < 1 ) {
      PrevCl = iClose ( Symbol (), 0 , 2 );
      CurrCl = iClose ( Symbol (), 0 , 1 );
      SellLimit = Bid ;
      BuyLimit = Ask ;
       if (!ShortTrade && !LongTrade) {
         NumOfTrades = total;
         iLots = NormalizeDouble (Lots * MathPow (LotExponent, NumOfTrades), lotdecimal);
         if (PrevCl > CurrCl) {
             if ( iRSI ( NULL , PERIOD_H1 , 14 , PRICE_CLOSE , 1 ) > RsiMinimum ) {
               ticket = OpenPendingOrder( 1 , iLots, SellLimit, slip, SellLimit, 0 , 0 , EAName + "-" + NumOfTrades, MagicNumber, 0 , HotPink);
               if (ticket < 0 ) {
                   Print ( "Error: " , GetLastError ());
                   return ( 0 );
               }
               LastBuyPrice = FindLastBuyPrice();
               NewOrdersPlaced = TRUE ;
            }
         } else {
             if ( iRSI ( NULL , PERIOD_H1 , 14 , PRICE_CLOSE , 1 ) < RsiMaximum ) {
               ticket = OpenPendingOrder( 0 , iLots, BuyLimit, slip, BuyLimit, 0 , 0 , EAName + "-" + NumOfTrades, MagicNumber, 0 , Lime);
               if (ticket < 0 ) {
                   Print ( "Error: " , GetLastError ());
                   return ( 0 );
               }
               LastSellPrice = FindLastSellPrice();
               NewOrdersPlaced = TRUE ;
            }
         }
         if (ticket > 0 ) expiration = TimeCurrent () + 60.0 * ( 60.0 * MaxTradeOpenHours);
         TradeNow = FALSE ;
      }
   }
   total = CountTrades();
   AveragePrice = 0 ;
   double Count = 0 ;
   for (cnt = OrdersTotal () - 1 ; cnt >= 0 ; cnt--) {
       OrderSelect (cnt, SELECT_BY_POS , MODE_TRADES );
       if ( OrderSymbol () != Symbol () || OrderMagicNumber () != MagicNumber) continue ;
       if ( OrderSymbol () == Symbol () && OrderMagicNumber () == MagicNumber) {
         if ( OrderType () == OP_BUY || OrderType () == OP_SELL ) {
            AveragePrice += OrderOpenPrice () * OrderLots ();
            Count += OrderLots ();
         }
      }
   }
   if (total > 0 ) AveragePrice = NormalizeDouble (AveragePrice / Count, Digits );
   if (NewOrdersPlaced) {
       for (cnt = OrdersTotal () - 1 ; cnt >= 0 ; cnt--) {
         OrderSelect (cnt, SELECT_BY_POS , MODE_TRADES );
         if ( OrderSymbol () != Symbol () || OrderMagicNumber () != MagicNumber) continue ;
         if ( OrderSymbol () == Symbol () && OrderMagicNumber () == MagicNumber) {
             if ( OrderType () == OP_BUY ) {
               PriceTarget = AveragePrice + TakeProfit * Point ;
               BuyTarget = PriceTarget;
               Stopper = AveragePrice - Stoploss * Point ;
               flag = TRUE ;
            }
         }
         if ( OrderSymbol () == Symbol () && OrderMagicNumber () == MagicNumber) {
             if ( OrderType () == OP_SELL ) {
               PriceTarget = AveragePrice - TakeProfit * Point ;
               SellTarget = PriceTarget;
               Stopper = AveragePrice + Stoploss * Point ;
               flag = TRUE ;
            }
         }
      }
   }
   if (NewOrdersPlaced) {
       if (flag == TRUE ) {
         for (cnt = OrdersTotal () - 1 ; cnt >= 0 ; cnt--) {
             OrderSelect (cnt, SELECT_BY_POS , MODE_TRADES );
             if ( OrderSymbol () != Symbol () || OrderMagicNumber () != MagicNumber) continue ;
             if ( OrderSymbol () == Symbol () && OrderMagicNumber () == MagicNumber) OrderModify ( OrderTicket (), NormalizeDouble (AveragePrice, Digits ), NormalizeDouble ( OrderStopLoss (), Digits ), NormalizeDouble (PriceTarget, Digits ), 0 , Yellow);
            NewOrdersPlaced = FALSE ;
         }
      }
   }
   return ( 0 );
}
//ííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí

int CountTrades() {
   int count = 0 ;
   for ( int trade = OrdersTotal () - 1 ; trade >= 0 ; trade--) {
       OrderSelect (trade, SELECT_BY_POS , MODE_TRADES );
       if ( OrderSymbol () != Symbol () || OrderMagicNumber () != MagicNumber) continue ;
       if ( OrderSymbol () == Symbol () && OrderMagicNumber () == MagicNumber)
         if ( OrderType () == OP_SELL || OrderType () == OP_BUY ) count++;
   }
   return (count);
}
//íííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí

void CloseThisSymbolAll() {
   for ( int trade = OrdersTotal () - 1 ; trade >= 0 ; trade--) {
       OrderSelect (trade, SELECT_BY_POS , MODE_TRADES );
       if ( OrderSymbol () == Symbol ()) {
         if ( OrderSymbol () == Symbol () && OrderMagicNumber () == MagicNumber) {
             if ( OrderType () == OP_BUY ) OrderClose ( OrderTicket (), OrderLots (), Bid , slip, Blue);
             if ( OrderType () == OP_SELL ) OrderClose ( OrderTicket (), OrderLots (), Ask , slip, Red);
         }
         Sleep ( 1000 );
      }
   }
}

//íííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí

int OpenPendingOrder( int pType, double pLots, double pLevel, int sp, double pr, int sl, int tp, string pComment, int pMagic, int pDatetime, color pColor) {
   int ticket = 0 ;
   int err = 0 ;
   int c = 0 ;
   int NumberOfTries = 100 ;
   switch (pType) {
   case 2 :
       for (c = 0 ; c < NumberOfTries; c++) {
         ticket = OrderSend ( Symbol (), OP_BUYLIMIT , pLots, pLevel, sp, StopLong(pr, sl), TakeLong(pLevel, tp), pComment, pMagic, pDatetime, pColor);
         err = GetLastError ();
         if (err == 0 /* NO_ERROR */ ) break ;
         if (!(err == 4 /* SERVER_BUSY */ || err == 137 /* BROKER_BUSY */ || err == 146 /* TRADE_CONTEXT_BUSY */ || err == 136 /* OFF_QUOTES */ )) break ;
         Sleep ( 1000 );
      }
       break ;
   case 4 :
       for (c = 0 ; c < NumberOfTries; c++) {
         ticket = OrderSend ( Symbol (), OP_BUYSTOP , pLots, pLevel, sp, StopLong(pr, sl), TakeLong(pLevel, tp), pComment, pMagic, pDatetime, pColor);
         err = GetLastError ();
         if (err == 0 /* NO_ERROR */ ) break ;
         if (!(err == 4 /* SERVER_BUSY */ || err == 137 /* BROKER_BUSY */ || err == 146 /* TRADE_CONTEXT_BUSY */ || err == 136 /* OFF_QUOTES */ )) break ;
         Sleep ( 5000 );
      }
       break ;
   case 0 :
       for (c = 0 ; c < NumberOfTries; c++) {
         RefreshRates ();
         ticket = OrderSend ( Symbol (), OP_BUY , pLots, NormalizeDouble ( Ask , Digits ), sp, NormalizeDouble (StopLong( Bid , sl), Digits ), NormalizeDouble (TakeLong( Ask , tp), Digits ), pComment, pMagic, pDatetime, pColor);
         err = GetLastError ();
         if (err == 0 /* NO_ERROR */ ) break ;
         if (!(err == 4 /* SERVER_BUSY */ || err == 137 /* BROKER_BUSY */ || err == 146 /* TRADE_CONTEXT_BUSY */ || err == 136 /* OFF_QUOTES */ )) break ;
         Sleep ( 5000 );
      }
       break ;
   case 3 :
       for (c = 0 ; c < NumberOfTries; c++) {
         ticket = OrderSend ( Symbol (), OP_SELLLIMIT , pLots, pLevel, sp, StopShort(pr, sl), TakeShort(pLevel, tp), pComment, pMagic, pDatetime, pColor);
         err = GetLastError ();
         if (err == 0 /* NO_ERROR */ ) break ;
         if (!(err == 4 /* SERVER_BUSY */ || err == 137 /* BROKER_BUSY */ || err == 146 /* TRADE_CONTEXT_BUSY */ || err == 136 /* OFF_QUOTES */ )) break ;
         Sleep ( 5000 );
      }
       break ;
   case 5 :
       for (c = 0 ; c < NumberOfTries; c++) {
         ticket = OrderSend ( Symbol (), OP_SELLSTOP , pLots, pLevel, sp, StopShort(pr, sl), TakeShort(pLevel, tp), pComment, pMagic, pDatetime, pColor);
         err = GetLastError ();
         if (err == 0 /* NO_ERROR */ ) break ;
         if (!(err == 4 /* SERVER_BUSY */ || err == 137 /* BROKER_BUSY */ || err == 146 /* TRADE_CONTEXT_BUSY */ || err == 136 /* OFF_QUOTES */ )) break ;
         Sleep ( 5000 );
      }
       break ;
   case 1 :
       for (c = 0 ; c < NumberOfTries; c++) {
         ticket = OrderSend ( Symbol (), OP_SELL , pLots, NormalizeDouble ( Bid , Digits ), sp, NormalizeDouble (StopShort( Ask , sl), Digits ), NormalizeDouble (TakeShort( Bid , tp), Digits ), pComment, pMagic, pDatetime, pColor);
         err = GetLastError ();
         if (err == 0 /* NO_ERROR */ ) break ;
         if (!(err == 4 /* SERVER_BUSY */ || err == 137 /* BROKER_BUSY */ || err == 146 /* TRADE_CONTEXT_BUSY */ || err == 136 /* OFF_QUOTES */ )) break ;
         Sleep ( 5000 );
      }
   }
   return (ticket);
}
//íííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí
double StopLong( double price, int stop) {
   if (stop == 0 ) return ( 0 );
   else return (price - stop * Point );
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
double StopShort( double price, int stop) {
   if (stop == 0 ) return ( 0 );
   else return (price + stop * Point );
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
double TakeLong( double price, int stop) {
   if (stop == 0 ) return ( 0 );
   else return (price + stop * Point );
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
double TakeShort( double price, int stop) {
   if (stop == 0 ) return ( 0 );
   else return (price - stop * Point );
}
//íííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí
double CalculateProfit() {
   double Profit = 0 ;
   for (cnt = OrdersTotal () - 1 ; cnt >= 0 ; cnt--) {
       OrderSelect (cnt, SELECT_BY_POS , MODE_TRADES );
       if ( OrderSymbol () != Symbol () || OrderMagicNumber () != MagicNumber) continue ;
       if ( OrderSymbol () == Symbol () && OrderMagicNumber () == MagicNumber)
         if ( OrderType () == OP_BUY || OrderType () == OP_SELL ) Profit += OrderProfit ();
   }
   return (Profit);
}
//íííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí
void TrailingAlls( int pType, int stop, double AvgPrice) {
   int profit;
   double stoptrade;
   double stopcal;
   if (stop != 0 ) {
       for ( int trade = OrdersTotal () - 1 ; trade >= 0 ; trade--) {
         if ( OrderSelect (trade, SELECT_BY_POS , MODE_TRADES )) {
             if ( OrderSymbol () != Symbol () || OrderMagicNumber () != MagicNumber) continue ;
             if ( OrderSymbol () == Symbol () || OrderMagicNumber () == MagicNumber) {
               if ( OrderType () == OP_BUY ) {
                  profit = NormalizeDouble (( Bid - AvgPrice) / Point , 0 );
                   if (profit < pType) continue ;
                  stoptrade = OrderStopLoss ();
                  stopcal = Bid - stop * Point ;
                   if (stoptrade == 0.0 || (stoptrade != 0.0 && stopcal > stoptrade)) OrderModify ( OrderTicket (), AvgPrice, stopcal, OrderTakeProfit (), 0 , Aqua);
               }
               if ( OrderType () == OP_SELL ) {
                  profit = NormalizeDouble ((AvgPrice - Ask ) / Point , 0 );
                   if (profit < pType) continue ;
                  stoptrade = OrderStopLoss ();
                  stopcal = Ask + stop * Point ;
                   if (stoptrade == 0.0 || (stoptrade != 0.0 && stopcal < stoptrade)) OrderModify ( OrderTicket (), AvgPrice, stopcal, OrderTakeProfit (), 0 , Red);
               }
            }
             Sleep ( 1000 );
         }
      }
   }
}
//íííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí

double AccountEquityHigh() {
   if (CountTrades() == 0 ) AccountEquityHighAmt = AccountEquity ();
   if (AccountEquityHighAmt < PrevEquity) AccountEquityHighAmt = PrevEquity;
   else AccountEquityHighAmt = AccountEquity ();
   PrevEquity = AccountEquity ();
   return (AccountEquityHighAmt);
}
//íííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí

double FindLastBuyPrice() {
   double oldorderopenprice;
   int oldticketnumber;
   double unused = 0 ;
   int ticketnumber = 0 ;
   for ( int cnt = OrdersTotal () - 1 ; cnt >= 0 ; cnt--) {
       OrderSelect (cnt, SELECT_BY_POS , MODE_TRADES );
       if ( OrderSymbol () != Symbol () || OrderMagicNumber () != MagicNumber) continue ;
       if ( OrderSymbol () == Symbol () && OrderMagicNumber () == MagicNumber && OrderType () == OP_BUY ) {
         oldticketnumber = OrderTicket ();
         if (oldticketnumber > ticketnumber) {
            oldorderopenprice = OrderOpenPrice ();
            unused = oldorderopenprice;
            ticketnumber = oldticketnumber;
         }
      }
   }
   return (oldorderopenprice);
}

double FindLastSellPrice() {
   double oldorderopenprice;
   int oldticketnumber;
   double unused = 0 ;
   int ticketnumber = 0 ;
   for ( int cnt = OrdersTotal () - 1 ; cnt >= 0 ; cnt--) {
       OrderSelect (cnt, SELECT_BY_POS , MODE_TRADES );
       if ( OrderSymbol () != Symbol () || OrderMagicNumber () != MagicNumber) continue ;
       if ( OrderSymbol () == Symbol () && OrderMagicNumber () == MagicNumber && OrderType () == OP_SELL ) {
         oldticketnumber = OrderTicket ();
         if (oldticketnumber > ticketnumber) {
            oldorderopenprice = OrderOpenPrice ();
            unused = oldorderopenprice;
            ticketnumber = oldticketnumber;
         }
      }
   }
   return (oldorderopenprice);
}
//ííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííííí
 

Bitte könnte jemand so freundlich sein, diesem Indikator die Fensteroption hinzuzufügen?

Ich habe keine Ahnung vom Programmieren!


Vielen Dank im Voraus Max

Dateien:
true_trend.mq4  32 kb
 

Hallo!

Ich möchte, dass die Trendanzeige des Lawgirls die Richtung der Stochastik anstelle des RSI anzeigt. Kann jemand das tun?

 

Hallo, ...
bitte machen Sie den Indikator zu einem einfachen EA nur für Close Positions, die Fibo-Linie ist nur für Close Open Position (Close Positions with Profit only) bei jeder Berührung der Fibo-Linie...
OP mit manualy

Vielen Dank im Voraus

Dateien:
 
Forexpaco: Ich möchte hinzufügen
Sie haben nur vier Möglichkeiten: Wir werden es nicht für Sie programmieren (obwohl es passieren könnte, wenn Sie Glück haben oder das Problem interessant ist). Wir sind bereit, Ihnen zu helfen, wenn Sie Ihren Versuch (mitSRC) und die Art Ihres Problems posten.
Keine kostenlose Hilfe
dringende Hilfe.
 

Hallo

Ich brauche Hilfe, wenn jemand diese einen Indikator codieren kann.

die Regeln sind wie folgt:

1. Verwenden Sie für H1 oben, aber sehr empfohlen, H4

2. Indikator wird mit Alarm zu benachrichtigen, wenn es Kerze Bullish brechen hoch niedrig Kerze bearish vor oder Kerze bearish brechen hoch niedrig Kerze Bullish vor mindestens 1 pip

3. brauchen auch die Möglichkeit, eineBenachrichtigung an das Handy zusenden.


Vielen Dank für Ihre Freundlichkeit

Grund der Beschwerde: