[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 832 1...825826827828829830831832833834835836837838839...1145 新评论 [删除] 2010.09.06 09:15 #8311 Vinin: 下一次会有什么变化? 同样的事情。一个头寸被关闭--一个挂单被设置,等等。有一个函数可以返回最后的值(如OrderCloseTime())。每一个刻度,我都会得到最后一个平仓的时间值(比如说,1号仓)。当用一个新的tick关闭下一个头寸(头寸#2)时,我得到了关闭这个(#2)头寸的时间。OrderCloseTime()的值相对于之前的值有变化。以此类推。我不关心变量如何或有多大变化。对我来说,重要的是变量发生了变化这一事实本身。这就像一个逻辑运算: 如果最后一个平仓的OrderCloseTime()大于倒数第二个平仓的OrderCloseTime(),那么我们应该做BLA-BLA-BLA。另外--如果最后一个平仓头寸的OrderClosePrice()不等于倒数第二个头寸的OrderClosePrice(),则进行BLA-BLA-BLA。或者,也许不可能进行这样的比较? [删除] 2010.09.06 17:04 #8312 问题就在这里。例如,假设我们的EA在指标(例如,我采取CCI)从下到上越过某个水平(红线)时显示买入信号,而当它分别向下时显示卖出信号。我们应该如何使订单在条形图A的形成过程中只打开一次?假设指标在条形图A的形成过程中多次向下和向上穿越水平线(红线)。正如我已经提到的,我们应该使一个订单只被打开一次。 我们需要的是,在D条(图表上的情况2)上收到的卖出信号不关闭 A条上的订单,并且不受任何影响。 也就是说,订单打开后,不受专家顾问的控制。 预先感谢你。 [删除] 2010.09.06 17:05 #8313 请帮助我将一段Sequent Demarque代码附加到EAhttps://www.mql5.com/ru/code/7372。 并不像这样工作。 num=0。 for(i=bars; i>=0; i--) { 如果((iClose(NULL,PERIOD_M5,i+1)<iClose(NULL,PERIOD_M5,i+4) && num!=0 ) ){ num++。 如果((iClose(NULL,PERIOD_M5,i+1)<iClose(NULL,PERIOD_M5,i+4)) 购买....... 如果(num==9) close........ fanat 2010.09.06 17:17 #8314 Vinin: 1.计算第一种类型的订单数量 2.计算第二类订单的数量 3.比较结果 亲爱的维宁。非常感谢您! Oleg 2010.09.06 18:08 #8315 Forrim: 问题就在这里。让我们假设EA中的买入信号是在指标(例如,我采取CCI)从下到上越过某个水平(红线)时产生的,而卖出信号则分别在从上到下时产生。我们应该如何使订单在条形图A的形成过程中只打开一次?假设指标在条形图A的形成过程中多次向下和向上穿越水平线(红线)。正如我已经提到的,我们应该使一个订单只被打开一次。 。 这就要求在D条(图表中的情况2)收到卖出信号时,A条上的订单不 应关闭,也不应受到任何影响。也就是说,订单打开后,不受EA的控制。事先非常感谢。 实际上,CCI的跳动幅度非常大,我们最好在酒吧关门和新酒吧开业后再去检查。 如果我们想检查一个蜡烛的开盘时间是否不同(如果是,订单打开)或相同(=>没有订单打开),那么在每个交叉点,我们应该在全局变量 中存储开盘时间。 Artyom Trishkin 2010.09.06 19:36 #8316 Forrim: 问题就在这里。例如,假设我们的EA在指标(例如,我采取CCI)从下到上越过某个水平(红线)时显示买入信号,而当它分别向下时显示卖出信号。我们应该如何使订单在条形图A的形成过程中只打开一次?假设指标在条形图A的形成过程中多次向下和向上穿越水平线(红线)。正如我已经提到的,我们应该使订单只被打开一次。 我们需要的是,在D条(图表上的情况2)上收到的卖出信号不关闭 A条上的订单,并且不受任何影响。 也就是说,订单打开后,不受专家顾问的控制。 预先感谢你。 如果这种类型的头寸已经打开,就不要再打开了。 [删除] 2010.09.07 05:08 #8317 //--------------------------------------------------------------- 1 -- // Численные значения для М15 extern double StopLoss =20; // SL для открываемого ордера extern double TakeProfit =20; // ТР для открываемого ордера extern double Step_Sar=0.02; // Шаг Sar extern double Maximum_Sar=0.2; // Максимум Sar extern double Lot=0.01; // Жестко заданное колич. лотов bool Work=true; // Эксперт будет работать. //--------------------------------------------------------------- 2 -- int start() { int Total, // Количество ордеров в окне Ticket; // Номер ордера double Sar_1 , // Значен. Sar текущее Sar_0 , // Значение Sar предыдущей свечки Price, // Цена ордера SL, // SL ордера TP; // TP ордера bool Ans =false, // Ответ сервера после закрытия Cls_B=false, // Критерий для закрытия Buy Cls_S=false, // Критерий для закрытия Sell Opn_B=false, // Критерий для открытия Buy Opn_S=false; // Критерий для открытия Sell //--------------------------------------------------------------- 3 -- // Учёт ордеров Total=0; // Количество ордеров for(int i=1; i<=OrdersTotal(); i++) // Цикл перебора ордер { if (OrderSelect(i-1,SELECT_BY_POS)==true) // Если есть следующий { // Анализ ордеров: if (OrderSymbol()!=Symbol())continue; // Не наш фин. инструм if (OrderType()>1) // Попался отложенный { Alert("Обнаружен отложенный ордер. Эксперт не работает."); return; // Выход из start() } Total++; // Счётчик рыночн. орд if (Total>1) // Не более одного орд { Alert("Несколько рыночных ордеров. Эксперт не работает."); return; // Выход из start() } Price =OrderOpenPrice(); // Цена выбранн. орд. SL =OrderStopLoss(); // SL выбранного орд. TP =OrderTakeProfit(); // TP выбранного орд. Lot =OrderLots(); // Количество лотов } } //--------------------------------------------------------------- 6 -- // Торговые критерии Sar_1=iSAR(NULL, 0, 0.02, 0.2, 1); // Sar_1 Sar_0=iSAR(NULL, 0, 0.02, 0.2, 0); // Sar_0 if (Sar_0 > Price && Sar_1 < Price) // если Sar меняет положение { Opn_B=true; // Критерий откр. Buy } if (Sar_0 < Price && Sar_1 > Price) // если Sar меняет положение { Opn_S=true; // Критерий откр. Sell } //--------------------------------------------------------------- 7 -- { if (Opn_B==true) { // критерий откр. Buy RefreshRates(); // Обновление данных SL=(20+Ask-Bid)*Bid; // Вычисление SL откр. TP=20*Bid; // Вычисление TP откр. Alert("Попытка открыть Buy. Ожидание ответа.."); Ticket=OrderSend(Symbol(),OP_BUY,Lot,Ask,0,SL,TP);//Открытие Buy } if (Fun_Error(GetLastError())==1) // Обработка ошибок return; // Выход из start() if (Opn_S==true) // критерий откр. Sell { // критерий откр. Sell RefreshRates(); // Обновление данных SL=(20+Ask-Bid)*Ask; // Вычисление SL откр. TP=20*Ask; // Вычисление TP откр. Alert("Попытка открыть Sell. Ожидание ответа.."); Ticket=OrderSend(Symbol(),OP_SELL,Lot,Bid,0,SL,TP);//Открытие Sel return; // Выход из start() } if (Fun_Error(GetLastError())==1) // Обработка ошибок return; // Выход из start() } //--------------------------------------------------------------- 9 -- return; // Выход из start() } //-------------------------------------------------------------- 10 -- int Fun_Error(int Error) // Ф-ия обработ ошибок { switch(Error) { // Преодолимые ошибки case 4: Alert("Торговый сервер занят. Пробуем ещё раз.."); Sleep(3000); // Простое решение return(1); // Выход из функции case 135:Alert("Цена изменилась. Пробуем ещё раз.."); RefreshRates(); // Обновим данные return(1); // Выход из функции case 136:Alert("Нет цен. Ждём новый тик.."); while(RefreshRates()==false) // До нового тика Sleep(1); // Задержка в цикле return(1); // Выход из функции case 137:Alert("Брокер занят. Пробуем ещё раз.."); Sleep(3000); // Простое решение return(1); // Выход из функции case 146:Alert("Подсистема торговли занята. Пробуем ещё.."); Sleep(500); // Простое решение return(1); // Выход из функции // Критические ошибки case 2: Alert("Общая ошибка."); return(0); // Выход из функции case 5: Alert("Старая версия терминала."); Work=false; // Больше не работать return(0); // Выход из функции case 64: Alert("Счет заблокирован."); Work=false; // Больше не работать return(0); // Выход из функции case 133:Alert("Торговля запрещена."); return(0); // Выход из функции case 134:Alert("Недостаточно денег для совершения операции."); return(0); // Выход из функции default: Alert("Возникла ошибка ",Error); // Другие варианты return(0); // Выход из функции } } //-------------------------------------------------------------- 11 -- 初级EA,当抛物线SAR指标相对于价格图发生变化时应开仓,在M15上工作,开仓的SL和TP总是不变的。 该EA比较了当前和之前蜡烛图的指标位置。 在编译过程中没有任何错误或bug,在测试中标签 "结果""图表""报告 "是空的,在日志中是这样:"图片"。 我已经是第二天编码了,我以前从来没有编码过,我读了我的mql书并在网上搜索了我的问题。我陷入了僵局,如果你能帮助我,请帮帮我。 techno 2010.09.07 05:38 #8318 T.H.C. 试试这个 附加的文件: 0000001_1.mq4 3 kb [删除] 2010.09.07 06:02 #8319 Techno: T.H.C. 试试这个。 非常感谢你,我没有想到会有这么快的反应,而且代码有这么大的变化。 请提供除基础Mql之外的编程书籍的建议 techno 2010.09.07 06:07 #8320 T.H.C.: 非常感谢你,我没有想到代码的速度和变化如此之大。 除了基本的mql之外,请提供更多关于编程的书籍。 我只读过基础篇,你需要更多的练习才能很好地掌握。 1...825826827828829830831832833834835836837838839...1145 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
下一次会有什么变化?
我们需要的是,在D条(图表上的情况2)上收到的卖出信号不关闭 A条上的订单,并且不受任何影响。
也就是说,订单打开后,不受专家顾问的控制。
预先感谢你。
请帮助我将一段Sequent Demarque代码附加到EAhttps://www.mql5.com/ru/code/7372。
并不像这样工作。
num=0。
for(i=bars; i>=0; i--)
{
如果((iClose(NULL,PERIOD_M5,i+1)<iClose(NULL,PERIOD_M5,i+4) && num!=0 ) ){
num++。
如果((iClose(NULL,PERIOD_M5,i+1)<iClose(NULL,PERIOD_M5,i+4))
购买.......
如果(num==9)
close........
1.计算第一种类型的订单数量
2.计算第二类订单的数量
3.比较结果
亲爱的维宁。非常感谢您!
问题就在这里。让我们假设EA中的买入信号是在指标(例如,我采取CCI)从下到上越过某个水平(红线)时产生的,而卖出信号则分别在从上到下时产生。我们应该如何使订单在条形图A的形成过程中只打开一次?假设指标在条形图A的形成过程中多次向下和向上穿越水平线(红线)。正如我已经提到的,我们应该使一个订单只被打开一次。 。
这就要求在D条(图表中的情况2)收到卖出信号时,A条上的订单不 应关闭,也不应受到任何影响。
也就是说,订单打开后,不受EA的控制。
事先非常感谢。
实际上,CCI的跳动幅度非常大,我们最好在酒吧关门和新酒吧开业后再去检查。
如果我们想检查一个蜡烛的开盘时间是否不同(如果是,订单打开)或相同(=>没有订单打开),那么在每个交叉点,我们应该在全局变量 中存储开盘时间。
问题就在这里。例如,假设我们的EA在指标(例如,我采取CCI)从下到上越过某个水平(红线)时显示买入信号,而当它分别向下时显示卖出信号。我们应该如何使订单在条形图A的形成过程中只打开一次?假设指标在条形图A的形成过程中多次向下和向上穿越水平线(红线)。正如我已经提到的,我们应该使订单只被打开一次。
我们需要的是,在D条(图表上的情况2)上收到的卖出信号不关闭 A条上的订单,并且不受任何影响。
也就是说,订单打开后,不受专家顾问的控制。
预先感谢你。
初级EA,当抛物线SAR指标相对于价格图发生变化时应开仓,在M15上工作,开仓的SL和TP总是不变的。
该EA比较了当前和之前蜡烛图的指标位置。
在编译过程中没有任何错误或bug,在测试中标签 "结果""图表""报告 "是空的,在日志中是这样:"图片"。
我已经是第二天编码了,我以前从来没有编码过,我读了我的mql书并在网上搜索了我的问题。我陷入了僵局,如果你能帮助我,请帮帮我。
T.H.C. 试试这个
T.H.C. 试试这个。
非常感谢你,我没有想到会有这么快的反应,而且代码有这么大的变化。
请提供除基础Mql之外的编程书籍的建议
非常感谢你,我没有想到代码的速度和变化如此之大。
除了基本的mql之外,请提供更多关于编程的书籍。