エキスパートアドバイザーのコードにインジケータのコードを追加する方法は? - ページ 3 12345678910 新しいコメント 削除済み 2012.05.16 01:04 #21 私のEAにあるフィルターを追加したいのですが、どうすればいいですか? 削除済み 2012.05.16 09:50 #22 ハイ、ちょっとトラブルがありまして...。~~ Rviインジケータを使った新しいEAを作りたいと思っています。 しかし、私は大きな間違いをしているようです。 Even I looked at this page https://www.mql5.com/en/articles/1456, しかし、まだ問題があります。 以下は、私が行ったコードです。 この簡単なEAを作るために、どなたか手を貸していただけませんか? //+------------------------------------------------------------------+ //| RVI EA.mq4 | //| Copyright 2012, Abu. | //| http://www.metaquotes.net | //+------------------------------------------------------------------+ #property copyright "Copyright 2012, Abu." #property link "http://www.metaquotes.net" //--- input parameters extern double TakeProfit=100.0; extern double StopLoss=100.0; extern int TotalOrder=10; extern double FixedLotSize=0.1; extern double FlexibleLotSize=0.1; extern double RVIPeriod=5; //---- indicator buffers double ExtRVIBuffer[]; double ExtRVISignalBuffer[]; //+------------------------------------------------------------------+ //| expert initialization function | //+------------------------------------------------------------------+ int init() { if(AccountFreeMargin()<200) //---- { Print("Margin is lesser than 200"); //---- return(0); for (int i=100; i<TotalOrder(); i++) { if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) { if (OrderSymbol()==Symbol()) { return(True); } } } return(false); } //+------------------------------------------------------------------+ //| expert deinitialization function | //+------------------------------------------------------------------+ int deinit() { int i,j,nLimit,CountedBars; double dValueUp,dValueDown,dNum,dDeNum; //---- if(Bars<=RVIPeriod+8) return(0); //---- CountedBars=IndicatorCounted(); //---- check for possible errors if(CountedBars<0) return(-1); //---- last counted bar will be recounted Limit=Bars-RVIPeriod-4; if(CountedBars>RVIPeriod+4) Limit=Bars-CountedBars; //---- RVI counted in the 1-st buffer for(int i = limit); i >= 1; i-- { dNum=0.0; dDeNum=0.0; for(int j=i; j<i+RVIPeriod; j++) { dValueUp=((Close[j]-Open[j])+2*(Close[j+1]-Open[j+1])+2*(Close[j+2]-Open[j+2])+(Close[j+3]-Open[j+3]))/6; dValueDown=((High[j]-Low[j])+2*(High[j+1]-Low[j+1])+2*(High[j+2]-Low[j+2])+(High[j+3]-Low[j+3]))/6; dNum+=dValueUp; dDeNum+=dValueDown; } if(dDeNum!=0.0) ExtRVIBuffer[i]=dNum/dDeNum; else ExtRVIBuffer[i]=dNum; } //---- //---- return(0); } //+------------------------------------------------------------------+ //| expert start function | //+------------------------------------------------------------------+ int start() { if ((i<j)); { OpenSell(); return(0); } else if ((j<i)); { OpenBuy(); return(0); } else //---- //---- return(0); } //+------------------------------------------------------------------+ Simon Gniadkowski 2012.05.16 10:01 #23 EAでIndicatorバッファやIndicatorCounted()などのIndicator関数を使用することはできません。 インディケータを作成し、iCustomを使用してEAからインディケータバッファにアクセスします。 また、mql4が提供するiRVI 関数を使用することもできます ... ... init()はEA起動時に一度だけ実行したいコード、deinit()はEA終了時に一度だけ実行したいコード ... start()は各ティックで実行したいコード ... .... 削除済み 2012.05.16 22:51 #24 ろうそくの最高値と最安値を知る方法。 削除済み 2012.05.16 23:34 #25 最も低いバーや最も高いバーを定義する方法は? 削除済み 2012.05.16 23:49 #26 eaでExtDepthとshiftを定義する方法は? 削除済み 2012.05.17 00:18 #27 int a, b; double zag, zig; b=0; while(a<2) { if(zig>0) zag=zig; zig=iCustom(NULL, 0, "ZigZag", 0, b); if(zig>0) a+=1; b++; ZigZagHigh=iCustom(NULL,0,"ZigZag",MODE_HIGH,0); ZigZagLow=iCustom(NULL,0,"ZigZag",MODE_LOW,0); double LowestBar=Low[Lowest(NULL,0,MODE_LOW,ExtDepth,shift)]; double HighestBar=High[Highest(NULL,0,MODE_HIGH,ExtDepth,shift)]; 上記のように、私はa=ローソクの最高値を定義したい。 b=ローソク足の最安値 ジグザグインジケーターを EAに追加しようとしています。 しかし、まだ変数が定義されていません。 このエラーはどうすれば直るのでしょうか? Simon Gniadkowski 2012.05.17 07:54 #28 このスレッドを読んでみてください: https://www.mql5.com/en/forum/139051/page2#623895 原則は同じです。 Simon Gniadkowski 2012.05.17 08:00 #29 albert_lim83: 上記のように、私はa=ローソクの最高値と定義したい。 b=ローソク足の最安値 私のEAにZigzagインジケータを追加しようとしています。 しかし、まだ変数は定義されていません。 どのようにこれらのエラーを修正するには? ZigZagHigh、ZigZagLow、ExtDepthを 宣言しましたか? iHighestとiLowestは最高値/最安値であるバーの番号を返す ... 彼らはシフトから始まるバーを見て、ExDepthのバーを見て ... 削除済み 2012.05.17 09:26 #30 ようやく変数問題を解決しました。 今は ( -関数 定義が予想外 ) - アンバランスな右括弧.... それは私のコードに(と)を置く左ですか? 12345678910 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
ハイ、ちょっとトラブルがありまして...。~~
Rviインジケータを使った新しいEAを作りたいと思っています。
しかし、私は大きな間違いをしているようです。
Even I looked at this page https://www.mql5.com/en/articles/1456,
しかし、まだ問題があります。
以下は、私が行ったコードです。
この簡単なEAを作るために、どなたか手を貸していただけませんか?
EAでIndicatorバッファやIndicatorCounted()などのIndicator関数を使用することはできません。 インディケータを作成し、iCustomを使用してEAからインディケータバッファにアクセスします。 また、mql4が提供するiRVI 関数を使用することもできます ... ...
init()はEA起動時に一度だけ実行したいコード、deinit()はEA終了時に一度だけ実行したいコード ... start()は各ティックで実行したいコード ... ....
ろうそくの最高値と最安値を知る方法。
上記のように、私はa=ローソクの最高値を定義したい。
b=ローソク足の最安値
ジグザグインジケーターを EAに追加しようとしています。
しかし、まだ変数が定義されていません。
このエラーはどうすれば直るのでしょうか?
上記のように、私はa=ローソクの最高値と定義したい。
b=ローソク足の最安値
私のEAにZigzagインジケータを追加しようとしています。
しかし、まだ変数は定義されていません。
どのようにこれらのエラーを修正するには?
ZigZagHigh、ZigZagLow、ExtDepthを 宣言しましたか?
iHighestとiLowestは最高値/最安値であるバーの番号を返す ... 彼らはシフトから始まるバーを見て、ExDepthのバーを見て ...
ようやく変数問題を解決しました。
今は
( -関数 定義が予想外
) - アンバランスな右括弧....
それは私のコードに(と)を置く左ですか?