问吧! - 页 130 1...123124125126127128129130131132133134135136137...182 新评论 [删除] 2008.09.11 11:38 #1291 Dave137: 现在,颜色1和2在图表上都显示为'黑色'!!。 有哪位专家大师能帮助我解决这个问题? 提前感谢! color Color1; color Color2; 冯玉祥 xerof123 2008.09.11 14:59 #1292 谁能给我解释一下,我怎样才能摆脱 "OrderModify error 1 "的问题。我一直在寻找,似乎我需要NormalizeDouble(),但我已经把所有的东西从这里规范化到月球,但我仍然得到了这个错误。 一旦我理解了它,我想我就能搞清楚了,请谁能帮帮我。谢谢。 我还得到一个 "unmatched data error(volume limit 31 at 2008.04.16 07:30 exceeded)",如果有人知道那是怎么回事,我将非常感激你的帮助。 Dave137 2008.09.11 19:27 #1293 FerruFx: color Color1;color Color2; 傅鲁峰 SetIndexStyle(0,DRAW_ARROW,0,star_size,color Color1); SetIndexStyle(1,DRAW_ARROW,0,star_size,color Color2); 我试着在所有的地方插入颜色,一次一个步骤,一次一个试验,要么我在上面的两个语句中得到一个错误 -')' - 希望是逗号或分号 或者没有错误,但随后一切都显示为黑色。 这真的让我很困惑 - 还有什么建议吗? 戴夫 omelette 2008.09.11 22:41 #1294 @xerof123 - 这个错误发生在你试图用未平仓订单已有的相同数值来修改订单时。 另一个问题是不同时间段之间的价格不匹配 - 要摆脱它们,请通过历史中心菜单删除并重新生成所有tick数据。 @Dave137 - 从哪里开始,你把color1、color2定义为字符串 类型,而这些是颜色 类型。 请注意,'属性'定义中的'color1'关键字只是赋值,所以当你以后定义color1、color2时,它们也可以很容易地被称为c1、c2。 进一步注意,你不需要一开始就使用'properties color1',因为你反正是在init()函数中手动设置它们。 另外,查看其他指标如何使用'#属性指标缓冲区 x'和'指标缓冲区(x)'... xerof123 2008.09.12 12:34 #1295 谢谢煎蛋。 我已经尝试了所有的方法,我已经连续6天不眠不休了,但它还是打败了我...... 请你看看这里的代码,告诉我为什么我得到了可恶的 "OrderModify error 1"。 我已经试过正常化,我已经试过不同的逻辑,嘿嘿,我甚至试过给它一杯啤酒。 我真的很感谢你的帮助。谢谢 for(int i=OrdersTotal()-1;i>=0;i--) { OrderSelect(i,SELECT_BY_POS,MODE_TRADES)。 如果(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber) { 如果(OrderType()<=OP_SELL) ordtotal++; 如果(OrderType()==OP_BUY) { 如果(bep==true && Bid-OrderOpenPrice()>=Locked_at*Point) { 如果(OrderModify(OrderTicket(),0,OrderOpenPrice()+7*Point,0,0,0)==true) bep=false; 返回(0)。 } 如果((NormalizeDouble( Bid, Digits)-OrderOpenPrice())>=TS_start*Point) { 如果((NormalizeDouble( Bid, Digits)-NormalizeDouble( OrderStopLoss(), Digits)) >TS_start*Point && ! (NormalizeDouble( Bid, Digits)-NormalizeDouble( OrderStopLoss(), Digits) - TS_start*Point)>=(TrailEvery-1) *Point) { 如果(TS_start > OrderStopLoss()+Point) { OrderModify(OrderTicket(),OrderOpenPrice(), Ask - Point*TS_start ,0,0,SkyBlue)。 返回(0)。 } } } } 如果(OrderType()==OP_SELL) { 如果(bep==true && OrderOpenPrice()-NormalizeDouble( Ask, Digits) >= Locked_at*Point) { 如果(OrderModify(OrderTicket(),0,OrderOpenPrice()-7*Point,0,0,0)==true) bep=false; 返回(0)。 } 如果((OrderOpenPrice()-NormalizeDouble(Ask, Digits)) >= TS_start*Point) { 如果((NormalizeDouble( OrderStopLoss(), Digits)-NormalizeDouble( Ask, Digits)) >TS_start*Point && ! (NormalizeDouble( OrderStopLoss(), Digits)-NormalizeDouble( Ask, Digits)-TS_start*Point)>=( TrailEvery-1)*Point) { 如果(TS_start > OrderStopLoss() +Point) { OrderModify(OrderTicket(),OrderOpenPrice(), Ask + Point*TS_start ,0,0,Orange)。 返回(0)。 } } } } } } [删除] 2008.09.12 15:28 #1296 Dave137: SetIndexStyle(0,DRAW_ARROW,0,star_size,color Color1)。SetIndexStyle(1,DRAW_ARROW,0,star_size,color Color2)。 我试着在所有的地方插入颜色,一步一步地试验,要么上述两个语句出现错误--')' - 希望是逗号或分号 或者没有错误,但之后一切都显示为黑色。 这真的让我困惑--还有什么建议吗? 戴夫 不,你做了错误的修改。 你必须这样改。 string Color1; 字符串Color2。 改为这样。 color Color1; color Color2。 这就是全部。 FerruFx increase 2008.09.12 15:33 #1297 我怎样才能让这个指标在蜡烛触及顶线或底线 时发出警报,并且斜率从上升变为下降,反之亦然? #property copyright "ANG3110@latchess.com" //---------------------------------- #property indicator_chart_window //---------------------------------- extern int Hours=24; 外部颜色col=Aqua。 //------------------ double lr,lr0,lrp; double sx,sy,sxy,sx2,aa,bb; int p,sName,fs; int f,f0,f1; 双重dh,dl,dh_1,dl_1,dh_2,dl_2。 int ai_1,ai_2,bi_1,bi_2; double hai,lai,dhi,dli,dm,dlm,ha0,hap,la0,lap; 双份price_p1,price_p0,price_p2,price_01,price_00,price_02。 int p1,p0,p2,fp; //***************************************** int init() { p=Hours*60/Period()。 如果(fs=0) {sName=CurTime(); fs=1;} return(0);} //******************************* int deinit() { ObjectDelete("1"+sName)。 ObjectDelete("0"+sName); ObjectDelete("2"+sName); } //******************************* int start() { int i,n; //------------------------------------------------------------------------------ 如果(f==1) { p1=iBarShift(Symbol(),Period(),ObjectGet("1"+sName, OBJPROP_TIME1))。 p0=iBarShift(Symbol(),Period(),ObjectGet("0"+sName,OBJPROP_TIME1))。 p2=iBarShift(Symbol(),Period(),ObjectGet("2"+sName,OBJPROP_TIME1))。 如果(fp==0 && p!=p1) {p=p1; fp=1;} if (fp==0 && p!=p0) {p=p0; fp=1;} 如果(fp==0 && p!=p2) {p=p2; fp=1;} } //==================================================== sx=0;sy=0;sxy=0;sx2=0。 for (n=0; n<=p; n++) {sx+=n; sy+=Close[n]; sxy+=n*Close[n]; sx2+=MathPow(n,2);} aa=(sx*sy-(p+1)*sxy)/(MathPow(sx,2)-(p+1)*sx2); bb=(sy-aa*sx)/(p+1)。 //---------------------------------------------------- for (i=0; i<=p; i++) { lr=bb+aa*i; dh=高-lr; dl=低-lr。 //---------------------------------------------------- if (i<p/2) {if (i==0) {dh_1=0.0; dl_1=0.0; ai_1=i; bi_1=i; } 如果(dh>=dh_1) {dh_1=dh; ai_1=i;} 如果(dl<=dl_1) {dl_1=dl; bi_1=i;}} //---------------------------------------------------- if (i>=p/2) {if (i==p/2) {dh_2=0.0; dl_2=0.0; ai_2=i; bi_2=i; } 如果(dh>=dh_2) {dh_2=dh; ai_2=i;} 如果(dl<=dl_2) {dl_2=dl; bi_2=i;}}} //------------------------------------- lr0=bb; lrp=bb+aa*(i+p)。 //=================================================== 如果(MathAbs(ai_1-ai_2)>MathAbs(bi_1-bi_2))f=1。 如果(MathAbs(ai_1-ai_2)<MathAbs(bi_1-bi_2))f=2。 如果(MathAbs(ai_1-ai_2)==MathAbs(bi_1-bi_2)) {如果(MathAbs(dh_1-dh_2)=MathAbs(dl_1-dl_2)) f=2; } //================================================= 如果(f==1) { for (n=0; n<=20; n++) { f1=0; for (i=0; i<=p; i++) {hai=High[ai_1]*(i-ai_2)/(ai_1-ai_2)+High[ai_2]*(i-ai_1)/(ai_2-ai_1)。 如果(i==0 || i==p/2)dmm=0.0。 如果(High-hai>dhm && i<p/2) {ai_1=i; f1=1;} 如果(High-hai>dhm && i>=p/2) {ai_2=i; f1=1;}} 如果(f==0)break;} //---------------------------- for (i=0; i<=p; i++) {hai=High[ai_1]*(i-ai_2)/(ai_1-ai_2)+High[ai_2]*(i-ai_1)/(ai_2-ai_1)。 dli=Low-hai。 如果(i==0)dlm=0.0;如果(dli<dlm)dlm=dli;} ha0=High[ai_1]*(0-ai_2)/(ai_1-ai_2)+High[ai_2]*(0-ai_1)/(ai_2-ai_1); hap=High[ai_1]*(p-ai_2)/(ai_1-ai_2)+High[ai_2]*(p-ai_1)/(ai_2-ai_1); //---------------------------- price_p1=hap; price_p0=hap+dlm/2; price_p2=hap+dlm; price_01=ha0; price_00=ha0+dlm/2; price_02=ha0+dlm; } //================================================= 如果(f==2) { for (n=0; n<=20; n++) { f1=0; for (i=0; i<=p; i++) {lai=Low*(i-bi_2)/(bi_1-bi_2)+Low*(i-bi_1)/(bi_2-bi_1)。 如果(i==0 || i==p/2)dlm=0.0。 如果(Low-lai<dlm && i<p/2) {bi_1=i; f1=1;} 如果(Low-lai=p/2) {bi_2=i; f1=1;}} 如果(f==0) break;} //---------------------------- for (i=0; i<=p; i++) {lai=Low*(i-bi_2)/(bi_1-bi_2)+Low*(i-bi_1)/(bi_2-bi_1)。 dhi=High-lai。 如果(i==0) dhm=0.0; 如果(dhi>dhm) dhm=dhi; } la0=Low*(0-bi_2)/(bi_1-bi_2)+Low*(0-bi_1)/(bi_2-bi_1); lap=Low*(p-bi_2)/(bi_1-bi_2)+Low*(p-bi_1)/(bi_2-bi_1); //---------------------------------------------------------------- price_p1=lap。 price_p0=lap+dhm/2; price_p2=lap+dhm; price_01=la0; price_00=la0+dhm/2; price_02=la0+dhm; } //=================================================================================== ObjectCreate("1"+sName,2, 0,Time[p],price_p1,Time[0],price_01); ObjectCreate("0"+sName,2, 0,Time[p],price_p0,Time[0],price_00); ObjectCreate("2"+sName,2, 0,Time[p],price_p2,Time[0],price_02); //----------------------------------------------------------------- ObjectSet("1"+sName,OBJPROP_COLOR,col); ObjectSet("1"+sName,OBJPROP_STYLE,STYLE_SOLID); ObjectSet("0"+sName,OBJPROP_COLOR,col); ObjectSet("0"+sName,OBJPROP_STYLE,STYLE_DOT); ObjectSet("2"+sName,OBJPROP_COLOR,col); ObjectSet("2"+sName,OBJPROP_STYLE,STYLE_SOLID); ObjectSet("0"+sName,OBJPROP_WIDTH,1); // 控制线条的宽度。 ObjectSet("1"+sName,OBJPROP_WIDTH,2); ObjectSet("2"+sName,OBJPROP_WIDTH,2); //--------------------------------------------- ObjectSet("1"+sName,OBJPROP_TIME1,Time[p]); ObjectSet("1"+sName,OBJPROP_PRICE1,price_p1); ObjectSet("1"+sName,OBJPROP_TIME2,Time[0]); ObjectSet("1"+sName,OBJPROP_PRICE2,price_01); ObjectSet("0"+sName,OBJPROP_TIME1,Time[p]); ObjectSet("0"+sName,OBJPROP_PRICE1,price_p0); ObjectSet("0"+sName,OBJPROP_TIME2,Time[0]); ObjectSet("0"+sName,OBJPROP_PRICE2,price_00); ObjectSet("2"+sName,OBJPROP_TIME1,Time[p]); ObjectSet("2"+sName,OBJPROP_PRICE1,price_p2); ObjectSet("2"+sName,OBJPROP_TIME2,Time[0]); ObjectSet("2"+sName,OBJPROP_PRICE2,price_02); //================================================================== f=1; p1=p; p0=p; p2=p; fp=0。 //************************************************************************************* return(0);} //===================================================================================== Ema Cross! Help adding indicator as Ask! omelette 2008.09.12 16:40 #1298 xerof123: 谢谢煎蛋。我已经尝试了所有的方法,我已经不停地做了6天了,但它还是打败了我...... 请你看一下这里的代码,告诉我为什么会出现 "OrderModify error 1 "的糟糕情况。 我试过规范化,我试过不同的逻辑,甚至试过给它一杯啤酒。 我真的很感谢你的帮助。谢谢 再读一下我写的内容--你在调用Modify()函数 时没有首先检查价格是否需要修改......。 luxinterior 2008.09.13 00:04 #1299 煎蛋已经很好地回答了你的问题。我必须说这家伙有圣人般的耐心,我赞扬他。 希望能更好地说明他所提出的观点,那就这样吧。 你现在基本上说的是如果2>1,那么修改(改变)X=2,但你遇到的问题是X已经等于2,所以要求修改(改变)它是不正确的,因为它已经等于你想修改的东西。 你只需要检查 它是否与你要修改的东西不相等,如果不相等,才尝试修改它。 有没有更清楚的? 祝您好运 卢克斯 pipdigger 2008.09.13 08:09 #1300 第一次使用EA,需要帮助。 亲爱的代码大师。 我复制了.mql4文件到专家文件夹,并在选项部分设置了允许自动交易,但当我做回测时,没有产生交易。我在网上试了几个免费的EA,问题每次都发生。我可以看到回测数据在图表中加载,但没有交易,所以在报告中所有的数字都是0。我一定是做错了什么,希望你能帮助我。请提前感谢。 请注意。 jzhai1994 1...123124125126127128129130131132133134135136137...182 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
现在,颜色1和2在图表上都显示为'黑色'!!。
有哪位专家大师能帮助我解决这个问题?
提前感谢!color Color1;
color Color2;
冯玉祥
谁能给我解释一下,我怎样才能摆脱 "OrderModify error 1 "的问题。我一直在寻找,似乎我需要NormalizeDouble(),但我已经把所有的东西从这里规范化到月球,但我仍然得到了这个错误。
一旦我理解了它,我想我就能搞清楚了,请谁能帮帮我。谢谢。
我还得到一个 "unmatched data error(volume limit 31 at 2008.04.16 07:30 exceeded)",如果有人知道那是怎么回事,我将非常感激你的帮助。
color Color1;
color Color2;
傅鲁峰SetIndexStyle(0,DRAW_ARROW,0,star_size,color Color1);
SetIndexStyle(1,DRAW_ARROW,0,star_size,color Color2);
我试着在所有的地方插入颜色,一次一个步骤,一次一个试验,要么我在上面的两个语句中得到一个错误 -')' - 希望是逗号或分号 或者没有错误,但随后一切都显示为黑色。
这真的让我很困惑 - 还有什么建议吗?
戴夫
@xerof123 - 这个错误发生在你试图用未平仓订单已有的相同数值来修改订单时。 另一个问题是不同时间段之间的价格不匹配 - 要摆脱它们,请通过历史中心菜单删除并重新生成所有tick数据。
@Dave137 - 从哪里开始,你把color1、color2定义为字符串 类型,而这些是颜色 类型。 请注意,'属性'定义中的'color1'关键字只是赋值,所以当你以后定义color1、color2时,它们也可以很容易地被称为c1、c2。 进一步注意,你不需要一开始就使用'properties color1',因为你反正是在init()函数中手动设置它们。 另外,查看其他指标如何使用'#属性指标缓冲区 x'和'指标缓冲区(x)'...
谢谢煎蛋。
我已经尝试了所有的方法,我已经连续6天不眠不休了,但它还是打败了我......
请你看看这里的代码,告诉我为什么我得到了可恶的 "OrderModify error 1"。
我已经试过正常化,我已经试过不同的逻辑,嘿嘿,我甚至试过给它一杯啤酒。
我真的很感谢你的帮助。谢谢
for(int i=OrdersTotal()-1;i>=0;i--)
{
OrderSelect(i,SELECT_BY_POS,MODE_TRADES)。
如果(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
{
如果(OrderType()<=OP_SELL) ordtotal++;
如果(OrderType()==OP_BUY)
{
如果(bep==true && Bid-OrderOpenPrice()>=Locked_at*Point)
{
如果(OrderModify(OrderTicket(),0,OrderOpenPrice()+7*Point,0,0,0)==true) bep=false;
返回(0)。
}
如果((NormalizeDouble( Bid, Digits)-OrderOpenPrice())>=TS_start*Point)
{
如果((NormalizeDouble( Bid, Digits)-NormalizeDouble( OrderStopLoss(), Digits)) >TS_start*Point && !
(NormalizeDouble( Bid, Digits)-NormalizeDouble( OrderStopLoss(), Digits) - TS_start*Point)>=(TrailEvery-1) *Point)
{
如果(TS_start > OrderStopLoss()+Point)
{
OrderModify(OrderTicket(),OrderOpenPrice(), Ask - Point*TS_start ,0,0,SkyBlue)。
返回(0)。
}
}
}
}
如果(OrderType()==OP_SELL)
{
如果(bep==true && OrderOpenPrice()-NormalizeDouble( Ask, Digits) >= Locked_at*Point)
{
如果(OrderModify(OrderTicket(),0,OrderOpenPrice()-7*Point,0,0,0)==true) bep=false;
返回(0)。
}
如果((OrderOpenPrice()-NormalizeDouble(Ask, Digits)) >= TS_start*Point)
{
如果((NormalizeDouble( OrderStopLoss(), Digits)-NormalizeDouble( Ask, Digits)) >TS_start*Point && !
(NormalizeDouble( OrderStopLoss(), Digits)-NormalizeDouble( Ask, Digits)-TS_start*Point)>=( TrailEvery-1)*Point)
{
如果(TS_start > OrderStopLoss() +Point)
{
OrderModify(OrderTicket(),OrderOpenPrice(), Ask + Point*TS_start ,0,0,Orange)。
返回(0)。
}
}
}
}
}
}
SetIndexStyle(0,DRAW_ARROW,0,star_size,color Color1)。
SetIndexStyle(1,DRAW_ARROW,0,star_size,color Color2)。
我试着在所有的地方插入颜色,一步一步地试验,要么上述两个语句出现错误--')' - 希望是逗号或分号 或者没有错误,但之后一切都显示为黑色。
这真的让我困惑--还有什么建议吗?
戴夫不,你做了错误的修改。
你必须这样改。
string Color1;
字符串Color2。
改为这样。
color Color1;
color Color2。
这就是全部。
FerruFx
我怎样才能让这个指标在蜡烛触及顶线或底线 时发出警报,并且斜率从上升变为下降,反之亦然?
#property copyright "ANG3110@latchess.com"
//----------------------------------
#property indicator_chart_window
//----------------------------------
extern int Hours=24;
外部颜色col=Aqua。
//------------------
double lr,lr0,lrp;
double sx,sy,sxy,sx2,aa,bb;
int p,sName,fs;
int f,f0,f1;
双重dh,dl,dh_1,dl_1,dh_2,dl_2。
int ai_1,ai_2,bi_1,bi_2;
double hai,lai,dhi,dli,dm,dlm,ha0,hap,la0,lap;
双份price_p1,price_p0,price_p2,price_01,price_00,price_02。
int p1,p0,p2,fp;
//*****************************************
int init() {
p=Hours*60/Period()。
如果(fs=0) {sName=CurTime(); fs=1;}
return(0);}
//*******************************
int deinit() {
ObjectDelete("1"+sName)。
ObjectDelete("0"+sName);
ObjectDelete("2"+sName); }
//*******************************
int start() {
int i,n;
//------------------------------------------------------------------------------
如果(f==1) {
p1=iBarShift(Symbol(),Period(),ObjectGet("1"+sName, OBJPROP_TIME1))。
p0=iBarShift(Symbol(),Period(),ObjectGet("0"+sName,OBJPROP_TIME1))。
p2=iBarShift(Symbol(),Period(),ObjectGet("2"+sName,OBJPROP_TIME1))。
如果(fp==0 && p!=p1) {p=p1; fp=1;}
if (fp==0 && p!=p0) {p=p0; fp=1;}
如果(fp==0 && p!=p2) {p=p2; fp=1;}
}
//====================================================
sx=0;sy=0;sxy=0;sx2=0。
for (n=0; n<=p; n++) {sx+=n; sy+=Close[n]; sxy+=n*Close[n]; sx2+=MathPow(n,2);}
aa=(sx*sy-(p+1)*sxy)/(MathPow(sx,2)-(p+1)*sx2); bb=(sy-aa*sx)/(p+1)。
//----------------------------------------------------
for (i=0; i<=p; i++) {
lr=bb+aa*i;
dh=高-lr; dl=低-lr。
//----------------------------------------------------
if (i<p/2) {if (i==0) {dh_1=0.0; dl_1=0.0; ai_1=i; bi_1=i; }
如果(dh>=dh_1) {dh_1=dh; ai_1=i;}
如果(dl<=dl_1) {dl_1=dl; bi_1=i;}}
//----------------------------------------------------
if (i>=p/2) {if (i==p/2) {dh_2=0.0; dl_2=0.0; ai_2=i; bi_2=i; }
如果(dh>=dh_2) {dh_2=dh; ai_2=i;}
如果(dl<=dl_2) {dl_2=dl; bi_2=i;}}}
//-------------------------------------
lr0=bb; lrp=bb+aa*(i+p)。
//===================================================
如果(MathAbs(ai_1-ai_2)>MathAbs(bi_1-bi_2))f=1。
如果(MathAbs(ai_1-ai_2)<MathAbs(bi_1-bi_2))f=2。
如果(MathAbs(ai_1-ai_2)==MathAbs(bi_1-bi_2)) {如果(MathAbs(dh_1-dh_2)=MathAbs(dl_1-dl_2)) f=2; }
//=================================================
如果(f==1) {
for (n=0; n<=20; n++) { f1=0;
for (i=0; i<=p; i++) {hai=High[ai_1]*(i-ai_2)/(ai_1-ai_2)+High[ai_2]*(i-ai_1)/(ai_2-ai_1)。
如果(i==0 || i==p/2)dmm=0.0。
如果(High-hai>dhm && i<p/2) {ai_1=i; f1=1;}
如果(High-hai>dhm && i>=p/2) {ai_2=i; f1=1;}}
如果(f==0)break;}
//----------------------------
for (i=0; i<=p; i++) {hai=High[ai_1]*(i-ai_2)/(ai_1-ai_2)+High[ai_2]*(i-ai_1)/(ai_2-ai_1)。
dli=Low-hai。
如果(i==0)dlm=0.0;如果(dli<dlm)dlm=dli;}
ha0=High[ai_1]*(0-ai_2)/(ai_1-ai_2)+High[ai_2]*(0-ai_1)/(ai_2-ai_1);
hap=High[ai_1]*(p-ai_2)/(ai_1-ai_2)+High[ai_2]*(p-ai_1)/(ai_2-ai_1);
//----------------------------
price_p1=hap;
price_p0=hap+dlm/2;
price_p2=hap+dlm;
price_01=ha0;
price_00=ha0+dlm/2;
price_02=ha0+dlm;
}
//=================================================
如果(f==2) {
for (n=0; n<=20; n++) { f1=0;
for (i=0; i<=p; i++) {lai=Low*(i-bi_2)/(bi_1-bi_2)+Low*(i-bi_1)/(bi_2-bi_1)。
如果(i==0 || i==p/2)dlm=0.0。
如果(Low-lai<dlm && i<p/2) {bi_1=i; f1=1;}
如果(Low-lai=p/2) {bi_2=i; f1=1;}}
如果(f==0) break;}
//----------------------------
for (i=0; i<=p; i++) {lai=Low*(i-bi_2)/(bi_1-bi_2)+Low*(i-bi_1)/(bi_2-bi_1)。
dhi=High-lai。
如果(i==0) dhm=0.0; 如果(dhi>dhm) dhm=dhi; }
la0=Low*(0-bi_2)/(bi_1-bi_2)+Low*(0-bi_1)/(bi_2-bi_1);
lap=Low*(p-bi_2)/(bi_1-bi_2)+Low*(p-bi_1)/(bi_2-bi_1);
//----------------------------------------------------------------
price_p1=lap。
price_p0=lap+dhm/2;
price_p2=lap+dhm;
price_01=la0;
price_00=la0+dhm/2;
price_02=la0+dhm;
}
//===================================================================================
ObjectCreate("1"+sName,2, 0,Time[p],price_p1,Time[0],price_01);
ObjectCreate("0"+sName,2, 0,Time[p],price_p0,Time[0],price_00);
ObjectCreate("2"+sName,2, 0,Time[p],price_p2,Time[0],price_02);
//-----------------------------------------------------------------
ObjectSet("1"+sName,OBJPROP_COLOR,col);
ObjectSet("1"+sName,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet("0"+sName,OBJPROP_COLOR,col);
ObjectSet("0"+sName,OBJPROP_STYLE,STYLE_DOT);
ObjectSet("2"+sName,OBJPROP_COLOR,col);
ObjectSet("2"+sName,OBJPROP_STYLE,STYLE_SOLID);
ObjectSet("0"+sName,OBJPROP_WIDTH,1); // 控制线条的宽度。
ObjectSet("1"+sName,OBJPROP_WIDTH,2);
ObjectSet("2"+sName,OBJPROP_WIDTH,2);
//---------------------------------------------
ObjectSet("1"+sName,OBJPROP_TIME1,Time[p]);
ObjectSet("1"+sName,OBJPROP_PRICE1,price_p1);
ObjectSet("1"+sName,OBJPROP_TIME2,Time[0]);
ObjectSet("1"+sName,OBJPROP_PRICE2,price_01);
ObjectSet("0"+sName,OBJPROP_TIME1,Time[p]);
ObjectSet("0"+sName,OBJPROP_PRICE1,price_p0);
ObjectSet("0"+sName,OBJPROP_TIME2,Time[0]);
ObjectSet("0"+sName,OBJPROP_PRICE2,price_00);
ObjectSet("2"+sName,OBJPROP_TIME1,Time[p]);
ObjectSet("2"+sName,OBJPROP_PRICE1,price_p2);
ObjectSet("2"+sName,OBJPROP_TIME2,Time[0]);
ObjectSet("2"+sName,OBJPROP_PRICE2,price_02);
//==================================================================
f=1; p1=p; p0=p; p2=p; fp=0。
//*************************************************************************************
return(0);}
//=====================================================================================
谢谢煎蛋。
我已经尝试了所有的方法,我已经不停地做了6天了,但它还是打败了我......
请你看一下这里的代码,告诉我为什么会出现 "OrderModify error 1 "的糟糕情况。
我试过规范化,我试过不同的逻辑,甚至试过给它一杯啤酒。
我真的很感谢你的帮助。谢谢再读一下我写的内容--你在调用Modify()函数 时没有首先检查价格是否需要修改......。
煎蛋已经很好地回答了你的问题。我必须说这家伙有圣人般的耐心,我赞扬他。
希望能更好地说明他所提出的观点,那就这样吧。
你现在基本上说的是如果2>1,那么修改(改变)X=2,但你遇到的问题是X已经等于2,所以要求修改(改变)它是不正确的,因为它已经等于你想修改的东西。
你只需要检查 它是否与你要修改的东西不相等,如果不相等,才尝试修改它。
有没有更清楚的?
祝您好运
卢克斯
第一次使用EA,需要帮助。
亲爱的代码大师。
我复制了.mql4文件到专家文件夹,并在选项部分设置了允许自动交易,但当我做回测时,没有产生交易。我在网上试了几个免费的EA,问题每次都发生。我可以看到回测数据在图表中加载,但没有交易,所以在报告中所有的数字都是0。我一定是做错了什么,希望你能帮助我。请提前感谢。
请注意。
jzhai1994