[英]MQL4 TEMA indicator. Indicator line gets messed up when I limit the amount of bars the indicator is processing
[英]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.