错误、漏洞、问题 - 页 809

 

回到在OnTradeTransaction事件中确定止损和止盈的问题。我有以下日志输出结构的所有字段(取自MetaQuotes的例子),这不再是一个测试者,而是一个在线竞争。这里我们有一个买点。

ON 0 transaction (EURUSD,H1) 11:14:23 OrderSendWrapper:0.10 EURUSD BUY JK 0 transaction (EURUSD,H1) 11:14:23 _OrderSend price=1.23575 vol=0。10 GM 0 交易 (EURUSD,H1) 11:14:24 TRADE_TRANSACTION_REQUEST OH 0 交易 (EURUSD,H1) 11:14:24 ------------RequestDescription PK 0 交易 (EURUSD,H1) 11:14:24 TRADE_ACTION_DEAL DJ 0 交易 (EURUSD,H1) 11:14:24 Symbol: EURUSD FN 0 交易 (EURUSD,H1) 11:14:24 Magic Number。0 PD 0个交易 (EURUSD,H1) 11:14:24 Order ticket: 11670896 PL 0个交易 (EURUSD,H1) 11:14:24 Order type: ORDER_TYPE_BUY JF 0个交易 (EURUSD,H1) 11:14:24 Order filling: ORDER_FILLING_FOK FM 0个交易 (EURUSD,H1) 11:14:24 Order time type: ORDER_TIME_GTC NG 0个交易 (EURUSD,H1) 11:14:24 Order expiration: 1970.01.01 00:00:00 HI 0 transactions (EURUSD,H1) 11:14:24 Price: 1.23579 EG 0 transactions (EURUSD,H1) 11:14:24 Deviation points: 10 DR 0 transactions (EURUSD,H1) 11:14:24 Stop Loss: 1.2354 PJ 0 transaction (EURUSD,H1) 11:14:24 Take Profit: 1.2361 ON 0 transaction (EURUSD,H1) 11:14:24 Stop Limit: 0 MK 0 transaction (EURUSD,H1) 11:14:24 Volume: 0.1 IQ 0 交易 (EURUSD,H1) 11:14:24 评论:FG 0 交易 (EURUSD,H1) 11:14:24 MF 0 交易 (EURUSD,H1) 11:14:24 ------------ResultDescription JL 0 交易 (EURUSD,H1) 11:14。24 Retcode 10009 ME 0 transaction (EURUSD,H1) 11:14:24 Request ID: 1 RL 0 transaction (EURUSD,H1) 11:14:24 Order ticket: 11670896 NK 0 transaction (EURUSD,H1) 11:14:24 Deal ticket: 10809619 QS 0 transaction (EURUSD,H1) 11:14:24 Volume: 0.1 LJ 0 交易 (EURUSD,H1) 11:14:24 价格:1.23579 RR 0 交易 (EURUSD,H1) 11:14:24 询问:1.23579 PI 0 交易 (EURUSD,H1) 11:14:24 买:1.23566 GE 0 交易 (EURUSD,H1) 11:14:24 评论:DS 0 交易 (EURUSD,H1) 11:14:24 GE 0 交易 (EURUSD,H1) 11:14:24 挂单票 11670896 LR 0 交易 (EURUSD,H1) 1114:24 LG 0个交易(EURUSD,H1) 11:14:24 ------------TransactionDescription FQ 0个交易(EURUSD,H1) 11:14:24 TRADE_TRANSACTION_ORDER_ADD HF 0个交易(EURUSD,H1) 11:14:24 标志。EURUSD HM 0笔交易 (EURUSD,H1) 11:14:24 交易票据: 0 DK 0笔交易 (EURUSD,H1) 11:14:24 交易类型: DEAL_TYPE_BUY DQ 0笔交易 (EURUSD,H1) 11:14:24 订单票据: 11670896 DI 0笔交易 (EURUSD,H1) 11:14:2424 订单类型: ORDER_TYPE_BUY CR 0 交易 (EURUSD,H1) 11:14:24 订单状态: ORDER_STATE_STARTED RI 0 交易 (EURUSD,H1) 11:14:24 订单时间类型: ORDER_TIME_GTC JS 0 交易 (EURUSD,H1) 11:14:24 订单到期时间: 1970。01.01 00:00 DE 0笔交易 (EURUSD,H1) 11:14:24 价格:1.23579 QN 0笔交易 (EURUSD,H1) 11:14:24 价格触发:0 PG 0笔交易 (EURUSD,H1) 11:14:24 止损:1.2354 LM 0笔交易 (EURUSD,H1) 11:14:24 获利:1.2361 EF 0笔交易 (EURUSD,H1) 11:14:24 数量:0。1 JI 0笔交易 (EURUSD,H1) 11:14:24 NS 0笔交易 (EURUSD,H1) 11:14:24 ------------TransactionDescription HH 0笔交易 (EURUSD,H1) 11:14:24 TRADE_TRANSACTION_ORDER_DELETE DR 0笔交易 (EURUSD,H1) 11:14:24 Symbol: EURUSD LJ 0笔交易 (EURUSD,H1) 11:14:24 Deal ticket: 0 PN 0篇交易 (EURUSD,H1) 11:14:24 Deal type:DEAL_TYPE_BUY PD 0 transaction (EURUSD,H1) 11:14:24 Order ticket: 11670896 PL 0 transaction (EURUSD,H1) 11:14:24 Order type: ORDER_TYPE_BUY NJ 0 transaction (EURUSD,H1) 11:11:14:24 订单状态: ORDER_STATE_FILLED PM 0 交易 (EURUSD,H1) 11:14:24 订单时间类型: ORDER_TIME_GTC HG 0 交易 (EURUSD,H1) 11:14:24 订单到期时间: 1970。01.01 00:00 JI 0次交易(EURUSD,H1) 11:14:24 价格:1.23579 OJ 0次交易(EURUSD,H1) 11:14:24 价格触发:0 NS 0次交易(EURUSD,H1) 11:14:24 止损:1。2354 JJ 0 交易 (EURUSD,H1) 11:14:24 止盈: 1.2361 FS 0 交易 (EURUSD,H1) 11:14:24 成交量: 0 HE 0 交易 (EURUSD,H1) 11:14:24 HN 0 交易 (EURUSD,H1) 11:14:24 ------------TransactionDescription FI 0 交易 (EURUSD,H1) 11:14:24 TRADE_TRANSACTION_HISTORY_ADD HN 0个交易(EURUSD,H1) 11:14:24 符号:EURUSD HE 0个交易(EURUSD,H1) 11:14:24 交易票据:0 DS 0个交易(EURUSD,H1) 11:11:14:24 交易类型: DEAL_TYPE_BUY DI 0笔交易 (EURUSD,H1) 11:14:24 订单票据: 11670896 DQ 0笔交易 (EURUSD,H1) 11:14:24 订单类型: ORDER_TYPE_BUY RF 0笔交易 (EURUSD,H1) 1114:24 订单状态: ORDER_STATE_FILLED LQ 0个交易(EURUSD,H1) 11:14:24 订单时间类型: ORDER_TIME_GTC DK 0个交易(EURUSD,H1) 11:14:24 订单到期时间: 1970。01.01 00:00 FM 0 交易 (EURUSD,H1) 11:14:24 价格:1.23579 CF 0 交易 (EURUSD,H1) 11:14:24 价格触发:0 RO 0 交易 (EURUSD,H1) 11:14:24 止损:1.2354 NE 0 交易 (EURUSD,H1) 11:14:24 获利:1。2361 RO 0 交易 (EURUSD,H1) 11:14:24 成交量: 0 DQ 0 交易 (EURUSD,H1) 11:14:24 DJ 0 交易 (EURUSD,H1) 11:14:24 ------------TransactionDescription LQ 0 交易 (EURUSD,H1) 11:14:24 TRADE_TRANSACTION_DEAL_ADD FK 0个交易(EURUSD,H1) 11:14:24 符号:EURUSD DR 0个交易(EURUSD,H1) 11:14:24 交易票据:10809619 PF 0个交易(EURUSD,H1) 11:14:24 交易类型: DEAL_TYPE_BUY PL 0 交易 (EURUSD,H1) 11:14:24 订单票: 11670896 PD 0 交易 (EURUSD,H1) 11:14:24 订单类型: ORDER_TYPE_BUY GN 0 交易 (EURUSD,H1) 11:11:14:24 订单状态: ORDER_STATE_STARTED FE 0个交易 (EURUSD,H1) 11:14:24 订单时间类型: ORDER_TIME_GTC NO 0个交易 (EURUSD,H1) 11:14:24 订单到期时间: 1970。01.01 00:00:00 HQ 0笔交易 (EURUSD,H1) 11:14:24 价格:1.23579 MR 0笔交易 (EURUSD,H1) 11:14:24 价格触发:0 LK 0笔交易 (EURUSD,H1) 11:14:24 止损:1.2354 HR 0笔交易 (EURUSD,H1) 11:14:24 获利:1.2361 QJ 0笔交易 (EURUSD,H1) 11:14:24 量:0.1 NR 0笔交易 (EURUSD,H1)

在这里,它以获利收盘。

DJ 0笔交易 (EURUSD,H1) 11:20:38 ------------TransactionDescription JN 0笔交易 (EURUSD,H1) 11:20:38 TRADE_TRANSACTION_ORDER_ADD DH 0笔交易 (EURUSD,H1) 11:20:38 符号:EURUSD PP 0笔交易 (EURUSD,H1) 11:20:38 交易票据:0 PH 0笔交易 (EURUSD,H1) 11:20:38 交易类型:DEAL_TYPE_BUY LR 0笔交易 (EURUSD,H1)20:38 Order ticket: 11670968 HG 0 transactions (EURUSD,H1) 11:20:38 Order type: ORDER_TYPE_SELL MO 0 transactions (EURUSD,H1) 11:20:38 Order state: ORDER_STATE_STARTED HF 0 transactions (EURUSD,H1) 11:20:38 Order time type: ORDER_TIME_GTC PN 0 transactions (EURUSD,H1) 11:20:38 Order expiration: 1970。01.01 00:00:00 JE 0 交易 (EURUSD,H1) 11:20:38 价格: 1.2361 MS 0 交易 (EURUSD,H1) 11:20:38 价格触发:0 MJ 0 交易 (EURUSD,H1) 11:20:38 止损:0 IR 0 交易 (EURUSD,H1) 11:20:38 获利:0 QD 0 交易 (EURUSD,H1) 11:20:38 成交量:0。1 NO 0笔交易 (EURUSD,H1) 11:20:38 NP 0笔交易 (EURUSD,H1) 11:20:38 ------------TransactionDescription LN 0笔交易 (EURUSD,H1) 11:20:38 TRADE_TRANSACTION_ORDER_DELETE DE 0笔交易 (EURUSD,H1) 11:20:38 Symbol: EURUSD PK 0笔交易 (EURUSD,H1) 11:20:38 Deal ticket: 0 PM 0笔交易(EURUSD,H1) 11:20:38 Deal type:DEAL_TYPE_BUY LG 0次交易 (EURUSD,H1) 11:20:38 Order ticket: 11670968 HR 0次交易 (EURUSD,H1) 11:20:38 Order type: ORDER_TYPE_SELL HH 0次交易 (EURUSD,H1) 11:20:38 订单状态: ORDER_STATE_FILLED FK 0个交易(EURUSD,H1) 11:20:38 订单时间类型: ORDER_TIME_GTC NQ 0个交易(EURUSD,H1) 11:20:38 订单到期时间: 1970。01.01 00:00:00 HH 0 交易 (EURUSD,H1) 11:20:38 价格: 1.2361 KL 0 transactions (EURUSD,H1) 11:20:38 Price trigger: 0 GG 0 transactions (EURUSD,H1) 11:20:38 Stop Loss: 0 GI 0 transactions (EURUSD,H1) 11:20:38 Take Profit: 0 RS 0 transactions (EURUSD,H1) 11:20:38 Volume:0 DJ 0次交易 (EURUSD,H1) 11:20:38 HO 0次交易 (EURUSD,H1) 11:20:38 ------------TransactionDescription JI 0次交易 (EURUSD,H1) 11:20:38 TRADE_TRANSACTION_HISTORY_ADD LN 0次交易 (EURUSD,H1) 11:20:38 Symbol。EURUSD HF 0 交易 (EURUSD,H1) 11:20:38 交易票据: 0 HR 0 交易 (EURUSD,H1) 11:20:38 交易类型: DEAL_TYPE_BUY DH 0 交易 (EURUSD,H1) 11:20:38 订单票据: 11670968 PM 0 交易 (EURUSD,H1) 11:20:3838 订单类型: ORDER_TYPE_SELL PF 0笔交易 (EURUSD,H1) 11:20:38 订单状态: ORDER_STATE_FILLED NQ 0笔交易 (EURUSD,H1) 11:20:38 订单时间类型: ORDER_TIME_GTC FK 0笔交易 (EURUSD,H1) 11:20:38 订单到期时间: 1970。01.01 00:00 PO 0 交易 (EURUSD,H1) 11:20:38 价格: 1.2361 CF 0 交易 (EURUSD,H1) 11:20:38 价格触发:0 OM 0 交易 (EURUSD,H1) 11:20:38 止损:0 OG 0 交易 (EURUSD,H1) 11:20:38 获利:0 JN 0 交易 (EURUSD,H1) 11:20:38 量。0 LP 0次交易 (EURUSD,H1) 11:20:38 PE 0次交易 (EURUSD,H1) 11:20:38 ------------TransactionDescription MR 0次交易 (EURUSD,H1) 11:20:38 TRADE_TRANSACTION_POSITION JH 0次交易 (EURUSD,H1) 11:20:38 Symbol。EURUSD JP 0 交易 (EURUSD,H1) 11:20:38 交易单:0 FH 0 交易 (EURUSD,H1) 11:20:38 交易类型:DEAL_TYPE_BUY HQ 0 交易 (EURUSD,H1) 11:20:38 订单单:0 DK 0 交易 (EURUSD,H1) 11:20:38 订单类型。ORDER_TYPE_BUY GQ 0笔交易 (EURUSD,H1) 11:20:38 订单状态: ORDER_STATE_STARTED RH 0笔交易 (EURUSD,H1) 11:20:38 订单时间类型: ORDER_TIME_GTC JL 0笔交易 (EURUSD,H1) 11:20:38 订单到期时间: 1970。01.01 00:00:00 HG 0 交易 (EURUSD,H1) 11:20:38 价格:1.23579 QP 0 交易 (EURUSD,H1) 11:20:38 价格触发:0 LI 0 交易 (EURUSD,H1) 11:20:38 止损:1。2354 HO 0 交易 (EURUSD,H1) 11:20:38 止盈:1.2361 QD 0 交易 (EURUSD,H1) 11:20:38 成交量:0.1 NO 0笔交易 (EURUSD,H1) 11:20:38 NP 0笔交易 (EURUSD,H1) 11:20:38 ------------TransactionDescription FO 0笔交易 (EURUSD,H1) 11:20:38 TRADE_TRANSACTION_DEAL_AD LE 0笔交易 (EURUSD,H1) 11:20:38 Symbol: EURUSD EH 0笔交易 (EURUSD,H1) 11:20:38 Deal ticket: 10809689 RQ 0篇交易 (EURUSD,H1) 11:20:38 Deal type:DEAL_TYPE_SELL DF 0 交易 (EURUSD,H1) 11:20:38 订单票据: 11670968 HN 0 交易 (EURUSD,H1) 11:20:38 订单类型: ORDER_TYPE_BUY CD 0 交易 (EURUSD,H1) 11:20:38 订单状态: ORDER_STATE_STARTED NK 0个交易(EURUSD,H1) 11:20:38 订单时间类型: ORDER_TIME_GTC FQ 0个交易(EURUSD,H1) 11:20:38 订单到期时间: 1970。01.01 00:00:00 PI 0 交易 (EURUSD,H1) 11:20:38 价格:1.2361 CL 0 交易 (EURUSD,H1) 11:20:38 价格触发:0 OG 0 交易 (EURUSD,H1) 11:20:38 止损:0 OI 0 交易 (EURUSD,H1) 11:20:38 获利:0 KQ 0 交易 (EURUSD,H1) 11:20:38 量:0.1

将这些交易联系起来的唯一东西是价格(收盘价 等于TP价)。问题--这就是确定TP事实的方法吗?我认为,不方便而且不明确(如果我没记错的话,准确的TP价格可能不会发生,TP将在最近的其他价格上关闭)。

Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы
  • www.mql5.com
Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5
 

下午好!我提前道歉,也许我是愚钝的,或者我不明白一些明显的事情。我正在尝试使用iMA指标,试图根据我读过的例子来写。

一般来说,我尝试这样做。我在顶层宣布,高于EA的所有职能。

double      MA[];                // массив для индикатора iMA
//---- handles for indicators
int         MA_handle;           // указатель на индикатор iMA

然后我使用一个函数,在OnTick()函数 中工作。在样本中,函数本身是在底部。事实上,现在,我将只使用数组的最后一个零值。

 if (EURNZD_d1 != 0.0) countq++;
      EURUSD_d1 = CalculateStrengthPairsTF("EURUSD"+dop_symb, PERIOD_D1);
      if (EURUSD_d1 != 0.0) countq++;
      EURCAD_d1 = CalculateStrengthPairsTF("EURCAD"+dop_symb, PERIOD_D1);
      if (EURCAD_d1 != 0.0) countq++;
      EURGBP_d1 = CalculateStrengthPairsTF("EURGBP"+dop_symb, PERIOD_D1);
      if (EURGBP_d1 != 0.0) countq++;
      EURAUD_d1 = CalculateStrengthPairsTF("EURAUD"+dop_symb, PERIOD_D1);
      if (EURAUD_d1 != 0.0) countq++;
      EURCHF_d1 = CalculateStrengthPairsTF("EURCHF"+dop_symb, PERIOD_D1);
      if (EURCHF_d1 != 0.0) countq++;
      if (countq != 0) D1_eur = NormalizeDouble((EURJPY_d1 + EURNZD_d1 + EURUSD_d1 + EURCAD_d1 + EURGBP_d1 + EURAUD_d1 + EURCHF_d1) / countq, 0);
   }
   int l_count_4 = 0;
   AVG_eur = 0;
   if (M1_eur != 0.0) l_count_4++;
   if (M5_eur != 0.0) l_count_4++;
   if (M15_eur != 0.0) l_count_4++;
   if (M30_eur != 0.0) l_count_4++;
   if (H1_eur != 0.0) l_count_4++;
   if (H4_eur != 0.0) l_count_4++;
   if (D1_eur != 0.0) l_count_4++;
   if (l_count_4 != 0) AVG_eur = (M1_eur + M5_eur + M15_eur + M30_eur + H1_eur + H4_eur + D1_eur) / l_count_4;
}

double CalculateStrengthPairsTF(string a_symbol, int a_timeframe) {
    int DIGITS_ = SymbolInfoInteger(a_symbol,SYMBOL_DIGITS);
   //---
    MqlTick last_tick;
   if(SymbolInfoTick(a_symbol,last_tick));
   double BID_ = last_tick.bid;
   BID_ = NormalizeDouble( BID_, DIGITS_);
    MA_handle=iMA(a_symbol,a_timeframe,Period_,0,method_ma,price_applied);
    //--- заполнение массива MA[] текущими значениями индикатора iMA
   //--- в массив будет записано 100 элементов
   CopyBuffer(MA_handle,0,0,100,MA);
   //--- задаём порядок индексации массива MA[] как в MQL4
   ArraySetAsSeries(MA,true);  
   double iMA_ = NormalizeDouble(MA[0], DIGITS_);

我将只使用最后的零值。

错误'a_timeframe'--不能转换enum Owl.mq5 2009 28

关于这个imino变量,它在字符串型指令中,你看它自己发着蓝光......

Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
 
Dimka-novitsek:

写入错误'a_timeframe'--无法转换枚举Owl.mq5 2009年28日

ENUM_TIMEFRAMES 类型来责成它
 

谢谢你!!!。它与double、string或int相同吗?我不明白,对不起,我应该把这种类型放在哪里?

好的,谢谢!

 
Valmars:
这纯粹是一个测试者的错误。在TRADE_TRANSACTION_DEAL_ADD的情况下,Trans.price_tp字段可能包含0或任何垃圾。在线交易能正确输出一切。
谢谢你。固定的。下一个版本中会有一个修复。
 
//+------------------------------------------------------------------+
//| cs2011.mq5 | |
//| Copyright © 2011, Xupypr |版权所有。
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, Xupypr"
#财产版本 "1.1"
//+-----------------------------------+
输入双倍的Risk=3; // 起始手数
输入int TP=2200。
输入int SL=0。
输入int Fast=30。
输入int Slow=500。
输入int Sign=36。
//+-----------------------------------+
int Money, Deposit=5000;
int MACD。
//+-----------------------------------+
空白的OnInit()
{
MACD=iMACD(NULL,0,快,慢,符号,PRICE_CLOSE)。
}
//+-----------------------------------+
空白的OnTick()
{
static bool UpSignal,DnSignal;
如果(TradeSignalCounter(UpSignal,DnSignal))TradePerformer(UpSignal,DnSignal)。
}
//+-----------------------------------+
bool TradeSignalCounter(bool &UpSignal,bool &DnSignal)
{
如果(Bars(_Symbol,0)<100)返回(false)。
static int Recount;
如果(IsNewBar() || Recount)
{
双重Ind[2],Sig[3]。
DnSignal=false。
UpSignal=false。
重新计算=false。
如果(CopyBuffer(MACD,0,1,2,Ind)<0) Recount=true。
如果(CopyBuffer(MACD,1,1,3,Sig)<0) Recount=true。
如果(Recount==true)返回(false)。
如果(Ind[0]>0 &&Ind[1]<0) DnSignal=true。
如果(Ind[0]<0 &&Ind[1]>0) UpSignal=true。
if(Ind[1]<0 && Sig[0]<Sig[1] && Sig[1]>Sig[2]) DnSignal=true。
if(Ind[1]>0 && Sig[0]>Sig[1] && Sig[1]<Sig[2]) UpSignal=true。
return(true)。
}
return(false)。
}
//+-----------------------------------+
bool TradePerformer(bool &UpSignal,bool &DnSignal)
{
如果(UpSignal)
{
如果(PositionOpen(POSITION_TYPE_BUY))UpSignal=false。
}
如果(DnSignal)
{
如果(PositionOpen(POSITION_TYPE_SELL))DnSignal=false。
}
return(true)。
}
//+-----------------------------------+
Double Money_M()
{
HistorySelect(0,TimeCurrent())。
int total=HistoryDealsTotal()。
双倍利润=0。
for(int i=0;i<total;i++)
{
ulong deal_ticket=HistoryDealGetTicket(i)。
如果(HistoryDealGetString(deal_ticket,DEAL_SYMBOL)!=_Symbol)继续。
如果(HistoryDealGetInteger(deal_ticket,DEAL_TYPE)>1) 继续。
profit+=HistoryDealGetDouble(deal_ticket,DEAL_PROFIT)。
profit+=HistoryDealGetDouble(deal_ticket,DEAL_SWAP)。
}
钱=存款+利润。
如果(PositionSelect(_Symbol))
{
Money+=PositionGetDouble(POSITION_PROFIT)。
Money+=PositionGetDouble(POSITION_SWAP)。
}
double Min=SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MIN)。
double Limit=SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_LIMIT)。
双倍手数=风险*资金/存款。
Lots=MathMin(Limit,MathMax(Min,Lots))。
return(Lots)。
}
//+-----------------------------------+
bool PositionOpen(ENUM_POSITION_TYPE Type)
{
MqlTradeRequest请求。
MqlTradeResult结果。
double volume=Money_M();
双倍takeprofit=0,stoploss=0。
如果(PositionSelect(_Symbol))
{
double volumepos=PositionGetDouble(POSITION_VOLUME)。
如果(PositionGetInteger(POSITION_TYPE)==Type) volume-=volumepos。
else volume+=volumepos;
}
for(int i=0;i<10;i++)
{
volume=NormalizeDouble(volume,1)。
if(volume<=0) break;
如果(Type==POSITION_TYPE_SELL)
{
request.type=ORDER_TYPE_SELL。
request.price=SymbolInfoDouble(_Symbol,SYMBOL_BID)。
如果(TP!=0) takeprofit = request.price-TP*_Point;
if(SL!=0) stoploss = request.price+SL*_Point;
}
如果(Type==POSITION_TYPE_BUY)
{
request.type=ORDER_TYPE_BUY。
request.price=SymbolInfoDouble(_Symbol,SYMBOL_ASK)。
如果(TP!=0) takeprofit = request.price+TP*_Point;
if(SL!=0) stoploss = request.price-SL*_Point;
}
request.action = TRADE_ACTION_DEAL;
request.symbol = _Symbol;
request.volume = MathMin(volume,SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MAX))。
request.sl = stoploss;
request.tp = takeprofit;
request.deviation=SymbolInfoInteger(_Symbol,SYMBOL_SPREAD)。
request.type_filling=ORDER_FILLING_AON。
request.comment=DoubleToString(Money,2)+"$"。
if(!OrderCheck(request,check))
{
if(check.margin_level<100) volume=SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_STEP);
Print("OrderCheck Code: ",check.retcode);
继续。
}
if(!OrderSend(request,result)|| result.deal==0)
{
Print("OrderSend Code: " ,result.retcode);
如果(result.retcode==TRADE_RETCODE_TRADE_DISABLED) break;
如果(result.retcode==TRADE_RETCODE_MARKET_CLOSED) break;
如果(result.retcode==TRADE_RETCODE_NO_MONEY) break;
if(result.retcode==TRADE_RETCODE_TOO_MANY_REQUESTS) Sleep(5000);
如果(result.retcode==TRADE_RETCODE_FROZEN) break;
if(result.retcode==TRADE_RETCODE_CONNECTION) Sleep(15000);
if(result.retcode==TRADE_RETCODE_LIMIT_VOLUME) break;
}
否则volume-=result.volume。
睡眠(1000)。
}
if(!PositionSelect(_Symbol)) return(false);
return(true)。
}
//+-----------------------------------+
bool IsNewBar()
{
static datetime Told;
datetime Tnew[1];
CopyTime(_Symbol,PERIOD_CURRENT,0,1,Tnew)。
如果(Tnew[0]! =Told)
{
Told=Tnew[0]。
return(true)。
}
return(false)。
}
//+-----------------------------------+

请告知为什么EA中的request.type_filling=ORDER_FILLING_AON;行包含错误'ORDER_FILLING_AON'-未声明的标识符 cs2011.mq5 127 28 in version 697



Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура результатов проверки торгового запроса
Документация по MQL5: Стандартные константы, перечисления и структуры / Структуры данных / Структура результатов проверки торгового запроса
  • www.mql5.com
Стандартные константы, перечисления и структуры / Структуры данных / Структура результатов проверки торгового запроса - Документация по MQL5
 
FRX154:

请告知为什么EA中的request.type_filling=ORDER_FILLING_AON;行包含错误'ORDER_FILLING_AON'-未声明的标识符 cs2011.mq5 127 28 in version 697

因为自EA编写 以来,语言已经改变。

把request.type_filling=ORDER_FILLING_AON放在这一行中。

request.type_filling=ORDER_FILLING_FOK; 祝你好运。

或者你可以直接把0

request.type_filling=0。

也会起作用。

PS或者(为了避免编辑整个EA),你可以在所有东西的最上面放一个补丁。

#define ORDER_FILLING_AON ORDER_FILLING_FOK

这只是为了防止ORDER_FILLING_AON被多次提及。

 
出于某种原因,我看到了下面的画面:当我在终端将导航仪中的一个指标粘贴到图表上时,但图表上显示的是指标的空区域,指标本身没有显示,但如果我打开图表指数的列表,它就会出现在那里,并有 "调试 "的注释。这是什么虫子,我怎样才能对付它?
 
marketeer:
出于某种原因,我看到了下面的画面:当我在终端将导航仪中的一个指标粘贴到图表上时,但图表上显示的是指标的空区域,指标本身没有显示,但如果我打开图表指数的列表,它就会出现在那里,并有 "调试 "的注释。这是什么虫子,我如何应对它?
重新编译
 

好心人,救命啊!

以最简单的代码为例。

#property copyright "Copyright 2011,"
#property link      "http://www.mql5.com"
#property version   "1.00"
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
double Vhod;
       Vhod=linfunc(15);

//---
   return(0);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
     }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
     }
//+------------------------------------------------------------------+
double  linfunc(int b) // имя функции и список параметров
  {
  double a;
   while((a/b)<1 && !IsStopped())//---------
     {
      a=a+1;
     }
     double f=a+b;
// составной оператор
   return(a+b);           // возвращаемое значение

  }

我们在687编译,在调试器中得到Vhod=0。

你如何理解它?同时,有时我得到Vhod=30。(很奇怪但却是事实)。

返回返回一些胡言乱语...

这些故障是什么,还是我错过了什么?