簡體   English   中英

用於指標的限制條?

[英]Limit bars used for an indicator?

試圖找到一種方法來限制 EA 正在查看指標 Ichimoku Kinko Hyo 的柱數量,它查看的柱數量很愚蠢,並且錯誤地認為 memory 不夠。

我已經嘗試進入選項並將圖表和歷史記錄中的最大柱設置為 5000,但它不起作用。

有沒有一種方法可以將其編碼到腳本中以僅使用指標的最后 x 個柱?

2021.05.04 11:29:03.007 沒有足夠的 memory 用於指標 Ichimoku Kinko Hyo (USDJPY,M1) 的 7994468 個柱

該代碼只是提取了 senkou A 和 B 線的值;

SenkouA   =   NormalizeDouble(iIchimoku(Symbol(),PERIOD_CURRENT,9,26,52,MODE_SENKOUSPANA,0),_Digits);  //value of senkouspanA at current candle

再次相同,但對於跨度 B

是的,當然,剛剛開始,在我進入下一個位之前,嘗試讓它存儲相撲雲的頂部和底部的值。

它在策略測試儀上運行良好,但是當我將它放在實時圖表上時,它會出現上述錯誤,我認為是因為在策略測試儀上它只有最后一個已播放的柱,但在實時圖表上它有所有經紀人的歷史對嗎?

double SenkouA;     
double SenkouB;
double Kumo_top;
double Kumo_btm;

void OnTick()
  {

SenkouA   =   NormalizeDouble(iIchimoku(Symbol(),PERIOD_CURRENT,9,26,52,MODE_SENKOUSPANA,0),_Digits);  //value of senkouspanA at current candle
SenkouB   =   NormalizeDouble(iIchimoku(Symbol(),PERIOD_CURRENT,9,26,52,MODE_SENKOUSPANB,0),_Digits);  //value of senkouspanB at current candle

Kumo_top  =   MathMax(SenkouA,SenkouB);
Kumo_btm  =   MathMin(SenkouA,SenkouB);



Comment ("SenkouA = "         + SenkouA          + "\n" +
         "SenkouB = "         + SenkouB)

}

試試下面的代碼(注意這是一個 EA 並且應該在 Experts 文件夾中)。

//+------------------------------------------------------------------+
//|                                                         test.mq4 |
//|                        Copyright 2021, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
{
//---
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
//---
}
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
{
//---
   double SenkouA=iIchimoku(NULL,0,9,26,52,MODE_SENKOUSPANA,0);
   double SenkouB=iIchimoku(NULL,0,9,26,52,MODE_SENKOUSPANB,0);
   double Kumo_top=MathMax(SenkouA,SenkouB);
   double Kumo_btm=MathMin(SenkouA,SenkouB);
   Comment ("SenkouA = "+DoubleToStr(SenkouA,Digits)+"\n"+"SenkouB = "+DoubleToStr(SenkouB,Digits));
//---
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM