MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 236 1...229230231232233234235236237238239240241242243...1953 新しいコメント Aleksey Vyazmikin 2017.06.23 09:52 #2351 Yaroslav Nykula: ...USDが存在するすべての通貨ペア ... 取引資金から使用する証拠金の計算がコードに含まれていると思われます。米ドル以外の通貨で口座を開設してみて、テストが成功するかどうか確認してみてください。 Yaroslav Nykula 2017.06.23 16:54 #2352 <br /> translate="no">。 コード内に取引資金から使用する証拠金の計算があると推測されます。USD以外の通貨で口座を開設してみて、テストが成功するかどうか確認してください。コードに「取引資金から使用した証拠金」の計算がない・・・。で、最初の投稿の 最後に、"テスターで預金通貨 表示を切り替えても問題は解決しない "と書きました。 Aleksey Vyazmikin 2017.06.23 19:58 #2353 Yaroslav Nykula: コードに「取引資金から使用した証拠金」の計算がない・・・。で、最初の投稿の 最後に「テスターで入金通貨の 種類を切り替えても問題は解決しない」と記しました。 それなら、私のテレパシー能力は終わりだ--コードを並べろ。 Vyacheslav Kornev 2017.06.26 07:37 #2354 質問で申し訳ないのですが、バッファを使ってEAに外部インジケータを挿入する方法は知っているのですが・・・。しかし、このインジケータにはバッファがありません、どうすれば上値と下値を取得できるのでしょうか?//+------------------------------------------------------------------+//| trendlinesDay.mq4 |//| Copyright © 2008, MetaQuotes Software Corp. |//| https://www.metaquotes.net |//+------------------------------------------------------------------+#property copyright "nsi2000"#property link "http://www.expert-mt4.nm.ru"//----#property indicator_chart_window//---- input parametersextern int nPeriod=10;extern int Limit=350; double Up[]; double Dn[];///---- int Widners Oscilatorint cnt,nCurBar=0;//+------------------------------------------------------------------+//| Custom indicator initialization function |//+------------------------------------------------------------------+int init() { //---- Output in Char for(cnt=0; cnt<=5; cnt++) { ObjectCreate("WSO-"+cnt,OBJ_HLINE,0,0,0); ObjectSet("WSO-"+cnt,OBJPROP_COLOR,Red); if(cnt<5) { ObjectCreate("Trend DN-"+cnt,OBJ_TREND,0,0,0,0,0); ObjectSet("Trend DN-"+cnt,OBJPROP_COLOR,Magenta); } //---- ObjectCreate("WRO-"+cnt,OBJ_HLINE,0,0,0); ObjectSet("WRO-"+cnt,OBJPROP_COLOR,Blue); if(cnt<5) { ObjectCreate("Trend UP-"+cnt,OBJ_TREND,0,0,0,0,0); ObjectSet("Trend Up-"+cnt,OBJPROP_COLOR,Aqua); } }//---- return(0); }//+------------------------------------------------------------------+//| Custor indicator deinitialization function |//+------------------------------------------------------------------+int deinit() {//---- TODO: add your code here for(cnt=0; cnt<=5; cnt++) { ObjectDelete("Trend UP-"+cnt); ObjectDelete("Trend DN-"+cnt); ObjectDelete("WSO-"+cnt); ObjectDelete("WRO-"+cnt); }//---- return(0); }//+------------------------------------------------------------------+//| Custom indicator iteration function |//+------------------------------------------------------------------+int start() {//---- TODO: add your code here double r1,r2,r3,r4,r5,r6; int rt1,rt2,rt3,rt4,rt5,rt6; double s1,s2,s3,s4,s5,s6; int st1,st2,st3,st4,st5,st6;//---- Линии сопротивления и поддержки if(Bars<Limit) Limit=Bars-nPeriod; for(nCurBar=Limit; nCurBar>0; nCurBar--) { if(Low[nCurBar+(nPeriod-1)/2]==Low[Lowest(NULL,0,MODE_LOW,nPeriod,nCurBar)]) { s6=s5; s5=s4; s4=s3; s3=s2; s2=s1; s1=Low[nCurBar+(nPeriod-1)/2]; st6=st5; st5=st4; st4=st3; st3=st2; st2=st1; st1=nCurBar+(nPeriod-1)/2; } if(High[nCurBar+(nPeriod-1)/2]==High[Highest(NULL,0,MODE_HIGH,nPeriod,nCurBar)]) { r6=r5; r5=r4; r4=r3; r3=r2; r2=r1; r1=High[nCurBar+(nPeriod-1)/2]; rt6=rt5; rt5=rt4; rt4=rt3; rt3=rt2; rt2=rt1; rt1=nCurBar+(nPeriod-1)/2; } }//---- Move Object in Chart ObjectMove("Trend DN-0",1,Time[st1],s1); ObjectMove("Trend DN-0",0,Time[st2],s2);//---- ObjectMove("Trend UP-0",1,Time[rt1],r1); ObjectMove("Trend UP-0",0,Time[rt2],r2);//---- return(0); }//+------------------------------------------------------------------+ Any questions from newcomers オジャラEA Small Problem to Fix Maxim Kuznetsov 2017.06.26 09:19 #2355 Vyacheslav Kornev:質問で申し訳ないのですが、バッファを使ってEAに外部インジケータを挿入する方法は知っているのですが・・・。このインジケーターにはバッファがありませんが、上値と下値を取得するにはどうすればよいのでしょうか?チャート上に "Trend DN-0"、"Trend UP-0 "という名前のグラフィックオブジェクトを取る。(インジケーターのあるレベルを示す線)から必要なデータを読み取る。 Vyacheslav Kornev 2017.06.26 09:38 #2356 Maxim Kuznetsov:チャート上に "Trend DN-0"、"Trend UP-0 "という名前のグラフィックオブジェクトが表示されます。(インジケータがあるレベルを示す線)から必要なデータを読み取る。 インジケータ本体でこれを行う方法を書いてください。 そして、これらの値から2つのバッファを作り、EAで使用するのですか?価格はどこに書けばいいのでしょうか? Artyom Trishkin 2017.06.26 09:44 #2357 Vyacheslav Kornev: インジケータ本体でこれを行う方法を書いてください。 そして、これらの値から2つのバッファを作り、EAで使用するのですか?どのような場所で値段をつけるか?インジケータはすでに2つのバッファを計算し、描画するためのすべてのデータを持っています。また、インジケーターを変更するのではなく、インジケーターが引いた線のデータをExpert Advisorから読み取るという申し出がありましたね。 しかし、これはテスターの使用に制限を課します - ビジュアルモードでのみExpert Advisorをテストすることが可能です。 Vyacheslav Kornev 2017.06.26 09:55 #2358 Artyom Trishkin:インジケータはすでに2つのバッファを計算し、描画するためのすべてのデータを持っています。また、インジケーターを変更するのではなく、インジケーターが引いた線のデータをExpert Advisorから読み込むように提案されていますね。 ただし、この場合、テスターの使用には制限があります。エキスパート・アドバイザーをビジュアル・モードでテストすることしかできません。インジケーターに書けばいいということです#property indicator_buffers 2double BufferUp[]、BufferDn[]。int OnInit(){SetIndexBuffer(0, BufferUp)SetIndexBuffer(1, BufferDn)}この2つのバッファをリンクさせるのですか? Artyom Trishkin 2017.06.26 10:01 #2359 Vyacheslav Kornev: なので、インジケーターに書き込む必要があります#property indicator_buffers 2double BufferUp[]、BufferDn[]。int OnInit(){SetIndexBuffer(0, BufferUp)SetIndexBuffer(1, BufferDn)}この2つのバッファをリンクさせるのですか?見てください、コードの中で行が動いていますね。ObjectMove("Trend DN-0",1,Time[st1],s1); ObjectMove("Trend DN-0",0,Time[st2],s2); //---- ObjectMove("Trend UP-0",1,Time[rt1],r1); ObjectMove("Trend UP-0",0,Time[rt2],r2);Time[st1]、Time[st2]およびこれらの基準点s1、s2の価格は1行分である。 Time[rt1], Time[rt2], r1, r2 - 別の行の場合。線分方程式を使って、これらのポイント間の各バーに対するバッファ値を計算し、この値をバッファに書き込むことができます。 Vyacheslav Kornev 2017.06.26 10:07 #2360 Artyom Trishkin:参照:コードの中で行が動いていますね。Time[st1]、Time[st2]、そしてこれらのポイントの価格s1、s2があります - 1行分です。 Time[rt1], Time[rt2], r1, r2 - 別の行の場合。線分方程式を使って、これらのポイント間の各バーに対するバッファ値を計算し、この値をバッファに書き込むことができます。ということは、ラインの価格を棒引きにすることはできない...。直線の方程式の計算方法がわかりません、できれば、どのような形になるのか書いてください。また、一般的にはポイント間ではなく、0または1バール以上の値を取る必要があります 1...229230231232233234235236237238239240241242243...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
...USDが存在するすべての通貨ペア ...
コードに「取引資金から使用した証拠金」の計算がない・・・。で、最初の投稿の 最後に、"テスターで預金通貨 表示を切り替えても問題は解決しない "と書きました。
コードに「取引資金から使用した証拠金」の計算がない・・・。で、最初の投稿の 最後に「テスターで入金通貨の 種類を切り替えても問題は解決しない」と記しました。
それなら、私のテレパシー能力は終わりだ--コードを並べろ。
質問で申し訳ないのですが、バッファを使ってEAに外部インジケータを挿入する方法は知っているのですが・・・。しかし、このインジケータにはバッファがありません、どうすれば上値と下値を取得できるのでしょうか?
//+------------------------------------------------------------------+
//| trendlinesDay.mq4 |
//| Copyright © 2008, MetaQuotes Software Corp. |
//| https://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "nsi2000"
#property link "http://www.expert-mt4.nm.ru"
//----
#property indicator_chart_window
//---- input parameters
extern int nPeriod=10;
extern int Limit=350;
double Up[];
double Dn[];
///---- int Widners Oscilator
int cnt,nCurBar=0;
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int init()
{
//---- Output in Char
for(cnt=0; cnt<=5; cnt++)
{
ObjectCreate("WSO-"+cnt,OBJ_HLINE,0,0,0);
ObjectSet("WSO-"+cnt,OBJPROP_COLOR,Red);
if(cnt<5)
{
ObjectCreate("Trend DN-"+cnt,OBJ_TREND,0,0,0,0,0);
ObjectSet("Trend DN-"+cnt,OBJPROP_COLOR,Magenta);
}
//----
ObjectCreate("WRO-"+cnt,OBJ_HLINE,0,0,0);
ObjectSet("WRO-"+cnt,OBJPROP_COLOR,Blue);
if(cnt<5)
{
ObjectCreate("Trend UP-"+cnt,OBJ_TREND,0,0,0,0,0);
ObjectSet("Trend Up-"+cnt,OBJPROP_COLOR,Aqua);
}
}
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custor indicator deinitialization function |
//+------------------------------------------------------------------+
int deinit()
{
//---- TODO: add your code here
for(cnt=0; cnt<=5; cnt++)
{
ObjectDelete("Trend UP-"+cnt);
ObjectDelete("Trend DN-"+cnt);
ObjectDelete("WSO-"+cnt);
ObjectDelete("WRO-"+cnt);
}
//----
return(0);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int start()
{
//---- TODO: add your code here
double r1,r2,r3,r4,r5,r6;
int rt1,rt2,rt3,rt4,rt5,rt6;
double s1,s2,s3,s4,s5,s6;
int st1,st2,st3,st4,st5,st6;
//---- Линии сопротивления и поддержки
if(Bars<Limit) Limit=Bars-nPeriod;
for(nCurBar=Limit; nCurBar>0; nCurBar--)
{
if(Low[nCurBar+(nPeriod-1)/2]==Low[Lowest(NULL,0,MODE_LOW,nPeriod,nCurBar)])
{
s6=s5; s5=s4; s4=s3; s3=s2; s2=s1; s1=Low[nCurBar+(nPeriod-1)/2];
st6=st5; st5=st4; st4=st3; st3=st2; st2=st1; st1=nCurBar+(nPeriod-1)/2;
}
if(High[nCurBar+(nPeriod-1)/2]==High[Highest(NULL,0,MODE_HIGH,nPeriod,nCurBar)])
{
r6=r5; r5=r4; r4=r3; r3=r2; r2=r1; r1=High[nCurBar+(nPeriod-1)/2];
rt6=rt5; rt5=rt4; rt4=rt3; rt3=rt2; rt2=rt1; rt1=nCurBar+(nPeriod-1)/2;
}
}
//---- Move Object in Chart
ObjectMove("Trend DN-0",1,Time[st1],s1);
ObjectMove("Trend DN-0",0,Time[st2],s2);
//----
ObjectMove("Trend UP-0",1,Time[rt1],r1);
ObjectMove("Trend UP-0",0,Time[rt2],r2);
//----
return(0);
}
//+------------------------------------------------------------------+
質問で申し訳ないのですが、バッファを使ってEAに外部インジケータを挿入する方法は知っているのですが・・・。このインジケーターにはバッファがありませんが、上値と下値を取得するにはどうすればよいのでしょうか?
チャート上に "Trend DN-0"、"Trend UP-0 "という名前のグラフィックオブジェクトを取る。(インジケーターのあるレベルを示す線)から必要なデータを読み取る。
チャート上に "Trend DN-0"、"Trend UP-0 "という名前のグラフィックオブジェクトが表示されます。(インジケータがあるレベルを示す線)から必要なデータを読み取る。
インジケータ本体でこれを行う方法を書いてください。 そして、これらの値から2つのバッファを作り、EAで使用するのですか?
価格はどこに書けばいいのでしょうか?
インジケータ本体でこれを行う方法を書いてください。 そして、これらの値から2つのバッファを作り、EAで使用するのですか?
どのような場所で値段をつけるか?
インジケータはすでに2つのバッファを計算し、描画するためのすべてのデータを持っています。
また、インジケーターを変更するのではなく、インジケーターが引いた線のデータをExpert Advisorから読み取るという申し出がありましたね。
しかし、これはテスターの使用に制限を課します - ビジュアルモードでのみExpert Advisorをテストすることが可能です。
インジケータはすでに2つのバッファを計算し、描画するためのすべてのデータを持っています。
また、インジケーターを変更するのではなく、インジケーターが引いた線のデータをExpert Advisorから読み込むように提案されていますね。
ただし、この場合、テスターの使用には制限があります。エキスパート・アドバイザーをビジュアル・モードでテストすることしかできません。
インジケーターに書けばいいということです
#property indicator_buffers 2
double BufferUp[]、BufferDn[]。
int OnInit()
{
SetIndexBuffer(0, BufferUp)
SetIndexBuffer(1, BufferDn)
}
この2つのバッファをリンクさせるのですか?
なので、インジケーターに書き込む必要があります
#property indicator_buffers 2
double BufferUp[]、BufferDn[]。
int OnInit()
{
SetIndexBuffer(0, BufferUp)
SetIndexBuffer(1, BufferDn)
}
この2つのバッファをリンクさせるのですか?
見てください、コードの中で行が動いていますね。
Time[st1]、Time[st2]およびこれらの基準点s1、s2の価格は1行分である。
Time[rt1], Time[rt2], r1, r2 - 別の行の場合。
線分方程式を使って、これらのポイント間の各バーに対するバッファ値を計算し、この値をバッファに書き込むことができます。
参照:コードの中で行が動いていますね。
Time[st1]、Time[st2]、そしてこれらのポイントの価格s1、s2があります - 1行分です。
Time[rt1], Time[rt2], r1, r2 - 別の行の場合。
線分方程式を使って、これらのポイント間の各バーに対するバッファ値を計算し、この値をバッファに書き込むことができます。
ということは、ラインの価格を棒引きにすることはできない...。直線の方程式の計算方法がわかりません、できれば、どのような形になるのか書いてください。
また、一般的にはポイント間ではなく、0または1バール以上の値を取る必要があります