[存档]任何菜鸟问题,为了不使论坛变得杂乱无章。专业人士,不要路过。没有你就无处可去 - 3. - 页 116 1...109110111112113114115116117118119120121122123...652 新评论 Victor Nikolaev 2011.08.21 12:54 #1151 Roman.: 伙计们,你们能告诉我为什么可能出现无法在EA中打开指标的错误吗? 这一条件得到满足。 -参数列表(如有必要)。传递的参数必须与自定义指标的外部(extern)变量的声明顺序和类型一致。 你应该检查该指标的名称。 这可能是 Роман 2011.08.21 13:01 #1152 Vinin: 我将不得不检查指标名称。 我不知道它可能是什么。 我检查了这个名字。没关系的。想明白了... P.S. 我建立了一个五位数的DC终端,把所有东西都搬到那里,再次仔细检查了所有东西,编辑了很多代码,不再出现这样的错误。 [删除] 2011.08.21 13:25 #1153 O MQL编程大师们,请帮助一个新人解决一个问题。该程序不能正常工作,它没有做它应该做的事。你能告诉我我的错误是什么吗?该计划需要。 1.打开一个订单,将开盘价 值分配给PriceBuy变量,并显示相关信息。 2.当达到TakeProfit时,以同样的条件开立一个新的订单。 以下是程序代码: extern double PriceBuy = 0; extern bool Buy = true; extern bool number = false; int start() { if(Buy) { int ticket=OrderSend(Symbol(),OP_BUY,0.01,Ask,3,Bid-100*Point, Bid+100*Point); if(OrderSelect(ticket,SELECT_BY_TICKET, MODE_TRADES) PriceBuy=OrderOpenPrice(); Alert("Buy Price = ",PriceBuy); Buy = false; number = true;}。 如果(Bid+100*Point<=PriceBuy && number) {PriceBuy = 0; number = false; Buy=true;} return; } 提前感谢 [ARCHIVE] Any rookie question, [存档!]任何菜鸟问题,为了不给论坛添乱。专业人士,不要与它擦肩而过。没有你,哪里都不能去 - 2. [存档!]我将免费撰写任何专家或指标。 Andrey F. Zelinsky 2011.08.21 13:43 #1154 OTPOK: O MQL编程大师们,请帮助一个新人解决一个问题。该程序不能正常工作,它没有做它应该做的事。你能告诉我我的错误是什么吗?该方案需要。 1.打开一个订单,将开盘价值分配给PriceBuy变量,并显示相关信息。 当达到TakeProfit时,以同样的条件 开立一个新的订单。 以下是程序代码。 外来的双倍PriceBuy = 0; 外部bool Buy = true。 外部的bool number = false。 int start() { 如果(购买) { int ticket=OrderSend(Symbol(),OP_BUY,0.01,Ask,3,Ask-100*Point,Ask+100*Point) 。 如果(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) PriceBuy=OrderOpenPrice()。 Alert("Buy Price = ",PriceBuy); 购买 = false。 number = true;} 如果(Bid+100*Point<=PriceBuy&& number) {PriceBuy = 0; number = false; 购买=true;} 返回。 } 预先感谢 出价>=买价+100*点数 toropchin 2011.08.21 16:13 #1155 我想从kernel32.dll连接CreateNamedPipe()函数。我需要开出Dword类型的标志。 我是这样做的。 #define ACCESS_SYSTEM_SECURITY 0x01000000L 自然地,编译器在结尾处对L发了誓。你能告诉我该怎么做吗? Роман 2011.08.22 00:56 #1156 Vinin: 我必须检查指标名称。 这可能是。 是的,真的,维克多,我的错误是我试图自动 解决它......:-))) 通过以下方式传送给指标 ... string short_name; ... short_name="NonLagMA"; IndicatorShortName(short_name); ... ...因此,当通过iCustom()寻址到指标值时,"短 "和 "正常 "名称不一致,即当它们不一致时,应只用其 "正常 "名称寻址指标。 谢谢你。 Артур 2011.08.22 01:15 #1157 你好。 请帮助我找到一个错误。 该代码旨在当价格越过图表上画的线时,关闭所有头寸。大多数情况下是这样。但是周期性地有2个故障:1。价格越过线,但头寸没有关闭。2.该线与当前价格水平 相交(有一定角度),但不与之重合(不影响当前蜡烛),而所有的头寸都被关闭(这不应该发生)。 int start() { //============== Закрытие по линии Close ======================================== int bar1,bar2,bar3; if (Draw_Close && ObjectFind("LINES CLOSE")==-1) { bar3 = searcFR(0,1);bar2 = searcFR(bar3,-1);bar1 = searcFR(bar2,1); drawline("LINES CLOSE",Color_Close,Time[bar1],High[bar1]+15*Point,Time[bar3],High[bar3]+15*Point); } string order = checkapp(); if (order=="LINES CLOSE") {DeleteAllOtlozh_b(); CloseAll_b(DeleteOtlozh,Proskalz); ObjectDelete("LINES CLOSE"); ObjectDelete("LINES CLOSE n"); Draw_Close = false; if(UseAlert){ Alert("Уровень достигнут, заблокирован"); } } } //================================================================================== //=========== Вычисление линии Close ================================================================= int searcFR(int bar, int UP_DN) { while(true)//ищем 1 фрактал после bar { bar++; if (Fractal(bar) == UP_DN) return(bar);} return(0); } //-------------------------------------------------------------------------- int Fractal(int br) { if (br <= 2) return(0); if (High[br] >= High[br+1] && High[br] > High[br+2] && High[br] >= High[br-1] && High[br] > High[br-2]) return( 1); if (Low [br] <= Low [br+1] && Low [br] < Low [br+2] && Low [br] <= Low [br-1] && Low [br] < Low [br-2]) return(-1); return(0); } //------------------------------------------------------------------- int drawline(string Name, color col,int X1,double Y1,int X2,double Y2) { if (ObjectFind(Name)==0)return; //Если обьект существует int X1g=Time[0]; int X2g=Time[0]+Period()*1200; double Y1g=Y1+(Y2-Y1)*(X1g-X1)/(X2-X1); double Y2g=Y1+(Y2-Y1)*(X2g-X1)/(X2-X1); ObjectCreate(Name, OBJ_TREND, 0,X1g,Y1g,X2g,Y2g); ObjectSet (Name, OBJPROP_COLOR, col); ObjectSet (Name, OBJPROP_STYLE, STYLE_SOLID); ObjectSet (Name, OBJPROP_WIDTH, 2); ObjectSet (Name, OBJPROP_BACK, false); ObjectSet (Name, OBJPROP_RAY, false); return; } //----------------------------------------------------------------------- проверка всех линий string checkapp() { int X_1,X_2,X_3; double Y_1,Y_2,Y_3; double shift_Y = (WindowPriceMax()-WindowPriceMin()) / 50; color col; for(int n=ObjectsTotal()-1; n>=0; n--) { string Obj_N=ObjectName(n); if (ObjectType(Obj_N)!=OBJ_TREND) continue; if (StringFind(Obj_N,"LINES ",0)!=-1)//найден обьект-тренд к которому вычисляется приближение { X_1 = ObjectGet(Obj_N, OBJPROP_TIME1); X_2 = ObjectGet(Obj_N, OBJPROP_TIME2); ObjectDelete (Obj_N+" n"); if (X_1>X_2 || X_2<Time[0]) {continue;}//ObjectDelete(Obj_N); Y_1 = ObjectGet(Obj_N, OBJPROP_PRICE1); Y_2 = ObjectGet(Obj_N, OBJPROP_PRICE2); col= ObjectGet(Obj_N, OBJPROP_COLOR); ObjectCreate (Obj_N+" n", OBJ_TEXT,0,X_1-Period()*60,Y_1+shift_Y,0,0,0,0); ObjectSetText(Obj_N+" n",StringSubstr(Obj_N,6,5) ,7,"Arial"); ObjectSet (Obj_N+" n", OBJPROP_COLOR, col); if (X_1<=Time[0] && X_2>=Time[0])//попадает во временной диапазон { X_3=Time[0];Y_3=Y_1+(Y_2-Y_1)*(X_3-X_1)/(X_2-X_1);//уравнение прямой if (Y_3>=Bid&&Y_3<=Ask) { return(Obj_N); } } } } } 我预先感谢你。 Артур 2011.08.22 07:01 #1158 nemo811: 请帮助我找到这个错误。 撤回这个问题,我已经想明白了。 toropchin 2011.08.22 08:59 #1159 toropchin: 我想从kernel32.dll连接CreateNamedPipe()函数。我需要开出Dword类型的标志。 我是这样做的。 #define ACCESS_SYSTEM_SECURITY 0x01000000L 自然地,编译器在结尾处对L发了誓。你有什么建议? 竺可桢。 删除数字。只能有8位。MQL4对大的不适用。 你需要删除一个额外的零。像这样试试:0x1000000L 它不是这样工作的。编译器给出错误'0x1000000L' - 无效数字 Vadim Zhunko 2011.08.22 09:47 #1160 toropchin: 它并不像那样工作。编译器产生错误'0x1000000L' - 无效数字 晚上根本不思考...:-))在16位系统中没有这样的数字。它是一个常量类型的标识符。 L应被删除:0x01000000 1...109110111112113114115116117118119120121122123...652 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
伙计们,你们能告诉我为什么可能出现无法在EA中打开指标的错误吗?
这一条件得到满足。
-参数列表(如有必要)。传递的参数必须与自定义指标的外部(extern)变量的声明顺序和类型一致。
你应该检查该指标的名称。 这可能是
我将不得不检查指标名称。 我不知道它可能是什么。
我检查了这个名字。没关系的。想明白了...
P.S. 我建立了一个五位数的DC终端,把所有东西都搬到那里,再次仔细检查了所有东西,编辑了很多代码,不再出现这样的错误。
1.打开一个订单,将开盘价 值分配给PriceBuy变量,并显示相关信息。
2.当达到TakeProfit时,以同样的条件开立一个新的订单。
以下是程序代码:
extern double PriceBuy = 0;
extern bool Buy = true;
extern bool number = false;
int start()
{
if(Buy)
{
int ticket=OrderSend(Symbol(),OP_BUY,0.01,Ask,3,Bid-100*Point, Bid+100*Point);
if(OrderSelect(ticket,SELECT_BY_TICKET, MODE_TRADES)
PriceBuy=OrderOpenPrice();
Alert("Buy Price = ",PriceBuy);
Buy = false;
number = true;}。
如果(Bid+100*Point<=PriceBuy && number)
{PriceBuy = 0;
number = false;
Buy=true;}
return;
}
提前感谢
O MQL编程大师们,请帮助一个新人解决一个问题。该程序不能正常工作,它没有做它应该做的事。你能告诉我我的错误是什么吗?该方案需要。
1.打开一个订单,将开盘价值分配给PriceBuy变量,并显示相关信息。
当达到TakeProfit时,以同样的条件 开立一个新的订单。
以下是程序代码。
外来的双倍PriceBuy = 0;
外部bool Buy = true。
外部的bool number = false。
int start()
{
如果(购买)
{
int ticket=OrderSend(Symbol(),OP_BUY,0.01,Ask,3,Ask-100*Point,Ask+100*Point) 。
如果(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
PriceBuy=OrderOpenPrice()。
Alert("Buy Price = ",PriceBuy);
购买 = false。
number = true;}
如果(Bid+100*Point<=PriceBuy&& number)
{PriceBuy = 0;
number = false;
购买=true;}
返回。
}
预先感谢
出价>=买价+100*点数
我想从kernel32.dll连接CreateNamedPipe()函数。我需要开出Dword类型的标志。
我是这样做的。
#define ACCESS_SYSTEM_SECURITY 0x01000000L
自然地,编译器在结尾处对L发了誓。你能告诉我该怎么做吗?
我必须检查指标名称。 这可能是。
是的,真的,维克多,我的错误是我试图自动 解决它......:-))) 通过以下方式传送给指标
...因此,当通过iCustom()寻址到指标值时,"短 "和 "正常 "名称不一致,即当它们不一致时,应只用其 "正常 "名称寻址指标。
谢谢你。
你好。
请帮助我找到一个错误。
该代码旨在当价格越过图表上画的线时,关闭所有头寸。大多数情况下是这样。但是周期性地有2个故障:1。价格越过线,但头寸没有关闭。2.该线与当前价格水平 相交(有一定角度),但不与之重合(不影响当前蜡烛),而所有的头寸都被关闭(这不应该发生)。
我预先感谢你。
请帮助我找到这个错误。
撤回这个问题,我已经想明白了。
我想从kernel32.dll连接CreateNamedPipe()函数。我需要开出Dword类型的标志。
我是这样做的。
#define ACCESS_SYSTEM_SECURITY 0x01000000L
自然地,编译器在结尾处对L发了誓。你有什么建议?
删除数字。只能有8位。MQL4对大的不适用。
你需要删除一个额外的零。像这样试试:0x1000000L
它不是这样工作的。编译器给出错误'0x1000000L' - 无效数字
它并不像那样工作。编译器产生错误'0x1000000L' - 无效数字
晚上根本不思考...:-))在16位系统中没有这样的数字。它是一个常量类型的标识符。
L应被删除:0x01000000