任何菜鸟问题,为了不给论坛添乱。专业人士,不要路过。没有你就无处可去 - 6. - 页 291 1...284285286287288289290291292293294295296297298...1178 新评论 Artyom Trishkin 2013.11.28 18:33 #2901 tara: 鲁斯塔姆是主人的名字。要我介绍他吗? 啊...我明白了。 ANDREY 2013.11.28 18:36 #2902 tara: 不,这很好。只是你所使用的产品不仅有 "功能",还有连作者都没有想到要深入研究的设置:)这个产品是一个笑话,你已经相当认真地研究过了--为你点赞。 你说的产品是指试验品吗? 但我测试了几个对.....,结果是一样的。 Алексей Тарабанов 2013.11.28 18:44 #2903 solnce600:我不太清楚你说的是什么设置,但代码是原始的,只有几行,只是重复了很多遍一个困难的条件和一个开单的命令。 你说的产品是指测试器吗? 不,如果我没记错的话,作者称其为测试者的圣杯。 ANDREY 2013.11.28 18:50 #2904 我得到了提示。 但我意识到,测试者和真正的交易是略有不同的东西....。 但我认为它们的相似之处多于差异。 Алексей Тарабанов 2013.11.28 18:52 #2905 solnce600: 我得到了提示。 但我意识到,测试者和真正的交易是略有不同的东西....。 但我认为它们的相似之处多于差异。 在品味和色彩方面,你无法超越钢笔的毡尖。 ANDREY 2013.11.28 19:00 #2906 tara: 你无法超越毛毡试纸的颜色和味道。 就测试质量而言,你对这个测试器的看法是什么? http://clip2net.com/s/6h6sCw 在测试质量方面,它是否远远优于MT-4测试器? 谢谢你。 Алексей Тарабанов 2013.11.28 19:08 #2907 90909solnce600: 就测试质量而言,你对这个测试器的看法是什么? http://clip2net.com/s/6h6sCw 在测试质量方面,它是否比MT-4测试仪优越很多? 谢谢你。 我不太了解测试质量,更希望有一个测试器能在数据不变的情况下提供可重复的结果(MT4测试器的工作方式不同)。因此,我经常在自己的程序中测试交易策略。 ANDREY 2013.11.28 19:12 #2908 tara: 我不太了解测试质量,更希望有一个测试器能在数据不变的情况下提供可重复的结果(MT4测试器的工作方式不同)。因此,我经常在自己的程序中测试交易策略。 明白了,谢谢你。 SpikeOne91 2013.11.29 05:21 #2909 伙计们,谁能描述一下发生了什么,并说明在+中关闭订单的地方,并打开一个新的系列。 extern bool test=false; // откл объектов при тесте extern int prof=56; // уровень профита extern int chag=36; // шаг между ордерами extern int risk=4; //уровень риска extern double lot = 0.01; // начальный лот extern double k_lot=1.7; // увеличение объема extern double lot_max=100; // максимальный лот int kn=9; // величина вертикальной шкалы int magic = 37641; int k,c,b_ind,s_ind,objtot,er; double buy_prs,sel_prs,buy_ind,sel_ind,or_bu,or_sl,prf_b,prf_s,b_pr,s_pr,b2_cls,s2_cls; string nh; int init() { //---- if(Digits==2) k=1; if(Digits==3) k=10; if(Digits==4) k=1; if(Digits==5) k=10; nh=StringSubstr(Symbol(),2,2); if(!IsTesting()){ buy_prs=GlobalVariableGet(nh+"_buy_prs"); buy_ind=GlobalVariableGet(nh+"_buy_ind"); sel_prs=GlobalVariableGet(nh+"_sel_prs"); sel_ind=GlobalVariableGet(nh+"_sel_ind");} c=0; chag=chag*k; prof=prof*k; //нннннннннннннннннннннннннннн// return(0); } //============================================// int start() { //---- int i,y,tick_s,tick_b,tick_slm,tick_blm; double prov,price_b,price_s,prof_b,prof_s,lot_b,lot_s,b_cls,s_cls,abc; bool mod_b=false,mod_s=false; if(Bars-c>1) c=0; i=Bars-c; c=Bars; if(!IsTesting()){for(y=0;y<OrdersTotal();y++) {OrderSelect(y,0,0); if(OrderSymbol()!=Symbol()||OrderMagicNumber()!=magic||(OrderType()!=0&&OrderType()!=1)) continue; prov=prov+OrderProfit()+OrderSwap()+OrderCommission();} if(prov<0&&prov<GlobalVariableGet(nh+"_max_prov"))GlobalVariableSet(nh+"_max_prov",prov);} for (y=0;y<OrdersTotal();y++){OrderSelect(y,0); if(Symbol()!=OrderSymbol()||OrderMagicNumber()!=magic) continue; if (OrderType() == 0 || OrderType() == 1) abc=abc + OrderProfit() + OrderSwap() + OrderCommission(); if(OrderType()==0){if(prf_b!=OrderTakeProfit() && prf_b!=0) mod_b=true; prf_b=OrderTakeProfit();} if(OrderType()==OP_BUY && tick_b<OrderTicket()) { tick_b=OrderTicket(); price_b=OrderOpenPrice(); lot_b=OrderLots(); prof_b=OrderTakeProfit();} if(OrderType()==1){if(prf_s!=OrderTakeProfit() && prf_s!=0) mod_s=true; prf_s=OrderTakeProfit();} if(OrderType()==OP_SELL && tick_s<OrderTicket()) { tick_s=OrderTicket(); price_s=OrderOpenPrice(); lot_s=OrderLots(); prof_s=OrderTakeProfit();} if (OrderType()==OP_BUYLIMIT) tick_blm = OrderTicket(); if (OrderType()==OP_SELLLIMIT) tick_slm = OrderTicket();} if(Ask>buy_prs && or_bu<=0) {buy_prs=Ask; buy_ind=Ask;} if((Ask<buy_prs && Ask<buy_ind) || buy_ind==0) buy_ind=Ask; b_cls=buy_ind+MathFloor(prof+chag/2)*Point; or_bu=MathFloor((buy_prs-buy_ind)/Point/chag); if(Bid>=b_cls && or_bu>0){buy_prs=Ask; buy_ind=Ask; or_bu=0;} if(tick_b==0 && b_ind>0){buy_prs=Ask; buy_ind=Ask; or_bu=0;} if((Bid<sel_prs||sel_prs==0) && or_sl<=0) {sel_prs=Bid; sel_ind=Bid;} if(Bid>sel_prs && Bid>sel_ind) sel_ind=Bid; s_cls=sel_ind-MathFloor(prof+chag/2)*Point; or_sl=MathFloor((sel_ind-sel_prs)/Point/chag); if(Ask<=s_cls && or_sl>0){sel_prs=Bid; sel_ind=Bid; or_sl=0;} if(tick_s==0 && s_ind>0) {sel_prs=Bid; sel_ind=Bid; or_sl=0;} if(!IsTesting()){ GlobalVariableSet(nh+"_buy_prs",buy_prs); GlobalVariableSet(nh+"_buy_ind",buy_ind); GlobalVariableSet(nh+"_sel_prs",sel_prs); GlobalVariableSet(nh+"_sel_ind",sel_ind);} if(tick_b==0 && tick_blm!=0) OrderDelete(tick_blm); if(tick_s==0 && tick_slm!=0) OrderDelete(tick_slm); if(or_bu==risk && tick_b==0) open(0); if(or_sl==risk && tick_s==0) open(1); if(tick_b>0 && tick_blm==0 && lot_b*k_lot<lot_max && Ask>price_b-chag*Point) open_lim(2,price_b,lot_b); if(tick_s>0 && tick_slm==0 && lot_s*k_lot<lot_max && Bid<price_s+chag*Point) open_lim(3,price_s,lot_s); if(mod_b) modif(0,prof_b); if(mod_s) modif(1,prof_s); //=============================== b_ind=tick_b; s_ind=tick_s; //=================================================// if(!test){if(b_pr!=buy_prs || s_pr!=sel_prs || i>=1 || objtot!=ObjectsTotal()) object(buy_prs,buy_prs-chag*kn*Point, sel_prs,sel_prs+chag*kn*Point); //======= if(b_cls>buy_prs && ObjectFind("clsbuy")==0) ObjectDelete("clsbuy"); if(s_cls<sel_prs && ObjectFind("clsel")==0) ObjectDelete("clsel"); if(b_cls<buy_prs && (b2_cls!=b_cls || i>=1 || objtot!=ObjectsTotal())) cls(0,b_cls); if(s_cls>sel_prs && (s2_cls!=s_cls || i>=1 || objtot!=ObjectsTotal())) cls(1,s_cls); b2_cls=b_cls; s2_cls=s_cls; b_pr=buy_prs; s_pr=sel_prs; objtot=ObjectsTotal(); com(abc);} //======================================================// return(0); } //нннннннннннннннннннннннннннн// //==================================// int open(int tip){int tk; if(tip==0){tk=OrderSend(Symbol(),OP_BUY,lot,Ask,3,0,0,"martin",magic); er=GetLastError(); if(er>0) err(er); if(tk>0){OrderSelect(tk,SELECT_BY_TICKET); OrderModify(OrderTicket(),OrderOpenPrice(),0,OrderOpenPrice()+prof*Point,0); er=GetLastError(); if(er>0) err(er);}} if(tip==1){tk=OrderSend(Symbol(),OP_SELL,lot,Bid,3,0,0,"martin",magic); er=GetLastError(); if(er>0) err(er); if(tk>0){OrderSelect(tk,SELECT_BY_TICKET); OrderModify(OrderTicket(),OrderOpenPrice(),0,OrderOpenPrice()-prof*Point,0); er=GetLastError(); if(er>0) err(er);}}} //==================================// int open_lim(int tip,double prc,double lota){double lott=NormalizeDouble(lota*k_lot,2); if(lota==0.01 && k_lot>1.3)lott=0.02; if(tip==2){OrderSend(Symbol(),OP_BUYLIMIT,lott,prc-chag*Point,3,0,prc-(chag-prof)*Point,"martin",magic,0); er=GetLastError(); if(er>0) err(er);} if(tip==3){OrderSend(Symbol(),OP_SELLLIMIT,lott,prc+chag*Point,3,0,prc+(chag-prof)*Point,"martin",magic,0);} er=GetLastError(); if(er>0) err(er);} //==================================// bool modif(int tp,double pf){int y; if(tp==0){ for(y=0;y<OrdersTotal();y++){OrderSelect(y,0); if(Symbol()!=OrderSymbol() || OrderMagicNumber()!=magic || OrderType()!=0) continue; OrderModify(OrderTicket(),OrderOpenPrice(),0,pf,0); er=GetLastError(); if(er>0) err(er);}} //======= if(tp==1){ for(y=0;y<OrdersTotal();y++){OrderSelect(y,0); if(Symbol()!=OrderSymbol() || OrderMagicNumber()!=magic || OrderType()!=1) continue; OrderModify(OrderTicket(),OrderOpenPrice(),0,pf,0); er=GetLastError(); if(er>0) err(er);}}} //======================================// bool com(double abc){Comment(" gubaha martin. ",TimeToStr(TimeLocal(),4), "\n", " максим. просадка = ",GlobalVariableGet(nh+"_max_prov")," $", "\n", " Текущий прибыль= ",NormalizeDouble(abc,2)," $ ", "\n", " Текущий баланс = ", AccountBalance(), " $ ");} //==================================// bool object(double up_b,double dw_b,double up_s,double dw_s){ if(ObjectFind("lin_b")==-1) {ObjectCreate("lin_b",2,0,Time[0]+Period()*240,up_b,Time[0]+Period()*240,dw_b); ObjectSet("lin_b",10,0);ObjectSet("lin_b",6,DeepSkyBlue); ObjectSet("lin_b",8,2);} else{ObjectSet("lin_b",1,up_b); ObjectSet("lin_b",0,Time[0]+Period()*240); ObjectSet("lin_b",3,dw_b); ObjectSet("lin_b",2,Time[0]+Period()*240);} //------------- if(ObjectFind("lin_s")==-1) {ObjectCreate("lin_s",2,0,Time[0]+Period()*480,up_s,Time[0]+Period()*480,dw_s); ObjectSet("lin_s",10,0);ObjectSet("lin_s",6,Red); ObjectSet("lin_s",8,2);} else{ObjectSet("lin_s",1,up_s);ObjectSet("lin_s",0,Time[0]+Period()*480); ObjectSet("lin_s",3,dw_s);ObjectSet("lin_s",2,Time[0]+Period()*480);} //------------- string ln; int y,tm,tm2,col,shn; double kln; for(y=0;y<=kn*2+1;y++){ln="kr_"+DoubleToStr(y,0); if(y<=kn){kln=up_b-y*chag*Point; tm=120; tm2=240;} if(y>kn && y<=kn*2+1){kln=up_s+(y-kn-1)*chag*Point; tm=360; tm2=480;} if(y==risk || y==kn+1+risk) {col=Lime; shn=3;} else {col=DarkGoldenrod; shn=0;} if(ObjectFind(ln)==-1) {ObjectCreate(ln,2,0,Time[0]+Period()*tm,kln,Time[0]+Period()*tm2,kln); ObjectSet(ln,10,0);ObjectSet(ln,6,col); ObjectSet(ln,8,shn);} else{ObjectSet(ln,1,kln);ObjectSet(ln,3,kln);ObjectSet(ln,6,col); ObjectSet(ln,8,shn); ObjectSet(ln,0,Time[0]+Period()*tm);ObjectSet(ln,2,Time[0]+Period()*tm2);}}} //==============// bool cls(int tp,double clos){ if(tp==0){if(ObjectFind("clsbuy")==-1) {ObjectCreate("clsbuy",2,0,Time[0]+Period()*120,clos,Time[0]+Period()*240,clos); ObjectSet("clsbuy",10,0);ObjectSet("clsbuy",6,Magenta); ObjectSet("clsbuy",8,3);} else{ObjectSet("clsbuy",1,clos); ObjectSet("clsbuy",3,clos); ObjectSet("clsbuy",0,Time[0]+Period()*120); ObjectSet("clsbuy",2,Time[0]+Period()*240);}} if(tp==1){if(ObjectFind("clsel")==-1) {ObjectCreate("clsel",2,0,Time[0]+Period()*360,clos,Time[0]+Period()*480,clos); ObjectSet("clsel",10,0); ObjectSet("clsel",6,Magenta); ObjectSet("clsel",8,3);} else{ObjectSet("clsel",1,clos); ObjectSet("clsel",3,clos); ObjectSet("clsel",0,Time[0]+Period()*360); ObjectSet("clsel",2,Time[0]+Period()*480);}} } SpikeOne91 2013.11.29 05:53 #2910 Burger: 你能告诉我,为什么在策略测试器中,EA可以工作,但在模拟账户中,即使我设置了一个小的时间框架,EA也只是笑笑,没有开仓? 测试版.0 外部双数Minimal_lot = 1;//值:1;0.10;0.01 外来的双倍价格_项目=10。 外来的双倍利润=20.Percent_profit。 外来的双数Percent_risk = 20; 外部数据时间time1 = D'24.11.2014 19:00'。 外部的双倍价格1 = 1.3450。 外部数据时间time2 = D'24.11.2014 19:00'。 外部双倍价格2 = 1.3560。 外部数据时间 time_close = D'24.11.2014 19:00:00';//时间的格式 dd.mm.gg hh:mm:ss 外来的int AF = 100。 int init() { //---- //---- return(0); } //+------------------------------------------------------------------+ //|专家启动功能| //+------------------------------------------------------------------+ int start() { 双TP,SL,BBU,BBD,dLTU,dLTD,N。 string comment = NULL。 string LTU,Ltd; int票。 int DSL = ((Percent_Risk/100)*AccountBalance())。 int DTP = ((Percent_Profit/100)*AccountBalance())。 int Times = (Time_close/3600)-(TimeLocal())/3600。 BBU = iBands(NULL,0,20,2,0,PRICE_CLOSE,MODE_UPPER,0)。 BBD = iBands(NULL,0,20,2,0,PRICE_CLOSE,MODE_LOWER,0)。 N = ((AccountBalance()*(Percent_Risk/100))/(Point_price*AF))*Minimum_lot。 TP = (DSL+((Percent_Risk/100)*Times)/(Point_price*AF*(Percent_profit/100)))/Point_price。 SL = (DTP-((Percent_risk/100)*Times)/(Price_item*AF*(Percent_profit/100)) )/Price_item。 如果(price1<price2) { LTU = ObjectCreate("Trend Up",OBJ_TREND,0,time1,price1,time2); dLTU = StrToDouble(LTU)。 } 如果(price1>price2) { LTD = ObjectCreate("TrendBack",OBJ_TREND,0,time1,price1,time2,price2)。 dLTU = StrToDouble(LTD); } //---- 如果(BBU<dLTU) { ticket=OrderSend(Symbol(),OP_SELL,N,Bid,3,Bid+SL*Point,Ask-TP*Point,评论,365,绿色)。 } If(Closing time==true) { OrderClose(OrderTicket(),OrderLots(),Ask,10)。 } 如果(BBD>dLTD) { ticket=OrderSend(Symbol(),OP_BUY,N,Ask,3,Bid-SL*Point,Ask+TP*Point,评论,367,绿色)。 } If(Closing time==true) { OrderClose(OrderTicket(),OrderLots(),Bid,10)。 } return(0); 你有2014年 1...284285286287288289290291292293294295296297298...1178 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
鲁斯塔姆是主人的名字。要我介绍他吗?
不,这很好。只是你所使用的产品不仅有 "功能",还有连作者都没有想到要深入研究的设置:)这个产品是一个笑话,你已经相当认真地研究过了--为你点赞。
你说的产品是指试验品吗?
但我测试了几个对.....,结果是一样的。
我不太清楚你说的是什么设置,但代码是原始的,只有几行,只是重复了很多遍
一个困难的条件和一个开单的命令。
你说的产品是指测试器吗?
不,如果我没记错的话,作者称其为测试者的圣杯。
我得到了提示。
但我意识到,测试者和真正的交易是略有不同的东西....。
但我认为它们的相似之处多于差异。
我得到了提示。
但我意识到,测试者和真正的交易是略有不同的东西....。
但我认为它们的相似之处多于差异。
在品味和色彩方面,你无法超越钢笔的毡尖。
你无法超越毛毡试纸的颜色和味道。
就测试质量而言,你对这个测试器的看法是什么?
http://clip2net.com/s/6h6sCw
在测试质量方面,它是否远远优于MT-4测试器?
谢谢你。
就测试质量而言,你对这个测试器的看法是什么?
http://clip2net.com/s/6h6sCw
在测试质量方面,它是否比MT-4测试仪优越很多?
谢谢你。
我不太了解测试质量,更希望有一个测试器能在数据不变的情况下提供可重复的结果(MT4测试器的工作方式不同)。因此,我经常在自己的程序中测试交易策略。
我不太了解测试质量,更希望有一个测试器能在数据不变的情况下提供可重复的结果(MT4测试器的工作方式不同)。因此,我经常在自己的程序中测试交易策略。
伙计们,谁能描述一下发生了什么,并说明在+中关闭订单的地方,并打开一个新的系列。
你能告诉我,为什么在策略测试器中,EA可以工作,但在模拟账户中,即使我设置了一个小的时间框架,EA也只是笑笑,没有开仓?
测试版.0
外部双数Minimal_lot = 1;//值:1;0.10;0.01
外来的双倍价格_项目=10。
外来的双倍利润=20.Percent_profit。
外来的双数Percent_risk = 20;
外部数据时间time1 = D'24.11.2014 19:00'。
外部的双倍价格1 = 1.3450。
外部数据时间time2 = D'24.11.2014 19:00'。
外部双倍价格2 = 1.3560。
外部数据时间 time_close = D'24.11.2014 19:00:00';//时间的格式 dd.mm.gg hh:mm:ss
外来的int AF = 100。
int init()
{
//----
//----
return(0);
}
//+------------------------------------------------------------------+
//|专家启动功能|
//+------------------------------------------------------------------+
int start()
{
双TP,SL,BBU,BBD,dLTU,dLTD,N。
string comment = NULL。
string LTU,Ltd;
int票。
int DSL = ((Percent_Risk/100)*AccountBalance())。
int DTP = ((Percent_Profit/100)*AccountBalance())。
int Times = (Time_close/3600)-(TimeLocal())/3600。
BBU = iBands(NULL,0,20,2,0,PRICE_CLOSE,MODE_UPPER,0)。
BBD = iBands(NULL,0,20,2,0,PRICE_CLOSE,MODE_LOWER,0)。
N = ((AccountBalance()*(Percent_Risk/100))/(Point_price*AF))*Minimum_lot。
TP = (DSL+((Percent_Risk/100)*Times)/(Point_price*AF*(Percent_profit/100)))/Point_price。
SL = (DTP-((Percent_risk/100)*Times)/(Price_item*AF*(Percent_profit/100)) )/Price_item。
如果(price1<price2)
{
LTU = ObjectCreate("Trend Up",OBJ_TREND,0,time1,price1,time2);
dLTU = StrToDouble(LTU)。
}
如果(price1>price2)
{
LTD = ObjectCreate("TrendBack",OBJ_TREND,0,time1,price1,time2,price2)。
dLTU = StrToDouble(LTD);
}
//----
如果(BBU<dLTU)
{
ticket=OrderSend(Symbol(),OP_SELL,N,Bid,3,Bid+SL*Point,Ask-TP*Point,评论,365,绿色)。
}
If(Closing time==true)
{
OrderClose(OrderTicket(),OrderLots(),Ask,10)。
}
如果(BBD>dLTD)
{
ticket=OrderSend(Symbol(),OP_BUY,N,Ask,3,Bid-SL*Point,Ask+TP*Point,评论,367,绿色)。
}
If(Closing time==true)
{
OrderClose(OrderTicket(),OrderLots(),Bid,10)。
}
return(0);
你有2014年