EA N7S_AO_772012 - Seite 40

 
Vovanych >> :

1. ich habe N7S_AO_772012_M1 in C:\Programme\MetaTrader - Alpari\experts. Habe ich es richtig gemacht?

2. iCus_N7S_TSM_forExp Ich habe es unter C:Programme\MetaTrader - Alpari\experts\indicators abgelegt. Habe ich es richtig gemacht?

Muss ich einige Einstellungen im Terminal vornehmen, damit N7S_AO_772012_M1 mit dem Indikator iCus_N7S_TSM_forExp funktioniert? Wenn ja, welche?

4. Welche Änderungen sollten in N7S_AO_772012_M1 oder N7S_AO_772012_L9_2 vorgenommen werden, um korrekt auf dem SystemForex-Terminal, d.h. mit vier Zeichen, zu arbeiten?

Es ist müßig, über die Verluste und Stopps zu sprechen. Sie müssen mich im Text von EAs Programmieren stupsen und mir zeigen, was dort zu korrigieren ist. D.h., ich könnte verstehen, dass diese und jene Zeile im EA durch diese und jene ersetzt werden sollte.

Die Antwort lautet.

1.rechts

2) Richtig.

3. bei der Einstellung der Parameter des Expert Advisors wählen Sie Indctr=2

4. "Es hat keinen Sinn, mir Elche und Haltestellen zu erklären." Der Rest ist meiner Meinung nach auch nicht zu erklären. Für den Moment.

 
gorby777 писал(а) >>

Antwort

1.Richtig.

2) Richtig.

3. bei der Einstellung der EA-Parameter Indctr=2 wählen

4. "Es ist müßig, die Lose und Haltestellen zu erläutern." Meiner Meinung nach ist es auch müßig, den Rest zu erklären. Auf Wiedersehen.

Danke mate))))

Ich habe nicht einmal erwartet, dass jemand antwortet.

Der vierte Punkt betraf die Frage, an welcher Stelle im Text des Programms Korrekturen vorgenommen werden sollen.

Der Text ist beigefügt:

//SHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH.
//Sh N7S_AO_772012_9.mq4 v.77.2012 Sh//
//Sh Hunter by profit Sh//
//Sh Balashiha S&N@yandex.ru ///
//Sh Version 31. Januar 2009 ///
//SHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH.
//L2 Version mit klarer Buy & Sell Trennung
#property copyright "Copyright © 2007, Shooter777"
#property link "S7N@mail.ru"

#include <WinUser32.mqh>
#include <stderror.mqh>
#include <stdlib.mqh>
//------------------------------------------------------------------//
int HM_ALL = 18; //
int Trade = 1; //
//------------------------------------------------------------------//
extern bool Trd_Up_X = true; int HM_Up_X = 1; // ////
//------------------------------------------------------------------//
//extern
double tpx = 5;
extern double slx = 500; extern int px = 10;
extern int x1 = 0;extern int x2 = 0;extern int x3 = 0;extern int x4 = 0;int tx = 0;
//------------------------------------------------------------------//
extern bool Trd_Dn_Y = true; int HM_Dn_Y = 1; ////
//------------------------------------------------------------------//
//extern
double tpy = 5; extern double sly = 500;extern int py = 10;
extern int y1 = 0;extern int y2 = 0;extern int y3 = 0;extern int y4 = 0; int ty = 0;
//------------------------------------------------------------------//
extern string Text0="BTS F=1";
extern int F = 1; extern int pz = 10;
extern int z1 = 0; extern int z2 = 0; extern int z3 = 0; extern int z4 = 0; int tz = 0;
//------------------------------------------------------------------//
//------------------------------------------------------------------//
extern string Text1="Neyro G=4"; extern int G = 4; extern string Text2="XXXXXXXXXXX";
//extern
extern double tpX = 5; extern double slX = 500;extern int pX = 10;
extern int X1 = 0;extern int X2 = 0;extern int X3 = 0;extern int X4 = 0;int tX = 0;
//------------------------------------------------------------------//
extern string Text3="JJJJJJJJJJ";
//extern
double tpY = 5; extern double slY = 500;extern int pY = 10;
extern int Y1 = 0; extern int Y2 = 0; extern int Y3 = 0; extern int Y4 = 0; int tY = 0;
//------------------------------------------------------------------//
extern string Text4="ZZZZZZZZZZZZZ";extern int pZ = 10;
extern int Z1 = 0;extern int Z2 = 0;extern int Z3 = 0;extern int Z4 = 0;int tZ = 0;
//------------------------------------------------------------------//
//------------------------------------------------------------------//
extern double lots = 0.1;
extern inttern Indctr = 1;
//------------------------------------------------------------------//
bool TrBlnc = true; int StrtBlnc = 2500; int DBlnc = 2000; int UBlnc = 3500;
//------------------------------------------------------------------//
int mn;int mnx1 = 772012055;int mny1 = 772012155;int mnX1 = 772012011;int mnY1 = 772012111;
static int prvtm = 0;static double sl = 10;static double tp = 10;

bool cm15=false; bool cmH1=false; bool cmH4=false;
int MMH1 ;int MN ;
static int bu,sll;
static bool Flg=false;
static bool FlqB=true; static bool FlqS=true;
int i;int ticket = -1;int total;int spread;
datetime LFB;
double prcptx1=0,prcpty1=0,prcptX1=0,prcptY1=0,prcptZ1=0;
static double Delta_G12,iCusAO_1,iCusAO_2,iCusTSM_1,iCusTSM_2,Dlt_AO12,Dlt_TSM12;
//+------------------------------------------------------------------+
//| Experten-Init-Funktion |
//+------------------------------------------------------------------+
int init(){MMH1 = Hour( );LFB = iTime(Symbol(), 0, 0); H1();
Delta_G12 = G12( ); if ( IsOptimization( ) ) TrBlnc = false;if ( IsTesting( ) ) TrBlnc = false;
if (VSR () !=0) {Flg=false;} sonst {Flg=true;}
cmmnt();}
//+------------------------------------------------------------------+
//| Expertenstartfunktion |
//+------------------------------------------------------------------+
int start()
{ if ( x1==0&x2==0&&x3==0&x4==0&y1==0&&y2==0&y3==0&&&y4==0)return (0);
if (!Flg){if (VSR () ==0) {Flg=true; return (0);}}
total = OrdersTotal();//spread = MarketInfo(Symbol(), MODE_SPREAD);
int iTm = iTime(Symbol(), 0, 0);if(LFB == iTm) return(0); LFB = iTime(Symbol(), 0, 0);
int MMM15 = MathMod(Minute( ), 15);
if(cm15) {if(MMM15 == 0 ) {cm15 =false; }} if(MMM15 !=0){cm15=true;}
if(Hour( )= MMH1) {MMH1 = Hour( ); H1( );}
int MMH4 = MathMod(Hour( ), 4);
if(cmH4) {if(MMH4 == 0 ) {cmH4 =false;
Delta_G12 = G12();
FlqB = wahr ;FlqS = wahr ;
}}
if(MMH4 !=0){cmH4=true ; }
trl();
startM5();
cmmnt();}

double G12() {Schalter(Indctr)
{Fall 0:
iCusAO_1 = iAO(NULL, 240, 1); iCusAO_2 = iAO(NULL, 240, 2);
iCusTSM_1 = iCusTSM (24, 1); iCusTSM_2 = iCusTSM (24, 2);
Dlt_AO12 = iCusAO_1 -iCusAO_2; Dlt_TSM12 = iCusTSM_1-iCusTSM_2;
if ( Dlt_AO12>=0 && Dlt_TSM12 <=0) return (0);
if ( Dlt_AO12<=0 && Dlt_TSM12 >=0) return (0);
zurück(Dlt_AO12);
Fall 1:
iCusAO_1 = iAO(NULL, 240, 1); iCusAO_2 = iAO(NULL, 240, 2);
Dlt_AO12 = iCusAO_1 -iCusAO_2; return(Dlt_AO12);
Fall 2:
iCusTSM_1 = iCusTSM (24, 1); iCusTSM_2 = iCusTSM (24, 2);
Dlt_AO12 = iCusTSM_1-iCusTSM_2; return(Dlt_AO12);
Fall 3:
iCusAO_1 = iMA(NULL,60,12,0,MODE_EMA,PRICE_CLOSE,1)-iMA(NULL,60,26,0,MODE_EMA,PRICE_CLOSE,1);
iCusAO_2 = iMA(NULL,60,12,0,MODE_EMA,PRICE_CLOSE,2)-iMA(NULL,60,26,0,MODE_EMA,PRICE_CLOSE,2);
Dlt_AO12 = iCusAO_1 -iCusAO_2; return(Dlt_AO12);}}
//+--------------------------------------------------------------------------------------+
double iCusTSM (int pr, int shft)
{ return (iCustom(NULL, 240, "iCus_N7S_TSM_forExp",pr,1,shft)); }
//+--------------------------------------------------------------------------------------+
double BTS() {
wenn ((prcptrnz1() > 0 || F==0))//& bu<HM_Up_X)
{if (prcptx1 > 0 && Delta_G12>0) {sl = slx; tp = tpx*slx; mn= mnx1; return (1);}}
wenn ((prcptrnz1() < 0 || F==0))//& sll<HM_Dn_Y)
{if (prcpty1 > 0 && Delta_G12<0) {sl = sly; tp = tpy*sly; mn= mny1 ;return (-1);}}
return (0);}
//+--------------------------------------------------------------------------------------+
double prcptrnAC(int q1,int q2,int q3,int q4,int pr,int at)
{double qw = (q1-50)+((q2-50)*iA_C(pr)+(q3-50)*iA_C(2*pr)+(q4-50)*iA_C(3*pr))/iA_C(1);
if (MathAbs(qw)>at) return(qw);else return(0);}
//+--------------------------------------------------------------------------------------+
double iA_C (int pr){int tmfr=60; return(iAO(Symbol(), tmfr, pr));}
//+--------------------------------------------------------------------------------------+
void BuSll ( int pl, int OrdTp, int mgnmb) // pl-Quelle 0-wirkend 1-geschlossen // OrdTp=Ordnungsart 1-Markt(0und1) 3-LIMIT(2und3) 5-STOP(4und5)
{ switch(pl)
{case 0: bu=0; sll=0; int ChTpBu,ChTpSll; // Print (" OrdTp ",OrdTp); // B&S Marktaufträge zählen
switch(OrdTp)
{Fall 1: ChTpBu=OP_BUY; ChTpSll=OP_SELL; break;
Fall 3: ChTpBu=OP_BUYSTOP; ChTpSll =OP_SELLSTOP; break;
Fall 5: ChTpBu=OP_BUYLIMIT;ChTpSll =OP_SELLLIMIT; break;}
for(int i=0;i<OrdersTotal();i++)
{OrderSelect(i, SELECT_BY_POS, MODE_TRADES); int OMN=OrderMagicNumber();
if(OrderSymbol() != Symbol()){weiter;}
if(OrderType()==ChTpBu &&(OMN>=mgnmb && OMN<=mgnmb+99)){ bu++;}
if(OrderType()==ChTpSll &&(OMN>=mgnmb+100 && OMN<=mgnmb+199)){sll++;}
}Break;
Fall 1: int pstv=0, ngtv=0; // Verlaufsanalyse ausgewählt
Print ("Order count in history"); break;}}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
double prcptrnz1() {double qz =(z1-50)*(Close[1]-Open[pz])+(z2-50)*(Open[pz]-Open[pz*2])
+(z3-50)*(Open[pz*2]-Open[pz*3])+(z4-50)*(Open[pz*3]-Open[pz*4]);return(qz);}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
double prcptrnZ1() {double qZ =(Z1-50)*(Close[1]-Open[pZ])+(Z2-50)*(Open[pZ]-Open[pZ*2])
+(Z3-50)*(Open[pZ*2]-Open[pZ*3])+(Z4-50)*(Open[pZ*3]-Open[pZ*4]);return(qZ);}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
void trl(){
total= OrdersTotal(); spread = MarketInfo(Symbol(), MODE_SPREAD);
for( i = gesamt-1; i >= 0; i--)
{ OrderSelect(i, SELECT_BY_POS, MODE_TRADES); MN=OrderMagicNumber();
if(OrderSymbol() == Symbol() && MN>= 772012000 && MN<=772012199)
{ if (MN==772012055) {sl = slx; tp = tpx*slx; mn= mnx1;}
if (MN==772012155) {sl = sly; tp = tpy*sly; mn= mny1;}
if (MN==772012011) {sl = slX; tp = tpX*slX; mn= mnX1;}
if (MN==772012111) {sl = slY; tp = tpY*slY; mn= mnY1;}

int prevticket = OrderTicket();if(OrderType() == OP_BUY)
{if(FLG(0)) { OrderClose(prevticket,OrderLots( ),Bid,slppg(),Black);}
if(Bid > (OrderStopLoss() + (sl * 2 + spread) * Point)
{ if(VSR()< 0) { OrderClose(prevticket,OrderLots( ),Bid,slppg(),Black);}
else { OrderModify(OrderTicket(),OrderOpenPrice(),Bid - sl * Point,0, 0, Blue);}}}
sonst {if(FLG(0)) { OrderClose(prevticket,OrderLots( ),Ask,slppg(),Blue);}}
if(Ask < (OrderStopLoss() - (sl * 2 + spread) * Point)
{if(VSR() > 0)
{ OrderClose(prevticket,OrderLots( ),Ask,slppg(),Blue);}
else{ OrderModify(OrderTicket(),OrderOpenPrice(),Ask + sl * Point,0,0,Blue);}}}
}}}

double VSR() { prcptZ1 = prcptrnZ1();
if(G==4){ if(prcptZ1>0){if(prcptX1>0 && Delta_G12>0){sl = slX; tp = tpX*slX; mn= mnX1;return ( 1);}}
else {if(prcptY1>0 && Delta_G12<0){sl = slY; tp = tpY*slY; mn= mnY1;return ( -1);}}
return(BTS());}
if(G==3){ if(prcptY1>0 && Delta_G12<0){sl = slY; tp = tpY*slY; mn= mnY1;return (-1);}
sonst {Rückgabe (BTS());}}
if(G==2){ if(prcptX1>0 && Delta_G12>0){sl = slX; tp = tpX*slX; mn= mnX1;return ( 1);}
sonst {Rückgabe(BTS();}}
if(G==9){ if(prcptX1>0 && Delta_G12>0 && bu <HM_Up_X){sl = slX; tp = tpX*slX; mn= mnX1;return ( 1);}
if(prcptY1>0 && Delta_G12<0 && sll<HM_Dn_Y){sl = slY; tp = tpY*slY; mn= mnY1;return (-1);}
return (BTS());}
return (BTS());}
void H1() { prcptx1 = prcptrnAC(x1,x2,x3,x4,px,tx) ;
prcpty1 = prcptrnAC(y1,y2,y3,y4,py,ty) ;
prcptX1 = prcptrnAC(X1,X2,X3,X4,pX,tX) ;
prcptY1 = prcptrnAC(Y1,Y2,Y3,Y4,pY,tY) ;
//if (Symbol()!="GBPJPY" || Symbol()!="USDCHF"){ FlqB = true ;FlqS = true ; }
BuSll (0,1,772012000);
}

//+------------------------------------------------------------------+
void startM5() {ticket = -1 ; RefreshRates();
if (gesamt < HM_ALL) { BuSll (0,1,772012000); cmmnt();
if( FLG(1))
{if (Trd_Up_X && VSR() > 0 && bu <HM_Up_X && FlqB) {
if (MOS( 0, lots, sl, tp, WindowExpertName(), mn)>=1) {FlqB=false;}}
if (Trd_Dn_Y && VSR() < 0 && sll<HM_Dn_Y && FlqS) {
if (MOS( 1, lots, sl, tp, WindowExpertName(), mn)>=1) {FlqS=false;}}
}}}
//+------------------------------------------------------------------+
bool FLG (int cs )
{ int AE = AccountEquity( ) ;
Schalter(cs)
{case 0: if((DayOfWeek( ) == 5 && Hour( ) >=22) || (TrBlnc && (AE > UBlnc))
return (true);sonst return (false);

Fall 1: if (DayOfWeek( ) == 1 && Hour( ) <14) {
string dttm = StringConcatenate (Jahr(),".",Monat(),".",Tag());
datetime smtm=StrToTime(dttm);
bool Gp;
int shft = iBarShift(NULL,0,smtm);
double iOpn = iOpen (NULL,0,shft); double iCls = iClose (NULL,0,shft+1);
double dOC = MathAbs ((iOpn - iCls)/(Punkt*10)) ;
wenn (dOC>20) Gp = true ;
//Zeichenfolge var1=TimeToStr(smtm,TIME_DATE|TIME_SECONDS;)
}
if((TrBlnc && ((AE > UBlnc)||(AE < DBlnc))
|| ((DayOfWeek( ) == 1 && Hour( ) <2) || (DayOfWeek( ) == 5 && Hour( ) >=18))
|| ((DayOfWeek( ) == 1 && Hour( ) <14) && Gp)))
return (false);sonst return (true);
}
}
//+------------------------------------------------------------------+
int MOS(int Op_,double Vl,double StLs, double TkPt,string cmnt,int mgc)
{ bool OrSd = false;
if(!(Op_==0 ||Op_==1)){Druck ("Fehler!!!Auftrag nicht gesetzt! Falscher Typ!");return (-1);}
sonst {OrSd = true;}
datetime Begin=TimeCurrent();
int err,rslt; double prc; Farbe clr;
Schalter (Op_)
{case 0: prc=Ask; clr=Green; StLs= Bid - StLs * Point; TkPt=Bid + TkPt * Point ;break;
Fall 1: prc=Bid; clr=Red; StLs= Ask + StLs * Point; TkPt=Ask - TkPt * Point ;break;}
if( OrSd )
{rslt= OrderSend(Symbol(),Op_,Vl,prc,slppg(),StLs,TkPt,cmnt,mgc,0,clr);
wenn (rslt==-1)
{err=GetLastError(); Print("Fehler beim Setzen der Reihenfolge!!!(",err,") ");
if(!IsTesting())
{while(!((( rslt>0 || TimeCurrent()-Begin>20))
{Sleep(1000); RefreshRates();
rslt= OrderSend(Symbol(),Op_,Vl,prc,slppg(),StLs,TkPt,cmnt,mgc,0,clr); }}}}
return(rslt);}
//+------------------------------------------------------------------+
int slppg()
{ int sprd =2*MarketInfo(Symbol(),MODE_SPREAD);return ( sprd );}

void cmmnt(){ if ( !IsOptimization( ){
Comment("Kaufen ",bu," Verkaufen ",sll," Symbol ",Symbol(),
"\n Delta_G12",Delta_G12,
"\n x ",prcptx1," y ",prcpty1," z ",prcptrnz1(),
"\n X ",prcptX1," Y ",prcptY1," Z ",prcptrnZ1(),
"\n VSR ",VSR (),
"\n Flg ",Flg," FlqBS ",FlqB," @ ",FlqS,
"\n FLU ",FLG(1)," FLD ",FLG(0) );}}

Können Sie in rot markieren, was korrigiert werden sollte, und in blau eintippen, was zu korrigieren ist ?

 
Der Autor hat eine ähnliche Frage bereits weiter oben beantwortet.
 
Vovanych писал(а) >>

Können Sie in rot markieren, was korrigiert werden muss, und in blau, was korrigiert werden muss?

Ich muss das überprüfen, aber ich glaube nicht, dass etwas geändert werden muss. Die Änderungen betreffen die Installationsset-Dateien. Autoselect Slipage habe ich eingefügt. Fragen wir doch mal diejenigen unter Ihnen, die 4 Stellen haben.

 
SHOOTER777 писал(а) >>

Ich muss nachsehen, aber ich glaube nicht, dass etwas geändert werden muss. Die Änderungen betreffen die Installationsset-Dateien. Ich habe den Autoselect-Zettel eingefügt. Fragen wir diejenigen, die noch 4-stellig sind.

Danke, ich habe gerade zwei Sätze Ihrer Setup-Set-Dateien, für fünf Zeichen und für vier.

Aber ich werde die Leute trotzdem fragen.

 
Heute habe ich meine anderen EAs von Anfang des Jahres getestet, darunter auch die Indikatoren. In den letzten zwei Wochen hat keine dieser Maßnahmen zu positiven Ergebnissen geführt. Ich habe auch M1 mit verschiedenen Methoden optimiert, aber alles, was ich versucht habe, hat die letzte Woche verloren. Ich glaube, die letzte Woche war für viele Strategien schwierig.
 

Leute!!! Die auf vier Stellen in Anführungszeichen sitzen.

Hat jemand den N7S_AO_772012_M1 EA (oder frühere Versionen) so korrigiert, dass er in vierstelligen Terminals funktioniert?

Funktioniert alles korrekt auf vierstelligen Terminals?

 
SHOOTER777 >> :
Heute habe ich meine anderen EAs von Anfang des Jahres getestet, darunter auch die Indikatoren. In den letzten zwei Wochen hat keiner von ihnen positive Ergebnisse gezeigt. Ich habe M1 auch mit anderen Methoden optimiert, und die letzte Woche war sowieso nachteilig. Ich denke, die letzte Woche war für viele Strategien schwierig.

Es stellte sich heraus, dass ich im Plus war. Es ist also ein schlechtes Zeichen für meine Einstellungen. ((

 

Bei der Optimierung von N7S_AO_772012_M1 Expert Advisor mit einem Indikator und im zweiten Fall mit zwei Indikatoren ergab der zweite Indikator iCus_N7S_TSM_forExp folgende Beziehung:

Im ersten Fall ist der maximale Gewinn in den verschiedenen Phasen der Optimierung um 30-100% höher als im zweiten Fall.

Im ersten Fall ist die Anzahl der Geschäfte mit maximalem Gewinn in verschiedenen Phasen etwa doppelt so hoch wie im zweiten Fall.

Im Allgemeinen ist die Anzahl der Geschäfte sehr gering.

Wer weiß, welche Parameter des Expert Advisors geändert werden sollten und in welche Richtung, um die Anzahl der Geschäfte während der Optimierung zu erhöhen?

 

Vovanic hat sogar gelacht. )

Wir sind alle hier, um gemeinsam herauszufinden, welche Parameter wir in welche Richtung und zu welchem Zeitpunkt ändern müssen, um Geld zu verdienen.)

Grund der Beschwerde: