Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 46

 
KarpovNikolay:

Hallo zusammen. Ich bin neu im Handel, ich sitze auf Demo mit Expert Advisors, aber ich möchte real mit $45 beginnen. Ich teste im Moment EAs, also möchte ich Signale verwenden. Ich verwende MT4. Ich habe eine Liste zusammengestellt, aus der ich Sie bitte, mir bei der Auswahl des besten Signals zu helfen. Hier ist die Liste:

https://www.mql5.com/ru/signals/10276

https://www.mql5.com/ru/signals/11021

https://www.mql5.com/ru/signals/6283

https://www.mql5.com/ru/signals/10964

https://www.mql5.com/ru/signals/9649

Das ist Anfängerglück! Aber es ist besser, keine Zeit zu verschwenden, den Handel zu studieren, die Sprache! Vielleicht haben Sie ja Glück!
 
Guten Tag. Helfen Sie mir bitte helfen Sie mir, wenn die Variable sig=1 braucht die pol-Variable, um den Saldo zu erinnern und nicht seinen Wert zu ändern, egal wie lange es weiterhin angezeigt wird und wenn sig=1 wieder die aktuelle zu erinnern, geben Sie mir bitte den Code
 
sannin:
Guten Tag. Helfen Sie mir bitte helfen Sie mir, wenn die Variable sig=1 braucht die pol-Variable, um die Balance zu erinnern und nicht seinen Wert zu ändern, egal wie lange es weiterhin angezeigt wird und wenn sig=1 wieder auf die aktuelle zu erinnern, geben Sie mir bitte den Code
    if (сиг == 1) pol = AccountBalance();
 
TarasBY:


wenn sich der Kontostand ändert, wird das Geschlecht dem neuen Kontostand entsprechen

Dies wird sofort sichtbar, wenn Sie Folgendes tun

int pol;
Comment("\n balance: ", pol);

pol=AccountBalance();

 

Ich habe einen Expert Advisor zum Testen des Handels erstellt, aber ich kann eine Sache nicht herausfinden...

Bucht/Verkauf wird anhand der maximalen und minimalen MAs eröffnet

// Bedingung für die Eröffnung der BUY-Position
if(MA_L1<MA_L0&&Ask<=MA_L0&MA_0>MA_1&&HA_up>HA_dw)

// Bedingung für die Eröffnung einer SELL-Position
if(MA_H1>MA_H0&&Bid>=MA_H0&MA_0<MA_1&HA_up<HA_dw)

#include <b-Lots.mqh>
extern double TrailingStop = 30;
extern double Sploss = 15;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start() {
   double HA_up,HA_dw;
   double MA_H0,MA_H1,MA_L0,MA_L1,MA_0,MA_1;
   int i, cnt, ticket, total;
   bool flag=true;

   if(Bars<100) {
      Print("bars less than 100");
      return(0); 
   }
// Проверяем стоит ли открываться
   
   cnt=OrdersHistoryTotal()-1;
   for(i=cnt;i>=0;i--) {
      if(!OrderSelect(i, SELECT_BY_POS, MODE_HISTORY )) continue;
      if(OrderOpenTime()>=Time[0]) { // Time[0] - если позиция открывается на нулевом баре текущего символа
         flag=false;
         break;
      }
   }
   cnt=OrdersTotal()-1;
   for(i=cnt;i>=0;i--) {
      if(!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) continue;
      if(OrderOpenTime()>=Time[0]) { // Time[0] - если позиция открывается на нулевом баре текущего символа
         flag=false;
         break;
      }
   }
   if(!flag) return(0); 
//-----------------------------------------------
   MA_H0=iMA(0,0,3,0,MODE_SMA,PRICE_HIGH,0);
   MA_H1=iMA(0,0,3,0,MODE_SMA,PRICE_HIGH,1);
   MA_0=iMA(0,0,3,0,MODE_EMA,PRICE_MEDIAN,0);
   MA_1=iMA(0,0,3,0,MODE_EMA,PRICE_MEDIAN,1);
   MA_L0=iMA(0,0,3,0,MODE_SMA,PRICE_LOW,0);
   MA_L1=iMA(0,0,3,0,MODE_SMA,PRICE_LOW,1);
   HA_up=iCustom(0,0,"Heiken Ashi",3,0);
   HA_dw=iCustom(0,0,"Heiken Ashi",2,0);

//задали все данные 

   total=OrdersTotal();
   if(total<1) 
     {
      // Проверка свободной маржи
      if(AccountFreeMargin()<(1000*Lots))
        {
         Print("We have no money. Free Margin = ", AccountFreeMargin());
         return(0);  
        }
      // Условие открытие позиции BUY
      if(MA_L1<MA_L0&&Ask<=MA_L0&&MA_0>MA_1&&HA_up>HA_dw)
        {
         Lots=GetSizeLot();
         ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,5,Bid-Sploss*Point,0,"",16384,0,Green);
         if(ticket>0)
           {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());
           }
         else Print("Error opening BUY order : ",GetLastError()); 
         return(0); 
        }
      // Условие открытие позиции SELL
      if(MA_H1>MA_H0&&Bid>=MA_H0&&MA_0<MA_1&&HA_up<HA_dw)
        {
         Lots=GetSizeLot();
         ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,5,Ask+Sploss*Point,0,"",16384,0,Red);
         if(ticket>0)
           {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());
           }
         else Print("Error opening SELL order : ",GetLastError()); 
         return(0); 
        }
      return(0);
     }
    
   for(cnt=0;cnt<total;cnt++)
     {
      OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES);
      if(OrderType()<=OP_SELL &&   
         OrderSymbol()==Symbol())  
        {
         if(OrderType()==OP_BUY)   // длинная позиция открыта
           {
           if(NormalizeDouble (MathAbs(MA_H0-Bid),Digits)<Point)
                {
                 OrderClose(OrderTicket(),OrderLots(),Bid,3,Violet); 
                 return(0); 
                }
            // трейлинг-стоп для длинной позиции
            if(TrailingStop>0)  
              {                 
               if(Bid-OrderOpenPrice()>Point*TrailingStop)
                 {
                  if(OrderStopLoss()<Bid-Point*TrailingStop)
                    {
                     OrderModify(OrderTicket(),OrderOpenPrice(),Bid-Point*TrailingStop,OrderTakeProfit(),0,Green);
                     return(0);
                    }
                 }
              }
           }
         else 
           {
           if(NormalizeDouble (MathAbs(MA_L0-Ask),Digits)<Point)
              {
               OrderClose(OrderTicket(),OrderLots(),Ask,3,Violet); 
               return(0); 
              }
            // трейлинг-стоп для короткой позиции
            if(TrailingStop>0)  
              {                 
               if((OrderOpenPrice()-Ask)>(Point*TrailingStop))
                 {
                  if((OrderStopLoss()>(Ask+Point*TrailingStop)) || (OrderStopLoss()==0))
                    {
                     OrderModify(OrderTicket(),OrderOpenPrice(),Ask+Point*TrailingStop,OrderTakeProfit(),0,Red);
                     return(0);
                    }
                 }
              }
           }
        }
     }
   return(0);
  }

Frage: Wenn die Position auf der aktuellen Kerze nicht geschlossen ist (die Bedingungen sind nicht eingetreten), wie kann man sie auf der nächsten Kerze schließen, wenn sie MA_0= iMA ( 0, 0, 3, 0, MODE_EMA, PRICE_MEDIAN, 0 );

Wir haben eine Schließbedingung: Überschreiten des Hochs oder Tiefs der aktuellen Kerze, aber wir müssen die Position auf der nächsten Kerze schließen, nachdem sie geöffnet wurde.

Wir können schreiben, wenn ( NormalizeDouble ( MathAbs (MA_0-Ask), Digits )< Point ), aber wie erfüllt man die Bedingung der zweiten offenen Kerze.


Wenn Sie mit Code antworten können, wird das Beispiel deutlicher.

 
sannin:


wenn sich der Saldo ändert, wird pol dem neuen Saldo entsprechen

Dies wird sofort sichtbar, wenn Sie Folgendes tun

int pol;
Comment("\n balance: ", pol);

pol=AccountBalance();

Mit diesem Code können Sie nichts überprüfen. Und die pol-Variable muss global deklariert werden, ebenso wie die sig-Variable.
 
TarasBY:
Mit diesem Code wird nichts überprüft. Und die pol-Variable muss global deklariert werden, ebenso wie die sig-Variable.


nun... wie man es macht... der Soment zeigt den aktuellen Wert der pol-Variablen

die Hälfte der Bestellung weist zunächst den Anfangsbestand auf

Ich eröffne einen Auftrag und mein Saldo ist gleich dem ursprünglichen Saldo, aber wenn ich mit Gewinn schließe oder umgekehrt, ändert sich der Saldo

Ich brauche Sex, um unter bestimmten Bedingungen zu einem neuen Gleichgewicht zu kommen, und bis diese Bedingungen erfüllt sind, ist es gleich dem ursprünglichen Gleichgewicht.

 
borilunad:
Für MQL4 Code, verwenden Sie SRC und jeder kann es herausfinden und Ihnen helfen!

Danke, ich werde es wissen.
 
sannin:


nun... wie man es macht... der Kommentar zeigt den aktuellen Wert der Variable sex an

die Hälfte der Bestellung weist zunächst den Anfangsbestand auf

Ich eröffne einen Auftrag und mein Saldo ist gleich dem ursprünglichen Saldo, aber wenn ich mit Gewinn schließe oder umgekehrt, ändert sich der Saldo

Die Untergrenze muss unter bestimmten Bedingungen zu einem neuen Saldo werden, und bis die Bedingungen erfüllt sind, ist die Untergrenze gleich dem Anfangssaldo.

Es gibt eine Kategorie von Menschen, die nicht wissen, wie man zuhört, es ist fast unmöglich, ihnen zu helfen.
 
TarasBY:
Es gibt eine Kategorie von Menschen, die nicht wissen, wie man zuhört, es ist fast unmöglich, ihnen zu helfen.


Hallo, helfen Sie mir bitte helfen Sie mir, wenn ich die pol-Variable, um den Saldo zu speichern, wenn die Variable sig = 1, ohne seinen Wert zu ändern, egal wie lange es auf die Anzeige hält, und wenn sig = 1 wieder muss ich die aktuelle zu speichern , bitte geben Sie mir den Code

zustimmen

Jeder ist ein Klugscheißer.

Es tut mir leid... die Sache ist die, dass ich mich seit zwei Tagen vor der Aufgabe gefürchtet habe...

Ich würde nicht um Hilfe bitten.