编写免费的EA - 页 10 1...345678910111213141516 新评论 Iurii Tokman 2021.05.06 18:40 #91 Konstantin Bystrov: 谁能在MT4中写一个指标,使活跃的交易时段(可设置为10-18)以日本蜡烛的形式显示出来? ok marattmb 2021.05.09 13:54 #92 下午好! 这里是否有工匠可以根据货币强度的信息指标编写EA。该算法如下。我们正在等待强势和弱势货币的出现。在截图的例子中,它是欧元和美元。 如果差异很大(在EA参数中设置),那么我们就开仓。在截图上的例子中,你需要进入卖出,我将在周一进行。在EA中,我们必须设置时间框架参数,EA应该从中获取信号(不同货币的强度差异)。货币强度的差异就是信号。止损是不需要的。需要获取利润。如果价格对我们不利,让我们平均。在你的专家顾问中,规定平均步骤、订单数量、神奇数字、初始手数和手数递增系数。我最近一直使用这种方法进行交易;我非常满意。在我看来,它是一个圣 杯。 附加的文件: 10.7_CSS.v3.8ps_withAlertsCross_mod.mq4 85 kb 0.png 51 kb Iurii Tokman 2021.05.10 08:53 #93 Konstantin Bystrov: 大家好,你们能不能在MT4中写一个指标,以日本蜡烛的形式显示活跃的交易时段(可以设置10-18的时间)。 //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ #property copyright "" #property link "" #property indicator_chart_window extern int NumberOfDays = 50; extern string AsiaBegin = "10:00"; extern string AsiaEnd = "18:00"; extern color AsiaColor = Goldenrod; //+------------------------------------------------------------------+ //| Custom indicator initialization function | //+------------------------------------------------------------------+ void init() { DeleteObjects(); for(int i=0; i<NumberOfDays; i++) CreateObjects("AS"+i, AsiaColor); Comment(""); } //+------------------------------------------------------------------+ //| Custor indicator deinitialization function | //+------------------------------------------------------------------+ void deinit() { DeleteObjects(); Comment(""); } //+------------------------------------------------------------------+ bool CreateObjects( const string name="Rectangle", // имя прямоугольника const color clr=clrRed, // цвет прямоугольника const long chart_ID=0, // ID графика const int sub_window=0, // номер подокна datetime time1=0, // время первой точки double price1=0, // цена первой точки datetime time2=0, // время второй точки double price2=0, // цена второй точки const ENUM_LINE_STYLE style=STYLE_SOLID, // стиль линий прямоугольника const int width=2, // толщина линий прямоугольника const bool fill=false, // заливка прямоугольника цветом const bool back=false, // на заднем плане const bool selection=false, // выделить для перемещений const bool hidden=true, // скрыт в списке объектов const long z_order=0) // приоритет на нажатие мышью { //--- сбросим значение ошибки ResetLastError(); //--- создадим прямоугольник по заданным координатам if(!ObjectCreate(chart_ID,name,OBJ_RECTANGLE,sub_window,time1,price1,time2,price2)) { Print(__FUNCTION__, ": не удалось создать прямоугольник! Код ошибки = ",GetLastError()); return(false); } //--- установим цвет прямоугольника ObjectSetInteger(chart_ID,name,OBJPROP_COLOR,clr); //--- установим стиль линий прямоугольника ObjectSetInteger(chart_ID,name,OBJPROP_STYLE,style); //--- установим толщину линий прямоугольника ObjectSetInteger(chart_ID,name,OBJPROP_WIDTH,width); //--- включим (true) или отключим (false) режим заливки прямоугольника ObjectSetInteger(chart_ID,name,OBJPROP_FILL,fill); //--- отобразим на переднем (false) или заднем (true) плане ObjectSetInteger(chart_ID,name,OBJPROP_BACK,back); //--- включим (true) или отключим (false) режим выделения прямоугольника для перемещений //--- при создании графического объекта функцией ObjectCreate, по умолчанию объект //--- нельзя выделить и перемещать. Внутри же этого метода параметр selection //--- по умолчанию равен true, что позволяет выделять и перемещать этот объект ObjectSetInteger(chart_ID,name,OBJPROP_SELECTABLE,selection); ObjectSetInteger(chart_ID,name,OBJPROP_SELECTED,selection); //--- скроем (true) или отобразим (false) имя графического объекта в списке объектов ObjectSetInteger(chart_ID,name,OBJPROP_HIDDEN,hidden); //--- установим приоритет на получение события нажатия мыши на графике ObjectSetInteger(chart_ID,name,OBJPROP_ZORDER,z_order); //--- успешное выполнение return(true); } //+------------------------------------------------------------------+ void DeleteObjects() { for(int i=0; i<NumberOfDays; i++) ObjectDelete("AS"+i); } //+------------------------------------------------------------------+ //| Custom indicator iteration function | //+------------------------------------------------------------------+ void start() { datetime dt=CurTime(); for(int i=0; i<NumberOfDays; i++) { DrawObjects(dt, "AS"+i, AsiaBegin, AsiaEnd); dt=decDateTradeDay(dt); while(TimeDayOfWeek(dt)>5) dt=decDateTradeDay(dt); } } //+------------------------------------------------------------------+ void DrawObjects(datetime dt, string no, string tb, string te) { datetime t1, t2; double p1, p2; int b1, b2; t1=StrToTime(TimeToStr(dt, TIME_DATE)+" "+tb); t2=StrToTime(TimeToStr(dt, TIME_DATE)+" "+te); if(!TimeDayOfWeek(t1)) return; b1=iBarShift(NULL, 0, t1); b2=iBarShift(NULL, 0, t2); p1=High[Highest(NULL, 0, MODE_HIGH, b1-b2, b2)]; p2=Low [Lowest(NULL, 0, MODE_LOW, b1-b2, b2)]; ObjectSet(no, OBJPROP_TIME1, t1); ObjectSet(no, OBJPROP_PRICE1, p1); ObjectSet(no, OBJPROP_TIME2, t2); ObjectSet(no, OBJPROP_PRICE2, p2); } //+------------------------------------------------------------------+ datetime decDateTradeDay(datetime dt) { int ty=TimeYear(dt); int tm=TimeMonth(dt); int td=TimeDay(dt); int th=TimeHour(dt); int ti=TimeMinute(dt); td--; if(td==0) { tm--; if(tm==0) { ty--; tm=12; } if(tm==1 || tm==3 || tm==5 || tm==7 || tm==8 || tm==10 || tm==12) td=31; if(tm==2) if(MathMod(ty, 4)==0) td=29; else td=28; if(tm==4 || tm==6 || tm==9 || tm==11) td=30; } return(StrToTime(ty+"."+tm+"."+td+" "+th+":"+ti)); } //+------------------------------------------------------------------+ 4p0ssum 2021.05.10 13:57 #94 亲爱的编程大师们,你们好!我请求你们帮助我完成这个机器人。 我自己不是程序员,这个机器人是我自己用网上找到的各种零件组装的,但我无法附加我想看到的其余两个功能。请帮助我。我想,对你来说,这不会像我一样困难。如果您愿意提供帮助,请制作一个函数,在两个挂单中的一个触发后关闭挂单。而第二个函数应该自动增加一手订单("比如 "每50美元的余额为0.01手,当你达到100美元时,机器人会自动增加0.02手)。提前感谢您的帮助。 extern int TakeProfit = 100.0; extern bool AllPositions = True; // Управлять всеми позициями extern bool ProfitTrailing = True; // Тралить только профит extern int TrailingStop = 50; // Фиксированный размер трала extern int TrailingStep = 0; // Шаг трала extern bool UseSound = False; // Использовать звуковой сигнал extern string NameFileSound = "expert.wav"; // Наименование звукового файла void start() { double TakeProfitLevelB; double TakeProfitLevelS; double BuyStart = Ask + 400*_Point; double SellStart = Bid - 400*_Point; TakeProfitLevelB = BuyStart + TakeProfit*Point; TakeProfitLevelS = SellStart - TakeProfit*Point; if (Open[1]==Close[1]&& OrdersTotal()==0) { int BuyTicket = OrderSend(Symbol(),OP_BUYSTOP,0.10,BuyStart,3,0,TakeProfitLevelB,NULL,0,0,Green); int SellTicket = OrderSend(Symbol(),OP_SELLSTOP,0.10,SellStart,3,0,TakeProfitLevelS,NULL,0,0,Blue); } for (int i=0; i<OrdersTotal(); i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (AllPositions || OrderSymbol()==Symbol()) { TrailingPositions(); } } } } void TrailingPositions() { double pBid, pAsk, pp; pp = MarketInfo(OrderSymbol(), MODE_POINT); if (OrderType()==OP_BUY) { pBid = MarketInfo(OrderSymbol(), MODE_BID); if (!ProfitTrailing || (pBid-OrderOpenPrice())>TrailingStop*pp) { if (OrderStopLoss()<pBid-(TrailingStop+TrailingStep-1)*pp) { ModifyStopLoss(pBid-TrailingStop*pp); return; } } } if (OrderType()==OP_SELL) { pAsk = MarketInfo(OrderSymbol(), MODE_ASK); if (!ProfitTrailing || OrderOpenPrice()-pAsk>TrailingStop*pp) { if (OrderStopLoss()>pAsk+(TrailingStop+TrailingStep-1)*pp || OrderStopLoss()==0) { ModifyStopLoss(pAsk+TrailingStop*pp); return; } } } } void ModifyStopLoss(double ldStopLoss) { bool fm; fm=OrderModify(OrderTicket(),OrderOpenPrice(),ldStopLoss,OrderTakeProfit(),0,CLR_NONE); if (fm && UseSound) PlaySound(NameFileSound); } gss 2021.05.10 16:49 #95 看看e-News-Lucky$.mq4。 看看固定比例的头寸大小选择方法(R. Jones) - MQL4和MetaTrader 4 - MQL4 Algo-Traders论坛 - 第3页(mql5.com)。 Фиксированно-пропорциональный метод выбора размера позиции (Р. Джонс) 2011.07.24www.mql5.com Когда-то давно читал книгу Р. Джонса, посвященную различным стратегиям управления капиталом (Биржевая игра. Сделай миллионы, играя числами... Konstantin Bystrov 2021.05.10 17:30 #96 Iurii Tokman: 谢谢你的指标,我向大家推荐Iurii Tokman的 服务。 4p0ssum 2021.05.11 14:19 #97 gss:看看e-News-Lucky$.mq4。看看固定比例的头寸大小选择方法(R. Jones) - MQL4和MetaTrader 4 - MQL4 Algo-Trader论坛 - 第3页(mql5.com)。 谢谢你亲爱的gss对我的请求感兴趣。这就是我决定向MQL4大师讲话的原因。我发布的代码是有效的。 我从各种专家顾问系统中收集到的,或者说是其中一个,我只取了追踪止损功能。其余的是我自己编造的(关于待定订单)。我想请您和其他大师看看我的代码,如果您不介意的话,请为这个机器人再添加两个功能。1) 当其中一个订单触发时,要删除一个挂单。2) 自动增加手数(每50美元增加0.01,即100美元将增加0.02)。预先感谢你。 Ivan 2021.05.12 11:36 #98 大家好,看看我的指标想法,为了不影响所有的帖子,这里有链接。 https://www.mql5.com/ru/forum/35071/page144#comment_22289427 Напишу советник бесплатно 2021.05.08www.mql5.com если у вас есть хороая стратегия, и вы готовы ей поделиться,могу написать советника. приглашаю обсудить публично... Yra Lomakin 2021.05.14 11:47 #99 谁能写一个简单的EA?在其中一个订单关闭时,同时放置买入和卖出订单,就会打开相同的订单,有相同的手数买入和卖出,等等。 эдуард фершт 2021.05.19 07:09 #100 也就是说,如果有结算或海湾的差异,应该总是有一个挂单,例如13点的差异。也就是说,如果交易处于盈利状态,即订单提前 --- 即在反向运动的情况下,锁定将是积极的。2.在打开锁的任何部分的情况下,应该下一个差额的订单。,似乎就是这样。再一次------专家顾问不应该在图表上没有任何额外按钮的情况下 自行关闭。 1...345678910111213141516 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
谁能在MT4中写一个指标,使活跃的交易时段(可设置为10-18)以日本蜡烛的形式显示出来?
ok
下午好!
这里是否有工匠可以根据货币强度的信息指标编写EA。该算法如下。我们正在等待强势和弱势货币的出现。在截图的例子中,它是欧元和美元。 如果差异很大(在EA参数中设置),那么我们就开仓。在截图上的例子中,你需要进入卖出,我将在周一进行。在EA中,我们必须设置时间框架参数,EA应该从中获取信号(不同货币的强度差异)。货币强度的差异就是信号。止损是不需要的。需要获取利润。如果价格对我们不利,让我们平均。在你的专家顾问中,规定平均步骤、订单数量、神奇数字、初始手数和手数递增系数。我最近一直使用这种方法进行交易;我非常满意。在我看来,它是一个圣 杯。
大家好,你们能不能在MT4中写一个指标,以日本蜡烛的形式显示活跃的交易时段(可以设置10-18的时间)。
亲爱的编程大师们,你们好!我请求你们帮助我完成这个机器人。
我自己不是程序员,这个机器人是我自己用网上找到的各种零件组装的,但我无法附加我想看到的其余两个功能。请帮助我。我想,对你来说,这不会像我一样困难。如果您愿意提供帮助,请制作一个函数,在两个挂单中的一个触发后关闭挂单。而第二个函数应该自动增加一手订单("比如 "每50美元的余额为0.01手,当你达到100美元时,机器人会自动增加0.02手)。提前感谢您的帮助。
看看e-News-Lucky$.mq4。
看看固定比例的头寸大小选择方法(R. Jones) - MQL4和MetaTrader 4 - MQL4 Algo-Traders论坛 - 第3页(mql5.com)。
看看e-News-Lucky$.mq4。
看看固定比例的头寸大小选择方法(R. Jones) - MQL4和MetaTrader 4 - MQL4 Algo-Trader论坛 - 第3页(mql5.com)。
大家好,看看我的指标想法,为了不影响所有的帖子,这里有链接。
https://www.mql5.com/ru/forum/35071/page144#comment_22289427
,如果交易处于盈利状态,即订单提前 --- 即在反向运动的情况下,锁定将是积极的。
2.在打开锁的任何部分的情况下,应该下一个差额的订单。
,似乎就是这样。再一次------专家顾问不应该在图表上没有任何额外按钮的情况下 自行关闭。