Here -(marked in yellow - here are name of line is set) \ \ for 1 minute test - manually put horizontal or trend line, set same name in Expert Advisor and in the line itself.
//+------------------------------------------------------------------+//| TrendOpenedUp.mq5 |//| Copyright 2021, MetaQuotes Ltd. |//| https://www.mql5.com |//+------------------------------------------------------------------+#property copyright"Copyright 2021, MetaQuotes Ltd."#property link"https://www.mql5.com"#property version"1.00"//---sinputstring InpNameAverageUp = "Line Up"; // Line Name UP(Horizontal Line or Trend Line)sinputbool InpDelLineUp = false; // Delete (Horizontal Line or Trend Line)//---datetime ExtPrevBarsUp; // "0" -> D'1970.01.01 00:00';datetime ExtLastAverageUp; // "0" -> D'1970.01.01 00:00';//+------------------------------------------------------------------+//| Expert initialization function |//+------------------------------------------------------------------+intOnInit()
{
//---//---return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+//| Expert deinitialization function |//+------------------------------------------------------------------+voidOnDeinit(constint reason)
{
//---
}
//+------------------------------------------------------------------+//| Expert tick function |//+------------------------------------------------------------------+voidOnTick()
{
//---
TrendOpenedUp();
}
//+------------------------------------------------------------------+//| Check for long position opening |//+------------------------------------------------------------------+bool TrendOpenedUp(void)
{
bool res=false;
datetime time_0=iTime(Symbol(),Period(),0);
if(time_0==ExtPrevBarsUp)
return(true);
ExtPrevBarsUp=time_0;
{
if(ObjectFind(0,InpNameAverageUp)<0)
return(true);
MqlRates ratesAverage[];
ArraySetAsSeries(ratesAverage,true);
int start_pos=0,count=3;
if(CopyRates(Symbol(),Period(),start_pos,count,ratesAverage)!=count)
return(false);
if(ratesAverage[0].time==ExtLastAverageUp)
return(true);
double price_line=0.0;
long object_type=ObjectGetInteger(0,InpNameAverageUp,OBJPROP_TYPE);
if(object_type==OBJ_HLINE)
price_line=ObjectGetDouble(0,InpNameAverageUp,OBJPROP_PRICE);
elseif(object_type==OBJ_TREND)
price_line=ObjectGetValueByTime(0,InpNameAverageUp,ratesAverage[1].time,0);
double value_by_time=price_line;
if(value_by_time==0.0)
return(true);
if(ratesAverage[1].open<value_by_time && ratesAverage[1].close>value_by_time)
{
PlaySound("request.wav");
if(InpDelLineUp)
ObjectsDeleteAll(0,InpNameAverageUp);
res=true;
}
if(ratesAverage[1].open>value_by_time && ratesAverage[1].close<value_by_time)
{
PlaySound("tick.wav");
if(InpDelLineUp)
ObjectsDeleteAll(0,InpNameAverageUp);
res=true;
}
}
//--- resultreturn(res);
}
//+------------------------------------------------------------------+
2021.06.0216:42:09.522 Test (Volatility 10 Index,M1) Новый бар
2021.06.0216:43:09.621 Test (Volatility 10 Index,M1) Новый бар
2021.06.0216:44:09.552 Test (Volatility 10 Index,M1) Новый бар
よろしくお願いします。また、EAでこれらの行から値を取得する方法について、EAの例(コードの一部)を教えてもらうことは可能ですか?
自分用のExpert Advisorを作ってみたhttps://www.mql5.com/ru/code/34046- 水平線やトレンドラインに対して演算を行うことができる。
Tymen_STARC_Bands_MTFから 水平線の名称を知る必要があります。
以下はその名前です。
と入力し、Expert Advisorに入力し、コマンドを設定します。
これ
よろしくお願いします。また、EAでこれらの行からどのように値を取得するか、EAの例(コードの一部)をお願いできますか?
Expert Advisor の機能そのものを水平線またはトレンド線から選択する
Here -(marked in yellow - here are name of line is set) \ \ for 1 minute test - manually put horizontal or trend line, set same name in Expert Advisor and in the line itself.
よろしくお願いします。また、EAでこれらの行からどのように値を取得するか、EAの例(コードの一部)をお願いできますか?
最も簡単でシンプルな方法は、インジケータから水平線またはトレンド線の名前を取得することです。
- チャート上で右クリックし、LIST OF OBJECTSを検索(コピーしてExpert Advisorに貼り付けます。)
助けてください!もう頭をフル回転させましたが、以下の実装方法が見つかりません。
新しいバーを開くときに、計算を実行する。
再度新しいバーを開く際に、計算を行い、任意のアクションを実行します。
MQL5
で見つからないのですが、助けてください!
皆さんこんにちは! 助けてください!もう頭をフル回転させましたが、以下の実装方法が見つかりません。新しいバーを開くときに、計算を実行する。再度新しいバーを開く際に、計算を行い、任意のアクションを実行します。MQL5 で見つからないのですが、助けてください!
指標用ならrates_totalとprev_calculatedがある。Expert Advisor用であれば、mql4と同じですが...。
短いコードをお願いします、初心者でもう頭が沸騰しています。混乱した。
指標用であれば、rates_totalとprev_calculatedがある。EA用であれば、mql4と同じ...。
はい、インジケーター用です
Alexey Viktorov:
Если это для индикатора, то есть rates_total и prev_calculated. Если-же для советника, то так-же как и в mql4…
私の読みは 正しいのでしょうか?
キャンドルの開口は9~12秒遅れます。
これが最初のティックかどうか教えてください。
新しいローソクの最初のティックで計算し、何らかのアクションを起こすことは、私にとって非常に重要なことです。
私の読みは 正しいのでしょうか?