[ARCHIV!] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen - 4. - Seite 139

 
first_may:
Nachmittags. MT4 hat einen Volumensindikator, zeigt er das Tick-Volumen an oder nicht?

Tick-Volumen
 
CLAIN:

Das Interessante daran ist, dass die Kaution ausreichend ist - ich habe dort eine große Reserve.
Geben Sie unmittelbar nach dem Öffnen einer Position einen Fehler in Print() aus und sehen Sie den Grund dafür.
 

Frage.

Ich habe einen Indikator geschrieben. Die wichtigsten verwendeten Funktionen Order und Account sind Symbol() überall iClose iOpen. Aber aus irgendeinem Grund, der Indikator funktioniert NUR auf EURUSD............ Ich habe andere Tools ausprobiert, die hängen ((.

Das Wesen des Indikators: zeigt Informationen über das Konto, Free Funds, ko Anzahl der Lose zu öffnen, wie viel offen ist, das Verhältnis Gewinn / Risiko im Geld, eingerichtet NUR, wenn (OrderSymbol()!=Symbol()) weiter;

Ich habe den Grund 10-20 Mal überprüft. Ich verstehe das nicht... ((((

Vielen Dank im Voraus

 
sergeev:

Zecke

Es stellt sich heraus, dass alle Indikatoren in MT4 aus der Gruppe Volumen ein Tick Volumen zeigen?
 
paladin80:
Unmittelbar nach dem Öffnen einer Position gibt print() einen Fehler aus und zeigt den Grund dafür an.


Das Interessante ist, dass es auf dem Testgerät keine Probleme gibt. Seit dem Jahr 2000 bis heute hat es ohne jegliche Abflüsse funktioniert.

Würde der Code helfen?

//+------------------------------------------------------------------+ 
//| StMartin.mq4 | 
//| Sergey Kodolov | 
//| 84232676421@mail.ru | 
//+------------------------------------------------------------------+ 
#property copyright "Sergey Kodolov" 
#property link "84232676421@mail.ru" 

    extern int TP = 1000; 
    extern int TS = 1000; 
    extern double lots = 1.0; 

    double volumz; 
    int ticket,total; 
    int slip = 3; 
    int Magic = 7; 

 


//+------------------------------------------------------------------+ 
//| expert initialization function | 
//+------------------------------------------------------------------+ 
int init() 
  { 
//---- 

        ticket = OrderSend(Symbol(),OP_BUY,lots,Ask,slip,Bid-TS*Point,Bid+TP*Point,"First order",Magic,0,Yellow); //открываем первый ордер 
 
//---- 
   return(0); 
  } 
//+------------------------------------------------------------------+ 
//| expert deinitialization function | 
//+------------------------------------------------------------------+ 
int deinit() 
  { 
//---- 

//---- 
   return(0); 
  } 
//+------------------------------------------------------------------+ 
//| expert start function | 
//+------------------------------------------------------------------+ 
int start() 
  { 
//---- 

OrderOpenFunction(); 
StrahBuy();
StrahSell();

//---- 
   return(0); 
  } 
//+------------------------------------------------------------------+ 

void OrderOpenFunction()
{
   OrderSelect(ticket,SELECT_BY_TICKET);
   if(OrderCloseTime()>0)
   {
      
      total = OrdersTotal();
      Comment("OrderCloseTime = ",OrderCloseTime()," ms");
      if(total < 1) 
      { 
         OrderSelect(ticket,SELECT_BY_TICKET); 
         volumz = OrderLots(); 
         Print("Orderlots = ", OrderLots());
         if(OrderType() == OP_BUY)
         {
            if(OrderClosePrice()-OrderOpenPrice()>0)
            {
               ticket = OrderSend(Symbol(),OP_BUY,lots,Ask,slip,Bid-TS*Point,Bid+TP*Point,0,Magic,0,Green);
            }
            if(OrderClosePrice()-OrderOpenPrice()<0)
            {
               double lot1 = volumz*2; 
               ticket = OrderSend(Symbol(),OP_SELL,lot1,Bid,slip,Ask+TS*Point,Ask-TP*Point,0,Magic,0,Red); 
            }
         }
         if(OrderType() == OP_SELL)
         {
            if(OrderClosePrice()-OrderOpenPrice()<0)
            {
               ticket = OrderSend(Symbol(),OP_SELL,lots,Bid,slip,Ask+TS*Point,Ask-TP*Point,0,Magic,0,Red);
            }
            if(OrderClosePrice()-OrderOpenPrice()>0)
            {
               double lot2 = volumz*2; 
               ticket = OrderSend(Symbol(),OP_BUY,lot2,Ask,slip,Bid-TS*Point,Bid+TP*Point,0,Magic,0,Green);
            }
         }
      }
   }    
}      
  
void StrahBuy()
{
   total = OrdersTotal();
   if(total<1)
   {
      OrderSelect(0,SELECT_BY_POS);
      if(OrderType() == OP_BUY)
      {
         if(OrderClosePrice()-OrderOpenPrice()>0)
         {
            ticket = OrderSend(Symbol(),OP_BUY,lots,Ask,slip,Bid-TS*Point,Bid+TP*Point,0,Magic,0,Green);
         }
         if(OrderClosePrice()-OrderOpenPrice()<0)
         {
            double lot1 = volumz*2; 
            ticket = OrderSend(Symbol(),OP_SELL,lot1,Bid,slip,Ask+TS*Point,Ask-TP*Point,0,Magic,0,Red); 
         }
      }      
   }
}

void StrahSell()
{
   total = OrdersTotal();
   if(total<1)
   {
      OrderSelect(0,SELECT_BY_POS);
      if(OrderType() == OP_SELL)
      {
         if(OrderClosePrice()-OrderOpenPrice()<0)
         {
            ticket = OrderSend(Symbol(),OP_SELL,lots,Bid,slip,Ask+TS*Point,Ask-TP*Point,0,Magic,0,Red);
         }
         if(OrderClosePrice()-OrderOpenPrice()>0)
         {
            double lot2 = volumz*2; 
            ticket = OrderSend(Symbol(),OP_BUY,lot2,Ask,slip,Bid-TS*Point,Bid+TP*Point,0,Magic,0,Green);
         }
      }
   }   
}

Ich meine, ich habe hier eine Hauptfunktion und die anderen beiden duplizieren sie einfach. Ich habe es als Versicherung gemacht, aber es funktioniert immer noch nicht.

 
CLAIN:


Das Interessante daran ist, dass es auf dem Prüfgerät keine Probleme gibt. Es läuft seit 2000 bis heute ohne Entleerung.

Vielleicht wäre der Code hilfreich?

D.h. ich habe hier eine Hauptfunktion und die anderen beiden duplizieren sie einfach. Habe es für die Versicherung gemacht, aber es funktioniert immer noch nicht

Sehr seltsamer Code. Ich bin sehr verwirrt von der Tatsache, dass Sie eine Position in der Initialisierung zu öffnen und die Suche nach Aufträgen ohne für Betreiber. So etwas habe ich noch nie gesehen. Fügen Sie Print () in Ihren Code ein. Glauben Sie mir, es hilft.
 
CLAIN:


Das Interessante daran ist, dass es auf dem Testgerät kein Problem gibt. Es funktioniert seit dem Jahr 2000 bis heute, ohne sich zu entleeren.

Würde der Code helfen?

Ich meine, ich habe hier eine Hauptfunktion und die anderen beiden duplizieren sie einfach. Ich habe es als Versicherung gemacht, aber es funktioniert immer noch nicht.

Tester: Stop Loss #68 bei 1,2887 (1,2885 / 1,2887)
16:56:31 2010.07.15 15:04 EURUSD,M30: Orderlots = 1
16:56:31 2010.07.15 15:04 Tester: nicht genug Geld , um 2,00 EURUSD bei 1,2887 zu kaufen sl: 1,1885 tp: 1,2905 [2010.07.15 15:04]
16:56:31 2010.07.15 15:04 Tester: PrevBalance: 1838,36, PrevPL: 0,00, PrevEquity 1838,36, PrevMargin: 0,00, NewMargin: 2577, FreeMargin: -738,84
16:56:31 2010.07.15 15:04 martin EURUSD,M30: OrderSend Fehler 134

Ich denke TP=1000 und SL=1000 ist zu viel, auch wenn Lose=1.0))

Versuchen Sie, eine kleinere Menge und TP=1000 und ich denke, Sie werden glücklich sein.

 

PEOPLE!!!!!!!!! Hilfe!!! Bitte wiederholen Sie das!!! FRAGE DANN: WARUM öffnet der Indikator in MT4 NUR auf EURUSD!!!!!!!!!!!!!!! Was für ein Rätsel. Es gibt keine Paarbeschränkung im Indikator, Symbol() ist überall, die Hauptfunktionen auf dem Konto Order und Account. Wenn ich den Indikator entferne, funktioniert er auch bei einem anderen Paar nicht, bzw. MT4 hängt sich komplett auf, bis ich ihn entferne. Ich habe den Indikator selbst geschrieben. Ich kann dieses Verhalten bei anderen Paaren nicht nachvollziehen. Da es ein langer Indikator ist, möchte ich ihn nicht anzeigen. Aber ich versichere Ihnen, es ist nichts Unnatürliches daran, dass es ohne Probleme NUR auf eurodollar??????????????????????? funktioniert.

PROFI LÖST DAS RÄTSEL)))))))))))))))))))))))))))))))) Ich habe kein Glück.................

Hier ein Auszug aus den verwendeten Funktionen

++++++++++++++++++++++++++++++++++++ Code überspringen

//--- Löschen von Summenobjekten
Del_comment("MN1 Trend");
Del_comment("W1 Trend");
Del_comment("D1 Trend");
Del_comment("H4 Trend");
Del_comment("H1 Trend");
Del_comment("ord .no: ");
Del_comment("ord .#: ");
//---
TRENDS("MN1 Trend",PERIOD_MN1, 1,86, 33, Lab_Trend_Bull,Lab_Trend_Bear,Lab_Trend_Doj, 42);
TRENDS("W1 Trend", PERIOD_W1, 1,111, 48, Lab_Trend_Bull,Lab_Trend_Bear,Lab_Trend_Doj, 12);
TRENDS("D1 Trend", PERIOD_D1, 1,97, 48, Lab_Trend_Bull,Lab_Trend_Bear,Lab_Trend_Doj, 12);
TRENDS("H4 Trend", PERIOD_H4, 1,111, 62, Lab_Trend_Bull,Lab_Trend_Bear,Lab_Trend_Doj,12);
TRENDS("H1 Trend", PERIOD_H1, 1,97, 62, Lab_Trend_Bull,Lab_Trend_Bear,Lab_Trend_Doj, 12);

str=StringLen(KontoFirma());
if(str<=31) shf=31-str;
sonst
if(str>=31) shf=0;
Commen("NameCo",KontoFirma(), 1, shf, 40, "Times New Roman", color_Fon,7);
Commen("in",ABC v2, 1, 36, 51, "Times New Roman", color_Fon,11);
Commen("txt_symb",Symbol(), 1, 3, 64, "Times New Roman", color_Fon,16);

if(OffABC==true)
Commen("off+", "OFF", 1, 7, 51, "Times New Roman", color_Loss,10);

if(OffABC==false)
{
Commen("in+", "INC", 1, 7, 51, "Times New Roman", color_Profit,10);
int OneLot= MarketInfo(Symbol(),MODE_MARGINREQUIRED);
int TickValue= MarketInfo(Symbol(),MODE_TICKVALUE);

if(Ziffern==2) pips=100;
sonst
if(Ziffern==3) pips=1000;
sonst
if(Ziffern==4) pips=10000;
sonst
if(Ziffern==5) pips=100000;

if(!IsConnected())
{
ObjectDelete("in+");
Commen("off+", "OFF", 1, 7, 51, "Times New Roman", color_Loss,10);
Commen("noconnect", "no connected", 1, 7, 85, "Times New Roman", color_Loss,14);
}
sonst
if(IsConnected())
{
ObjectDelete("off+");
ObjectDelete("noconnect");
Commen("in+", "INC", 1, 7, 51, "Times New Roman", color_Profit,10);
}

if(Kontowährung()=="RUB")
{
EQ_USD= AccountEquity()/iClose("USDRUB",PERIOD_M1,0);
FreeMargin_USD= (AccountFreeMargin()-AccountStopoutLevel())/iClose("USDRUB",PERIOD_M1,0);
PRF_USD= AccountProfit()/iClose("USDRUB",PERIOD_M1,0);
LOT_01= (AccountFreeMargin()-AccountStopoutLevel())/(OneLot/10);
LOT_1= (AccountFreeMargin()-AccountStopoutLevel())/OneLot;
ObjectDelete("nodepo");
}
sonst
if(KontoWährung()=="RUR")
{
EQ_USD= AccountEquity()/iClose("USDRUR",PERIOD_M1,0);
FreeMargin_USD= (AccountFreeMargin()-AccountStopoutLevel())/iClose("USDRUR",PERIOD_M1,0);
PRF_USD= AccountProfit()/iClose("USDRUR",PERIOD_M1,0);
LOT_01= (AccountFreeMargin()-AccountStopoutLevel())/(OneLot/10);
LOT_1= (AccountFreeMargin()-AccountStopoutLevel())/OneLot;
ObjectDelete("nodepo");
}
sonst
if(KontoWährung()=="EUR")
{
EQ_USD= AccountEquity()*iClose("EURUSD",PERIOD_M1,0);
FreeMargin_USD= (AccountFreeMargin()-AccountStopoutLevel())*iClose("EURUSD",PERIOD_M1,0);
PRF_USD= AccountProfit()*iClose("EURUSD",PERIOD_M1,0);
LOT_01= (AccountFreeMargin()-AccountStopoutLevel())*(OneLot/10);
LOT_1= (AccountFreeMargin()-AccountStopoutLevel())*OneLot;
ObjectDelete("nodepo");
}
sonst
if(KontoWährung()=="USD")
{
EQ_USD= AccountEquity();
FreeMargin_USD= AccountFreeMargin()-AccountStopoutLevel();
PRF_USD= AccountProfit();
LOT_01= FreeMargin_USD/(OneLot/10);
LOT_1= FreeMargin_USD/OneLot;
ObjectDelete("nodepo");
}

if(IsConnected() && AccountCurrency()!="RUB" && AccountCurrency()!="RUR" && AccountCurrency()!="EUR" && AccountCurrency()!="USD")
{
ObjectDelete("in+");
ObjectDelete("noconnect");
Commen("off+", "OFF", 1, 7, 51, "Times New Roman", color_Loss,10);
Commen("depo_symbl",AccountCurrency(), 1, 112, 85, "Times New Roman", color_Equity_Account,14);
Commen("nodepo",undurchführbar",1, 7, 85, "Times New Roman",color_Free,14);
}
//---

if(Orders_OK==false) order=1;
sonst Ordnung=0;

if(AufträgeSumme()>=Bestellung)
{
for(int pos=OrdersTotal(); pos>=0; pos--)
{
if(OrderSelect(pos,SELECT_BY_POS,MODE_TRADES))
{
if(OrderSymbol()!=Symbol()) weiter;
{
SUMM= SUMM+OrderLots();
SWAP=SWAP+OrderSwap();
COMMIS=COMMIS+OrderCommission();
OpenPrice=OpenPrice+OrderOpenPrice();

//--- //BAY-BESTELLUNGEN
if(Auftragsart()==OP_BUY)
{
baylot= OrderLots();
if(baylot>=1 && baylot<99.0)
{
bSL1= bSL1+(OrderStopLoss());
bTP1= bTP1+(OrderTakeProfit());
bOPN1= bOPN1+(OrderOpenPrice();
if(bSL1>0) bsumL1=bsumL1+1;
if(bTP1>0) bsumP1=bsumP1+1;
if(bOPN1>0) bsumO1=bsumO1+1;
}
if(baylot>=0.1 && baylot<0.99)
{
bSL01= bSL01+(OrderStopLoss());
bTP01= bTP01+(OrderTakeProfit());
bOPN01= bOPN01+(OrderOpenPrice();
if(bSL01>0) bsumL01=bsumL01+1;
if(bTP01>0) bsumP01=bsumP01+1;
if(bOPN01>0) bsumO01=bsumO01+1;
}
} //OP_BUY

++++++++++++++++++++++++++++++++++++++++++++++++++ Пропуск кода

Funktion

void TRENDS(string name, int PER, int n, int X, int Y, Farbe Lab_Trend_Bull, Farbe Lab_Trend_Bear, Farbe Lab_Trend_Doj, int rsm)
{
int A,B,a,b,cod;
double Fup,Fdw;
double OPEN= iOpen(Symbol(),PER,1);
double CLOSE= iClose(Symbol(),PER,1);
double EMA21= iMA(Symbol(),PER,21,0,MODE_EMA,PRICE_CLOSE,1);
double EMA89= iMA(Symbol(),PER,89,0,MODE_EMA,PRICE_CLOSE,1);
string name2;
color_trend;
bool FLEAT=false;

while(A<1)
{
double FUPPER= iFractals(Symbol(),PER,MODE_UPPER,a);
if(FUPPER>0) { Fup=FUPPER; A++; }
a++;
}
while(B<1)
{
double FLOWER= iFractals(Symbol(),PER,MODE_LOWER,b);
if(BLUME>0) { Fdw=BLUME; B++; }
b++;
}
if((CLOSE>=OPEN && CLOSE<Fup) || (CLOSE<=OPEN && CLOSE>Fdw))
FLEAT=true;

if(EMA21>EMA89 && FLEAT==true)
{ cod= 114; color_trend=Lab_Trend_Doj; name2="EMA21>eme89"; } // Stier
sonst
if(EMA21<EMA89 && ((CLOSE>=OPEN && CLOSE>=Fup) || (CLOSE<=OPEN && CLOSE>=Fup))
{ cod=111; color_trend=Lab_Trend_Bull; name2="Fractal UPPER"; } // Stier
sonst
if(EMA21>EMA89 && ((CLOSE>=OPEN && CLOSE>=Fup) || (CLOSE<=OPEN && CLOSE>=Fup))
{ cod=110; color_trend=Lab_Trend_Bull; name2="EMA21>ema89 + FRACTAL UPPER"; } // Stier
sonst
if(EMA21<EMA89 && FLEAT==true)
{ cod= 113; color_trend=Lab_Trend_Doj; name2= "ema21<EMA89"; } // Bär
sonst
if(EMA21>EMA89 && ((CLOSE<=OPEN && CLOSE<=Fdw) || (CLOSE>=OPEN && CLOSE<=Fdw))
{ cod=111; color_trend=Lab_Trend_Bear; name2="Fractal LOWER"; } // Bär
sonst
if(EMA21<EMA89 && ((CLOSE<=OPEN && CLOSE<=Fdw) || (CLOSE>=OPEN && CLOSE<=Fdw))
{ cod= 110; color_trend=Lab_Trend_Bear; name2="ema21<EMA89 + FRACTAL LOWER"; } // Bär
sonst
if(EMA21==EMA89 || FLEAT==true)
{ cod= 110; color_trend=Lab_Trend_Doj; name2= "ema21==ema89 || Fractal"; } // doj

name=name+""+name2;
if(PER==PERIOD_MN1) cod=111;
if(cod==110)
{ rsm=rsm+3; X=X-1; Y=Y-3; }

ObjectCreate(Name,OBJ_LABEL,0,0;)
ObjectSet(name,OBJPROP_CORNER,n);
ObjectSet(Name,OBJPROP_XDISTANCE,X);
ObjectSet(name, OBJPROP_YDISTANCE,Y);
ObjectSetText(name,CharToStr(cod), rsm, "Wingdings",color_trend);
}
void Commen(string name, string txt, int n, int X, int Y, string shrift, color clr, int rsm)
{
ObjectCreate(Name,OBJ_LABEL,0,0,0);
ObjectSet(name,OBJPROP_CORNER,n);
ObjectSet(Name,OBJPROP_XDISTANCE,X);
ObjectSet(name, OBJPROP_YDISTANCE,Y);
ObjectSetText(name,txt, rsm,shrift,clr);
}

+++++++++++++++++++++++++++++++++++++++++++ und Anzeige

 
nlp2311:

...

+++++++++++++++++++++++++++++++++++++++++++ und Ausgabe


"+++++++++++++++++++++++++++++++++++++++++++ und Anzeige"

Und lernen Sie, wie Sie den Code richtig einfügen. Ihr Blatt ist für niemanden von Interesse...

Lesen Sie das Ganze hier.

 
Ich habe mein Passwort in Metatrader vergessen, wie kann ich ein neues erstellen, wen kann ich kontaktieren?