[存档!]任何菜鸟问题,为了不使论坛变得混乱。专业人士,不要路过。没有你,哪里都不能去 - 4. - 页 623 1...616617618619620621622623624625626627628629630631 新评论 Dimka-novitsek 2012.12.11 19:15 #6221 晚上好!对不起,我想我已经在某个地方问过你一个问题了。一个是带止盈的,另一个是带跟踪止损的,应该是可以的。一旦一个人获得了获利,跟踪止损就开始对另一个人起作用。那么,当两个订单都下达后,它就立即开始工作了!//*************************************** nahodka=false; if (OrderSelect(tocket, SELECT_BY_TICKET , MODE_HISTORY)) { if (OrderTakeProfit( )-3*Point<profitsell&&OrderTakeProfit( )+3*Point>profitsell) nahodka=true;} // Находим ордер, сработавший именно по тейкпрофиту if(nahodka){if (OrderSelect(tecket,SELECT_BY_TICKET)){ if(OrderStopLoss( )>Bid+treylingstop*Point ){ Print ("четвёртаямодифи " ); OrderModify( tecket, OrderOpenPrice(), Bid+treylingstop*Point, OrderTakeProfit(), 0, CLR_NONE);}}} // Модифицируем оставшийся ордер如果 票据的订单 还没有出现在历史记录中,OrderSelect 如何选择,选择什么? Dimka-novitsek 2012.12.11 19:22 #6222 //&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //SELL //EMA – период 10 пересекает с верху в низ EMA – период 200 , CCI пересекает уровень 0,100 или-100 с вверху в низ; Свеча закрывается или находится ниже LMA – период 100 bool CCInapravlenie=false; if(( CCI_50S>100&&CCI_50<100) ||(CCI_50S>0&&CCI_50<0)||( CCI_50S>-100&&CCI_50<-100 ) )CCInapravlenie=true; if(EMA_10S>EMA_20S&&EMA_10<EMA_20&&CCInapravlenie&&LMA_100<Ask&&!sellistavili){ RefreshRates(); tocket=OrderSend (Symbol( ), OP_SELL, lot , NormalizeDouble (Bid, Digits), 5 , NormalizeDouble( Bid+ (stoploss*Point),Digits), NormalizeDouble( Bid-( teykprofit*Point),Digits), NULL, 450, 0, CLR_NONE); Error=GetLastError();if (Error==0){ Sleep(2000); RefreshRates(); tecket=OrderSend (Symbol( ), OP_SELL, lot ,NormalizeDouble(Bid, Digits), 5, NormalizeDouble( Bid+ (stoploss*Point),Digits), 0, NULL, 450, 0, CLR_NONE); if (Error==0){ profitsell = NormalizeDouble( Bid-( teykprofit*Point),Digits); tsenasell=Bid; sellistavili= true; perenossell= false; }}} if (Error!=0){ errorcomment = "Ошибка открытия ордера OP_SELL" + " " + Symbol() + " " + ErrorDescript(Error); Print (errorcomment);} if(tsenasell-30*Point>Bid&&!perenossell){Print ("третямодифи " ); OrderSelect( tocket, SELECT_BY_TICKET ); 定位 [Удален] 2012.12.11 20:04 #6223 Dimka-novitsek:晚上好!对不起,我想我已经在某个地方问过你一个问题了。一个是带止盈的,另一个是带跟踪止损的,应该是可以的。一旦一个人获得了获利,跟踪止损就开始对另一个人起作用。那么,当两个订单都下达后,它就立即开始工作了!如果 票据的订单 还没有出现在历史上,OrderSelect 如何选择,选择什么?在循环中,通过历史记录OrderSelect(index, SELECT_BY_POS , MODE_HISTORY),将 tocket的值 与被选中的订单的票据进行比较。OrderSelect(tocket, SELECT_BY_TICKET , MODE_HISTORY)将返回true,如果带有该票据的订单甚至存在于终端中。Pool - 选择的数据源。当选择参数等于SELECT_BY_POS时,它被使用。它可以是以下数值之一。MODE_TRADES (默认) - 在未结订单 和挂单 中选择订单。MODE_HISTORY - 该订单在已关闭和已删除的订单中被选中。为了以防万一,把NormalizeDouble(Bid+treylingstop*Point,Digits)放进去。 新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 [ARCHIVE!] Any rookie question, [警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 Dimka-novitsek 2012.12.11 21:26 #6224 谢谢你!!!。我要去搞一搞我的代码! Александр 2012.12.12 05:47 #6225 哪一个专家顾问是最好的,可以用来可视化交易。同样,最好是能够同时使用不同的TFs。谢谢你! elllfix 2012.12.12 08:18 #6226 结束了议员的工作!它做它想做的事......但是......。我脑海中的第一个想法是:测试器如何与交易历史 一起工作?例如,如果有一个条件 "如果最后2个柱子是亏损的--不要买入".不仅如此,我的专家顾问忽略了这个条件(也许是个错误--我会再想想)。但是,当泰斯特打开他自己的交易(在终端历史中已经没有了),会发生什么? 他将适用于哪些股票,在什么历史中?测试员似乎没有给交易分配股票!测试员是否形成自己的交易历史? [删除] 2012.12.12 08:31 #6227 lottamer:结束了议员的工作!它做它想做的事......但是......。我脑海中的第一个想法是:测试器如何与交易历史一起工作?例如,如果有一个条件 "如果最后2个柱子是亏损的--不要买入".不仅如此,我的专家顾问忽略了这个条件(也许是个错误--我会再想想)。但是,当泰斯特打开他自己的交易(在终端历史中已经没有了),会发生什么? 他将适用于哪些股票,在什么历史中?测试员似乎没有给交易分配股票!测试员是否形成自己的交易历史? 一切都分配好了--看看 "结果 "选项卡。但测试器并不能创造奇迹--你需要知道如何使用它 elllfix 2012.12.12 08:37 #6228 YOUNGA: 一切都分配好了--看看 "结果 "选项卡。但测试器并没有创造奇迹--你必须知道如何使用它。 没有像现实生活中那样的多位数代码。有一个交易的序列号。你是说真的吗? [Удален] 2012.12.12 09:14 #6229 lottamer: 没有像真实交易中那样的多价位股票。有一个连续的交易号码。你是说真的吗? 如果测试器中的订单数量与服务器所占的数量一样多,那么数据也会是多位数的。测试员,就像服务器一样,为每个新订单分配一个独特的股票号码,但服务器从经纪公司成立以来就一直在做这个工作,为所有客户和所有工具。 i999i 2012.12.12 09:23 #6230 int Count=0;//+------------------------------------------------------------------+//|专家初始化函数|//+------------------------------------------------------------------+ int init(){ Alert ("The init() function failed on startup"); return;}//+------------------------------------------------------------------+//| expert start function|//+------------------------------------------------------------------+ int start(){ double Price = Bid; Count++; Alert("New Tick " ,Count," Price = " ,Price); return;}//+------------------------------------------------------------------+ int deinit(){ Alert ("Deinit() triggered on unloading"); return;}据我所知,在这个脚本中,每一个新的出价都应该出现一个信息......,但它没有.....,这是什么问题? ...该怎么做呢? 1...616617618619620621622623624625626627628629630631 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
晚上好!对不起,我想我已经在某个地方问过你一个问题了。一个是带止盈的,另一个是带跟踪止损的,应该是可以的。
一旦一个人获得了获利,跟踪止损就开始对另一个人起作用。那么,当两个订单都下达后,它就立即开始工作了!
如果 票据的订单 还没有出现在历史记录中,OrderSelect 如何选择,选择什么?
晚上好!对不起,我想我已经在某个地方问过你一个问题了。一个是带止盈的,另一个是带跟踪止损的,应该是可以的。
一旦一个人获得了获利,跟踪止损就开始对另一个人起作用。那么,当两个订单都下达后,它就立即开始工作了!
如果 票据的订单 还没有出现在历史上,OrderSelect 如何选择,选择什么?
在循环中,通过历史记录OrderSelect(index, SELECT_BY_POS , MODE_HISTORY),将 tocket的值 与被选中的订单的票据进行比较。
OrderSelect(tocket, SELECT_BY_TICKET , MODE_HISTORY)将返回true,如果带有该票据的订单甚至存在于终端中。
Pool - 选择的数据源。当选择参数等于SELECT_BY_POS时,它被使用。它可以是以下数值之一。
MODE_TRADES (默认) - 在未结订单 和挂单 中选择订单。
MODE_HISTORY - 该订单在已关闭和已删除的订单中被选中。
为了以防万一,把NormalizeDouble(Bid+treylingstop*Point,Digits)放进去。
结束了议员的工作!它做它想做的事......但是......。
我脑海中的第一个想法是:测试器如何与交易历史 一起工作?例如,如果有一个条件 "如果最后2个柱子是亏损的--不要买入".不仅如此,我的专家顾问忽略了这个条件(也许是个错误--我会再想想)。但是,当泰斯特打开他自己的交易(在终端历史中已经没有了),会发生什么? 他将适用于哪些股票,在什么历史中?测试员似乎没有给交易分配股票!测试员是否形成自己的交易历史?
结束了议员的工作!它做它想做的事......但是......。
我脑海中的第一个想法是:测试器如何与交易历史一起工作?例如,如果有一个条件 "如果最后2个柱子是亏损的--不要买入".不仅如此,我的专家顾问忽略了这个条件(也许是个错误--我会再想想)。但是,当泰斯特打开他自己的交易(在终端历史中已经没有了),会发生什么? 他将适用于哪些股票,在什么历史中?测试员似乎没有给交易分配股票!测试员是否形成自己的交易历史?
一切都分配好了--看看 "结果 "选项卡。但测试器并不能创造奇迹--你需要知道如何使用它
一切都分配好了--看看 "结果 "选项卡。但测试器并没有创造奇迹--你必须知道如何使用它。
没有像现实生活中那样的多位数代码。有一个交易的序列号。你是说真的吗?
没有像真实交易中那样的多价位股票。有一个连续的交易号码。你是说真的吗?
如果测试器中的订单数量与服务器所占的数量一样多,那么数据也会是多位数的。
测试员,就像服务器一样,为每个新订单分配一个独特的股票号码,但服务器从经纪公司成立以来就一直在做这个工作,为所有客户和所有工具。
//+------------------------------------------------------------------+
//|专家初始化函数|
//+------------------------------------------------------------------+
int init()
{
Alert ("The init() function failed on startup");
return;
}
//+------------------------------------------------------------------+
//| expert start function|
//+------------------------------------------------------------------+
int start()
{
double Price = Bid;
Count++;
Alert("New Tick " ,Count," Price = " ,Price);
return;
}
//+------------------------------------------------------------------+
int deinit()
{
Alert ("Deinit() triggered on unloading");
return;
}
据我所知,在这个脚本中,每一个新的出价都应该出现一个信息......,但它没有.....,这是什么问题? ...该怎么做呢?