ea n7s_ao_772012 - ページ 40

 
Vovanych >> :

N7S_AO_772012_M1をC:³ FilesMetaTrader - Alpariexpertsに入れました。正しくできているのだろうか?

2. iCus_N7S_TSM_forExp I put it to C:Program FilesMetaTrader - Alparièsexperts indicators.ちゃんとできたかな?

N7S_AO_772012_M1をiCus_N7S_TSM_forExpインジケーターで動作させるには、ターミナルで何らかの設定を行う必要がありますか?もしそうなら、どのようなものですか?

4.N7S_AO_772012_M1 または N7S_AO_772012_L9_2 で、SystemForex のターミナル、すなわち 4 つのサインで正しく動作させるには、どのような変更を行う必要がありますか?

損切りやストップについては、私が説明しても無駄です。EAのプログラマーのテキストを突いて、そこをどう修正すればいいのかを教えてほしい。つまり、「EAの○○行を△△行に置き換える」と理解できるようになるのです。

その答えは.

1.Right

2) 正解です。

3.Expert Advisor のパラメータを設定する際に、Indctr=2 を選択します。

4.大鹿と停留所の説明はまだ無駄です。 あとは、説明も無駄というのが私の考えです。今のところは。

 
gorby777 писал(а)>>

回答

1.正しい。

2) 正解です。

3.EAパラメータ設定時にIndctr=2を選択する。

4.私の意見は、「ロットやストップについては、とりあえず私が説明するのは無駄」であり、「それ以外についても説明するのは無駄」です。さようなら。

ありがとうございます)))

誰も答えてくれないと思っていたのに。

4点目については、プログラムのテキストのどこを修正するかということでした。

本文は添付のとおりです。

//しゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅ
//Sh N7S_AO_772012_9.mq4 v.77.2012 Sh//。
//利益Shによる/Shハンター//。
//Sh Balashiha S&N@yandex.ru ///です。
//2009年1月31日 /// Shバージョン
//しゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅしゅ
//売りと買いを明確に分けたL2版
#property copyright "著作権 © 2007, Shooter777"
#プロパティリンク "S7N@mail.ru"

#include <WinUser32.mqh>.
#include <stderror.mqh>.
#include <stdlib.mqh>.
//------------------------------------------------------------------//
int HM_ALL = 18; //
int 貿易 = 1; //
//------------------------------------------------------------------//
extern bool Trd_Up_X = true; int HM_Up_X = 1; // // // //
//------------------------------------------------------------------//
//エクスターン
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 bool Trd_Dn_Y = false; int HM_Dn_Y = false
//------------------------------------------------------------------//
//エクスターン
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 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="YYYYYYYYYY";
//エクスターン
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="ZZZZZZZZZZZZ";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。
静的 int prvtm = 0;static double sl = 10;static double tp = 10.静的 int prvtm = 0;static double sl = 10;static double tp = 10;

bool cm15=false; bool cmH1=false; bool cmH4=false。
int MMH1 ;int MN ;
静的 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;
静的ダブル Delta_G12,iCusAO_1,iCusAO_2,iCusTSM_1,iCusTSM_2,Dlt_AO12,Dlt_TSM12;
//+------------------------------------------------------------------+
//| エキスパートイニシエーションファンクション
//+------------------------------------------------------------------+
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;}。else {Flg=true;}。
cmmnt();}。
//+------------------------------------------------------------------+
//| エキスパートスタート機能
//+------------------------------------------------------------------+
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 = true ;FlqS = true ;
}}
if(MMH4 !=0){cmH4=true ; }.
trl()を使用します。
startM5()を実行します。
cmmnt();}。

double G12() {switch(Indctr)
{ケース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);
return(Dlt_AO12)です。
ケース1
iCusAO_1 = iAO(NULL, 240, 1); iCusAO_2 = iAO(NULL, 240, 2)です。
Dlt_AO12 = iCusAO_1 -iCusAO_2; return(Dlt_AO12);
の場合 2.
iCusTSM_1 = iCusTSM (24, 1); iCusTSM_2 = iCusTSM (24, 2)です。
Dlt_AO12 = iCusTSM_1-iCusTSM_2; return(Dlt_AO12);
ケース 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)); }.
//+--------------------------------------------------------------------------------------+
ダブルBTS() {
if ((prcptrnz1() > 0 || F==0))//& bu<HM_Up_X)
{if (prcptx1 > 0 && Delta_G12>0) {sl = slx; tp = tpx*slx; mn= mnx1; return (1;}} 。}
if ((prcptrnz1() < 0 || F==0))//& sll<HM_Dn_Y)
{if (prcpty1 > 0 && Delta_G12<0) {sl = sly; tp = tpy*sly; mn= mny1 ;return (-1);}} 。
戻り値(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-ソース 0-acting 1-closed // OrdTp=order type 1-market(0and1) 3-LIMIT(2and3) 5-STOP(4and5)
{ switch(pl)
{case 0: bu=0; sll=0; int ChTpBu,ChTpSll; // Print (" OrdTp ",OrdTp); // B&S成行注文を数える
スイッチ(OrdTp)
{ケース1:ChTpBu=OP_BUY; ChTpSll=OP_SELL; break;
case 3: ChTpBu=OP_BUYSTOP; ChTpSll =OP_SELLSTOP; break;
case 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().OrderSelect(i, SELECT_BY_POS, MODE_TRADES); int OMN=OrderMagicNumber();
if(OrderSymbol() != Symbol()){continue;}。
if(OrderType()==ChTpBu &&(OMN>=mgnmb && OMN<=mgnmb+99)){ bu++;})
if(OrderType()==ChTpSll &&(OMN>=mgnmb+100 && OMN<=mgnmb+199)){sll++;}; }.
}break;
case 1: int pstv=0, ngtv=0; // ヒストリー解析が選択された場合
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(){ダブル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 = total-1; i >= 0; i--)
{ OrderSelect(i, SELECT_BY_POS, MODE_TRADES); MN=OrderMagicNumber().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);}}} { OrderModify(OrderTicket(),OrderOpenPrice(),Bid - sl * Point,0, 0, Blue)
else {if(FLG(0)){ OrderClose(prevticket,OrderLots( ),Ask,slppg(),Blue);}} { OrderClose(prevticket,OrderLots( ),Ask,slppg(),Blue)
if(アスク < (OrderStopLoss() - (sl * 2 + spread) * ポイント)
{if(VSR() > 0)
{ OrderClose(prevticket,OrderLots( ),Ask,slppg(),Blue);}.
else{ OrderModify(OrderTicket(),OrderOpenPrice(),Ask + sl * Point,0,0,Blue);}}}.
}}}
//+shhhhhhhhhhhhhhhhhhhhhhhwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww.ww......wwww...wwww...wwww.wwww

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);}} {if(prcptY1>0&&Delta_G12<0){sl=slY;tp=tpY*slY}。
return(BTS());}。
if(G==3){ if(prcptY1>0 && Delta_G12<0){sl = slY; tp = tpY*slY; mn= mnY1;return (-1;} {prcptY1}の場合。
else {return (BTS());}}。
if(G==2){ if(prcptX1>0 && Delta_G12>0){sl = slX; tp = tpX*slX; mn= mnX1;return ( 1);} ←クリックすると拡大します。
else {return(BTS();}}。
if(G==9){ if(prcptX1>0 && Delta_G12>0 && bu <HM_Up_X){sl = slX; tp = tpX*slX; mn= mnX1;return ( 1);} {prcptX1}と{prcptX1}を足した値。
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 (total < 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( ) ;
切替える
{case 0: if((DayOfWeek( ) == 5 && Hour( ) >=22) || (TrBlnc && (AE > UBlnc)))
return (true);else return (false);

case 1: if (DayOfWeek( ) == 1 && Hour( ) < 14) {.
文字列 dttm = StringConcatenate (Year(),".",Month(),".",Day()));
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)/(Point*10));
if (dOC>20) Gp = true ;
//文字列 var1=TimeToStr(smtm,TIME_DATE|TIME_SECONDS;)である。
}
if((TrBlnc && ((AE > UBlnc)||(AE < DBlnc)))
|| ((DayOfWeek( ) == 1 && Hour( ) <2) || (DayOfWeek( ) == 5 && Hour( ) >=18)))
|| ((曜日( ) == 1 && 時刻( ) < 14) && Gp))
return (false);else return (true);
}
}
//+------------------------------------------------------------------+
int MOS(int Op_,double Vl,double StLs,double TkPt,文字列 cmnt,int mgc)
{ bool OrSd = false;
if(!(Op_==0 ||Op_==1)){Print ("Error!!Order not set! Wrong type!");return (-1; })
else {OrSd = true;}.
datetime Begin=TimeCurrent()。
int err,rslt; double prc; color clr;
スイッチ(Op_)
{case 0: prc=Ask; clr=Green; StLs=Bid - StLs * Point; TkPt=Bid + TkPt * Point ;break;
case 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);
if (rslt==-1)
{err=GetLastError(); Print("Error setting order!!!(",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("Buy ",bu," Sell ",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,
"ⅷ FLU ",FLG(1)," FLD ",FLG(0) );}}。

修正すべき点を赤でマーク し、修正すべき点を青でタイプして いただけますか

 
筆者はすでに上のどこかで似たような質問に答えています。
 
Vovanych писал(а)>>

修正が必要な箇所を赤で修正が必要な箇所を青で マークして いただけますか?

確認が必要ですが、何も変更する必要はないと思います。この変更は、インストールセットファイルに関するものです。挿入したオートセレクトスリッページ。4桁の方にお聞きします。

 
SHOOTER777 писал(а)>>

確認してみないとわからないが、何も変更する必要はないと思う。この変更は、インストールセットファイルに関するものです。オートサンプリングスレを挿入しました。まだ4桁の人に聞いてみよう。

ありがとうございます。ちょうど、あなたのセットアップセットファイルを5キャラクター用と4キャラクター用の2セット持っています。

でも、やっぱり国民に聞きますよ。

 
今日は年初から使っている他のEAを、インジケータも含めてテストしました。この2週間は、どれも結果が出なかった。 M1もいろいろな方法で最適化しましたが、試したのは最後の1週間の負けです。先週はいろいろな戦略で大変だったと思います。
 

人間だ!!!引用で4桁に座っている人。

N7S_AO_772012_M1 EA(または以前のバージョン)を4桁の端末で動作するように修正された方はいらっしゃいますか?

4桁の端末で全て正常に動作するのか?

 
SHOOTER777 >> :
今日は年初から使っている他のEAを、インジケータも含めてテストしました。この2週間は、いずれもポジティブな結果は出ていない。 M1も別の手法で最適化し、最終週はとにかく不利になりました。先週はいろいろな戦略で大変だったと思います。

プラスで判明しました。つまり、私の設定に悪い兆候があるわけです。((

 

N7S_AO_772012_M1Expert Advisorを 1つの指標で最適化 した場合と2つの指標で最適 化した場合では、2番目の指標iCus_N7S_TSM_forExpで以下の関係が判明しました。

最初のケースでは、最適化の異なる段階での最大利益は、2番目のケースよりも30~100%高くなっています。

最初のケースでは、異なるステージで最大利益を得た案件の数は、2番目のケースの約2倍である。

一般的に、案件の数は非常に少ないです。

最適化の際にExpert Advisorのどのパラメータをどの方向に変更すれば、取引件数が増加するのか、誰が知っているのでしょうか?

 

ヴォバニックは、笑ってさえいた。)

どのパラメータを、どの方向に、どのタイミングで変えれば、儲かるのかを、みんなで一緒に考えています )))