[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 159 1...152153154155156157158159160161162163164165166...1145 新评论 Rid 2009.07.22 11:59 #1581 1Rakso >> : 1)那你如何让它失效,通过外部变量? 2)我是否可以这样设置:第一个打开的订单在打开时被关闭,而随后的订单2、3等则不被关闭?假设我开了一个买入订单--这是第一个订单,然后我又开了一个买入订单--第二个,等等,然后在这一系列的订单中,只有第一个订单会被СorderClose关闭? 查看地址页,https://www.mql5.com/ru/forum/105913 1)大约是这样的 -- extern bool AutoClose = True; ....................................... //********* Закрытие позиций **************************************** if ( AutoClose) { //----переменные для закрытия позиций ---- double Stochast_0 =iStochastic(NULL,0, Stochastic_period,3,3,MODE_SMA,0,MODE_MAIN,0); double Stochast_1 =iStochastic(NULL,0, Stochastic_period,3,3,MODE_SMA,0,MODE_MAIN,1); //---------------------------------------------------------------------- for (int v=0; v<OrdersTotal(); v++) { if (OrderSelect( v, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol()==Symbol()&& OrderMagicNumber()== MagicNum) { //----------------------------------------------------- if (OrderType() == OP_BUY) { if( Stochast_1>75 && Stochast_0<75) { OrderClose(OrderTicket(),OrderLots(),Bid,3,Green); // закрываем позицию // return(0); // выходим } } //-------------------------------------------------------- if (OrderType() == OP_SELL) { if( Stochast_1<25 && Stochast_0>25) { OrderClose(OrderTicket(),OrderLots(),Ask,3,Green); // закрываем позицию // return(0); // выходим } } //------------------------------------------------------- } // Symbol() } // select } //total } //Close_ 2) 移除锁 ( // ) ,然后再 // return(0); // exit 然后只有第一个(或最后一个)位置会被关闭。 Rid 2009.07.22 12:02 #1582 PyMbIH >> : 大家好,)))) 帮助。 我刚刚开始对mql4进行编程。 编写专家顾问。 我如何做到这一点。 我想让我的专家顾问只在周一工作。 //Открытие и закрытие позиций только в понедельник if (TimeDayOfWeek(TimeCurrent()) == 1) return (0); [删除] 2009.07.22 12:03 #1583 rid писал(а)>> >>谢谢你! RocketTrend 2009.07.22 12:05 #1584 Vinin >> : 谢谢你,维宁 =) 1Rakso 2009.07.22 12:06 #1585 rid >> : 查看"关闭的职位"。在指示信号上'。 1)大约是这样的 -- 2) 删去在 "我 "之前的封锁( // )。 // return(0); // exit 然后只有第一个位置会被关闭。 谢谢你,Reed! 你帮了我很多,还是有好心人的) 都知道了,我去看数学题,希望没有占用你太多时间) Denis Lysenko 2009.07.22 13:50 #1586 请帮助。 如果在EA 1.mq4(附件)的视觉测试 中,我在图表上放上指标3-cci-h3(附件),那么,看起来,在参数完全相同的情况下,指标的计算cci信号和实际cci(右上角的对象文本)并不一致。 为什么? 为什么警报在这个指标中不起作用? 专家顾问代码。 double lasthigh, lastlow, lasthigh2=200000, lastlow2=0, lastpos=0, t[2]; int start() {Comment(""); lasthigh=High[1]; lastlow=Low[1]; if( lasthigh< lasthigh2) lasthigh2= lasthigh; if( lastlow> lastlow2) lastlow2= lastlow; t[0]= lasthigh2; t[1]= lastlow2; string s1="lasthigh2 *** "+DoubleToStr( t[0],5); string s2="lastlow2 *** "+DoubleToStr( t[1],5); string str[2]; str[0]= s1; str[1]= s2; color col=Lime; for(int y=0; y<2; y++) {ObjectCreate("textSignal"+ y,OBJ_LABEL,0,0,0,0,0); ObjectSet("textSignal"+ y, OBJPROP_CORNER,1); ObjectSet("textSignal"+ y, OBJPROP_XDISTANCE,35-25); ObjectSet("textSignal"+ y, OBJPROP_YDISTANCE, y*(20)+20+8); ObjectSetText("textSignal"+ y, str[ y],15,"Tahoma", col); } if( lastpos==0){if( lastlow2> lasthigh){ Comment("PRODAGA!!! PRODAGA!!! PRODAGA!!! PRODAGA!!! PRODAGA!!! PRODAGA!!! PRODAGA!!! PRODAGA!!! PRODAGA!!!", "PRODAGA!!! PRODAGA!!! PRODAGA!!! PRODAGA!!! PRODAGA!!! PRODAGA!!! "); lasthigh2=2000000; lastlow2=0; lastpos=1;}} else {if( lasthigh2< lastlow){Comment("POKUPKA!!! POKUPKA!!! POKUPKA!!! POKUPKA!!! POKUPKA!!! POKUPKA!!! POKUPKA!!!", " POKUPKA!!! POKUPKA!!! POKEPKA!!! POKEPKA!!! POKEPKA!!!"); lasthigh2=2000000; lastlow2=0; lastpos=0;}} } 指标代码。 //+------------------------------------------------------------------+ //| i-3CCI-h.mq4 | //| johnfantom & KimIV | //| http://www.kimiv.ru | //| | //| 02.01.2006 CCI с 3-х ТФ в одном флаконе. | //+------------------------------------------------------------------+ #property copyright "johnfantom & KimIV" #property link "http://www.kimiv.ru" #property indicator_separate_window #property indicator_buffers 1 #property indicator_color1 DodgerBlue #property indicator_maximum 1.4 #property indicator_level1 0 #property indicator_minimum -1.2 //------- Внешние параметры индикатора ------------------------------- extern int CCI_Period_0 = 14; // Период CCI для текущего ТФ extern int Level_0 = 100; // Уровень CCI для текущего ТФ extern int TF_1 = 60; // Количество минут первого ТФ extern int CCI_Period_1 = 14; // Период CCI для первого ТФ extern int Level_1 = 100; // Уровень CCI для первого ТФ extern int TF_2 = 240; // Количество минут второго ТФ extern int CCI_Period_2 = 14; // Период CCI для второго ТФ extern int Level_2 = 100; // Уровень CCI для второго ТФ extern int NumberOfBars = 1000; // Количество баров обсчёта (0-все) extern int ExtBars=3; int per; //------- Буферы индикатора ------------------------------------------ double buf0[]; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ void init() { IndicatorDigits(1); SetIndexBuffer(0, buf0); SetIndexLabel (0, "i-3CCI-h"); SetIndexStyle (0, DRAW_HISTOGRAM, STYLE_SOLID, 2); SetIndexEmptyValue(0, 0); } //+------------------------------------------------------------------+ //| Custom indicator deinitialization function | //+------------------------------------------------------------------+ void deinit() { Comment(""); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ void start() { double cci0, cci1, cci2; int nb1, nb2, count; int LoopBegin, sh; if ( NumberOfBars==0) LoopBegin=Bars-1; else LoopBegin= NumberOfBars-1; LoopBegin=MathMin(Bars-1, LoopBegin); count=IndicatorCounted(); for ( sh= count; sh>=0; sh--) { nb1=iBarShift(NULL, TF_1, Time[ sh+1], False); nb2=iBarShift(NULL, TF_2, Time[ sh+1], False); cci0=iCCI(NULL, 0 , CCI_Period_0, PRICE_CLOSE, sh+1); cci1=iCCI(NULL, TF_1, CCI_Period_1, PRICE_CLOSE, nb1); cci2=iCCI(NULL, TF_2, CCI_Period_2, PRICE_CLOSE, nb2); /* double cci[3]; cci[0]=cci0; cci[1]=cci1; cci[2]=cci2; string s1="cci-0 *** "+DoubleToStr(cci[0],3); string s2="cci-1 *** "+DoubleToStr(cci[1],3); string s3="cci-2 *** "+DoubleToStr(cci[2],3); string str[3]; str[0]=s1; str[1]=s2; str[2]=s3; color col=Lime; for(int y=0;y<3;y++) {ObjectCreate("textSignal"+y,OBJ_LABEL,0,0,0,0,0); ObjectSet("textSignal"+y,OBJPROP_CORNER,1); ObjectSet("textSignal"+y,OBJPROP_XDISTANCE,35-25); ObjectSet("textSignal"+y,OBJPROP_YDISTANCE,y*(20)+20+8); if(cci[y]>=0)col=Lime;else col=Red; if(cci[y]>Level_0) col=Aqua; if(cci[y]<-Level_0) col=DarkViolet; ObjectSetText("textSignal"+y,str[y],15,"Tahoma",col); } */ if ( cci0> Level_0 && cci1> Level_1 && cci2> Level_2) { buf0[ sh]=1; if ( per != Time[0]) { per = Time[0]; if( sh<= ExtBars && ExtBars!=-1) Alert(Symbol(),Period()," ", TimeYear(Time[ sh]),".", TimeDay(Time[ sh]),".", TimeMonth(Time[ sh]),"; ", TimeHour(Time[ sh]),":", TimeMinute(Time[ sh])," ", "Покупка");}} if ( cci0<- Level_0 && cci1<- Level_1 && cci2<- Level_2) { buf0[ sh]=-1; if ( per != Time[0]) { per = Time[0]; if( sh<= ExtBars && ExtBars!=-1) Alert(Symbol(),Period()," ", TimeYear(Time[ sh]),".", TimeDay(Time[ sh]),".", TimeMonth(Time[ sh]),"; ", TimeHour(Time[ sh]),":", TimeMinute(Time[ sh])," ", "Продажа");}} } } //+------------------------------------------------------------------+ [删除] 2009.07.22 18:21 #1587 sergeev >> : 就像这样的 "旁站"。 那你如何从开仓本身设置待定? Rid 2009.07.22 19:14 #1588 ArtY0m >> : 你如何下挂单本身? 首先,你需要以编程方式确定最后一次开仓的开仓价格。 为此,你可以使用一个预定义的函数,例如 函数PriceOpenLastPos()。 该函数返回最后一次开仓的开仓价。要考虑的位置的选择是由外部参数指定的。 sy - 市场工具的名称。如果设置了这个参数,函数将只考虑指定仪器的位置。默认值-""意味着任何市场工具。NULL值表示当前的仪器。 op - 贸易操作,职位类型。有效值:OP_BUY、OP_SELL或-1。默认值-1意味着任何位置。 mn - 位置标识符,MagicNumber。默认值为-1,意味着任何标识符。 '来自KimIV的有用功能 //------- 在你的代码的最后插入函数本身。 而你在START函数中调用它,并设置你需要的最后一个仓位(买入或卖出)的开盘价,例如。 double OpenPrice=PriceOpenLastPos(NULL,OP_BUY, MAGIC) ; [删除] 2009.07.22 19:17 #1589 rid >> : 首先,你必须以编程方式确定最后一次开仓的价格。 要做到这一点,你可以使用一个预定义的函数,例如。 函数PriceOpenLastPos()。 该函数返回最后一次开仓的开仓价。选择要考虑的职位是由外部参数确定的。 sy - 市场工具的名称。如果设置了这个参数,函数将只考虑这个仪器的位置。默认值-""意味着任何市场工具。NULL值表示当前的仪器。 op - 贸易操作,职位类型。有效值:OP_BUY、OP_SELL或-1。默认值-1意味着任何位置。 mn - 位置标识符,MagicNumber。默认值为-1,意味着任何标识符。 '来自KimIV的有用功能 //------- 在你的代码的最后插入函数本身。 在START函数中,你调用它并设置你想要的最后一个仓位(买入或卖出)的开盘价,例如 double OpenPrice=PriceOpenLastPos(NULL,OP_BUY, MAGIC) ; 非常感谢!))。 Oleg 2009.07.22 20:47 #1590 在Indicator中,如果满足一个条件,我想在一个文本文件中输入一行注释(不管是什么,比方说日期和时间)。 文件被创建,行被添加,但只是实时的。而我,在从事历史工作时,想做个记录。有谁知道如何做到这一点吗? 谢谢你! 1...152153154155156157158159160161162163164165166...1145 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
1)那你如何让它失效,通过外部变量?
2)我是否可以这样设置:第一个打开的订单在打开时被关闭,而随后的订单2、3等则不被关闭?假设我开了一个买入订单--这是第一个订单,然后我又开了一个买入订单--第二个,等等,然后在这一系列的订单中,只有第一个订单会被СorderClose关闭?
查看地址页,https://www.mql5.com/ru/forum/105913
1)大约是这样的 --
2)
移除锁 ( // ) ,然后再
// return(0); // exit
然后只有第一个(或最后一个)位置会被关闭。
大家好,))))
帮助。
我刚刚开始对mql4进行编程。
编写专家顾问。
我如何做到这一点。
我想让我的专家顾问只在周一工作。
>>谢谢你!
谢谢你,维宁 =)
查看"关闭的职位"。在指示信号上'。
1)大约是这样的 --
2)
删去在 "我 "之前的封锁( // )。
// return(0); // exit
然后只有第一个位置会被关闭。
谢谢你,Reed!
你帮了我很多,还是有好心人的)
都知道了,我去看数学题,希望没有占用你太多时间)
请帮助。
如果在EA 1.mq4(附件)的视觉测试 中,我在图表上放上指标3-cci-h3(附件),那么,看起来,在参数完全相同的情况下,指标的计算cci信号和实际cci(右上角的对象文本)并不一致。
为什么?
为什么警报在这个指标中不起作用?
专家顾问代码。
指标代码。
就像这样的 "旁站"。
那你如何从开仓本身设置待定?
你如何下挂单本身?
首先,你需要以编程方式确定最后一次开仓的开仓价格。
为此,你可以使用一个预定义的函数,例如
函数PriceOpenLastPos()。
该函数返回最后一次开仓的开仓价。要考虑的位置的选择是由外部参数指定的。
sy - 市场工具的名称。如果设置了这个参数,函数将只考虑指定仪器的位置。默认值-""意味着任何市场工具。NULL值表示当前的仪器。
op - 贸易操作,职位类型。有效值:OP_BUY、OP_SELL或-1。默认值-1意味着任何位置。
mn - 位置标识符,MagicNumber。默认值为-1,意味着任何标识符。
'来自KimIV的有用功能
//-------
在你的代码的最后插入函数本身。
而你在START函数中调用它,并设置你需要的最后一个仓位(买入或卖出)的开盘价,例如。
double OpenPrice=PriceOpenLastPos(NULL,OP_BUY, MAGIC) ;
首先,你必须以编程方式确定最后一次开仓的价格。
要做到这一点,你可以使用一个预定义的函数,例如。
函数PriceOpenLastPos()。
该函数返回最后一次开仓的开仓价。选择要考虑的职位是由外部参数确定的。
sy - 市场工具的名称。如果设置了这个参数,函数将只考虑这个仪器的位置。默认值-""意味着任何市场工具。NULL值表示当前的仪器。
op - 贸易操作,职位类型。有效值:OP_BUY、OP_SELL或-1。默认值-1意味着任何位置。
mn - 位置标识符,MagicNumber。默认值为-1,意味着任何标识符。
'来自KimIV的有用功能
//-------
在你的代码的最后插入函数本身。
在START函数中,你调用它并设置你想要的最后一个仓位(买入或卖出)的开盘价,例如
double OpenPrice=PriceOpenLastPos(NULL,OP_BUY, MAGIC) ;
非常感谢!))。
在Indicator中,如果满足一个条件,我想在一个文本文件中输入一行注释(不管是什么,比方说日期和时间)。
文件被创建,行被添加,但只是实时的。而我,在从事历史工作时,想做个记录。有谁知道如何做到这一点吗?
谢谢你!