[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 120

 

数日前、EA "e-MoveSLTPbyMouse" をダウンロードし(Granitに感謝)、Broco取引プラットフォームで試したところ、うまく動作しました。今日、IBFXで使ってみようと思い、見てみたところ、うまくいかなかった。ある種の追加ラインが現れ、それが価格に「跳ね返され」、その後、相場はストップロス・ラインをうまく通過し、私は手動で小さな損失でポジションを閉じなければなりませんでした。何か感想はありますか?IBFXでExpert Advisorを動作させるためにはどうしたらよいですか?あるいは、誰かの武器庫に似たようなものがあるのでは?

もう1つ質問です。水平 線でポジションを建てるEAがあるのですが、残念ながら設定価格から3~4pipsしか建たないのです。例えば、1.4018に1pipで売りラインを入れ、1.4015でポジションをオープン、つまり2pipの差で失敗しています。GBPでは、3pipsのオーバーシュートでした。もしかしたら似たようなEAをお持ちの方がいらっしゃるかもしれませんが、ちゃんと動作するはずです。とてもありがたいことです。

このEAを投稿しているのは、もしかしたら誰かが必要としているかもしれないからです。

ファイル:
 

エキスパートアドバイザーで、チャート上でスライドするインジケータを使いたいのですが、どうすればいいですか?

スライドするインジケータを手動でチャートに貼り付けると、Apply toという パラメータが前のインジケータのデータとして書き込めるのですが、EAではどうすればいいのでしょうか?

OnArray 関数を適用するのが理にかなっていると思うのですが、最初のМАのデータが入った配列をどこに持っていけばいいのかが分かりません。

例えば、最初のМА(21)が2番目のMA(21)(最初のMAの上に構築)より高ければ.......................というのが必要なんです。

そして、もう一つの質問:私のExpert Advisorは次の関数呼び出しを持って いる場合:iMA(0,0,250,0,1,0,0)、それはこれらの250バーの終値を取り、それらを合計して250で割る毎ティックのだろうか。しかし、そうではありません。それに、もう1本スライドバーを使えば、値段も下がるし...。明確にしてください。



 
mukata писал(а)>>

エキスパートアドバイザーで、チャート上でスライドするインジケータを使いたいのですが、どうすればいいですか?

スライドするインジケータを手動でチャートに貼り付けると、Apply toという パラメータが前のインジケータのデータとして書き込めるのですが、EAではどのようにすればいいでしょうか?

iMAOnArray 関数は意味があると思うのですが、最初のMAのデータで配列を取るところがわかりません、ご教示いただくか、そのような構築のリンク、または構築そのものがあれば教えてください。

例えば、最初のМА(21)が2番目のMA(21)(最初のMAの上に構築)より高ければ..........................というのが必要です。

そして、もう一つの質問:私のExpert Advisorは次の関数呼び出しを持っている場合:iMA(0,0,250,0,1,0,0)、それはこれらの250バーの終値を取り、それらを追加して250で割る毎ティックのだろうか。しかし、そうではありません。それに、もう1本スライドバーを使えば、値段も下がるし...。お願いします、説明してください。

最も簡単なインジケーターの作り方。

 
Vinin >> :

一番簡単なのは、インジケーターを作ることです。

インジケータを作ろう!データ配列はどこで手に入れるの?構造のヒントをくれ、教科書には載っていない...。

2つ目の質問は?

 
mukata писал(а)>>

インジケータを用意しよう、データ配列はどこで取得するのか?作りのヒントをください、教科書には載っていません・・・。

2つ目の質問は?

2つ目の質問について。すべては実装次第です。コードを最適化することで、自分でインジケータを計算することができます。バーの開口部のみを計算することも可能です。バリエーションが多いですね。

しかし、最良の選択肢は、インジケーターを使うことです。この中ですべての計算が行われ、Expert Advisorはその計算値(計算値)を読み取ります。

以下は、インジケーターの例です。

インジケーターを変更しました

ファイル:
 
Vinin >> :

2つ目の質問について。すべては実装次第です。コードを最適化することで、独自の計算を行うことができます。バーの開口部のみでの計算も可能です。バリエーションが多いですね。

しかし、最良の選択肢は、インジケーターを使うことです。この中ですべての計算が行われ、Expert Advisorはその計算値(計算値)を読み取ります。

1)「コードを最適化することで、自分でツールを計算することができる」→この行がよくわからない。私は理解している:すべてのtickで開始が呼び出され、関数iMA(0,0,250,0,1,0,0)の呼び出しがある場合は、毎回この250バーを追加して分割されます。そして、正しくインジケータを作成すれば、最後のバーだけをカウントし、最後のシフトパラメータは配列から読み込まれます。そうだろ?

2) 2つ目のMAを作成するための配列はどこから入手するのですか?

 
mukata >> :

2) 2番目のMAを計算するための配列はどこで手に入りますか?


そうなんだ!忘れてました、インジケータはMA値の配列を作成するのですね...。

ありがとうございました。

 
mukata писал(а)>>

1)「コードを最適化すれば自分でマシンを計算できる」→このセリフは理解できない。私は理解している:すべてのティックの開始が呼び出され、関数iMA(0,0,250,0,1,0,0)の呼び出しがある場合、それは毎回この250バーを追加して分割することです。そして、正しくインジケータを作成すれば、最後のバーだけをカウントし、最後のシフト パラメータは配列から読み込まれます。そうだろ?

2) 2つ目のMAを作成するための配列はどこで手に入りますか?

1.すべては実装次第です。最適な計算方法があります。iMa()は独自の計算アルゴリズムを使用しています。CodeBaseにあります。だから、使うときには、自分からは見えない計算の仕組みが働くのです。結果だけを得ることができる。そして、計算は1目盛りごとに行われます。

2.このインジケータは、配列の理解を助けるために特別に作りました。

 
Vinin >> :

1.すべては実装次第です。最適な計算方法があります。iMa()は独自の計算アルゴリズムを使用しています。CodeBaseにあります。だから、使うときには、自分からは見えない計算の仕組みが働くのです。結果だけを得ることができる。そして、計算は1目盛りごとに行われます。

2.このインジケータは、特に配列を理解するために作りました。

インジケータをありがとうございました。

最初の質問について。

例えば、私のExpert Advisor(MAではなく、組み込み機能もあります)では。

//пересекла ли главная линия стохастика сигнальную линию сверху вниз
if(iStochastic(Symbol(),0,KperiodF,DperiodF,SlowlingF,methodF,PriceFieldF,0,shiftF)>
iStochastic(Symbol(),0,KperiodF,DperiodF,SlowlingF,methodF,PriceFieldF,1,shiftF)&&
iStochastic(Symbol(),0,KperiodF,DperiodF,SlowlingF,methodF,PriceFieldF,0,0)<
iStochastic(Symbol(),0,KperiodF,DperiodF,SlowlingF,methodF,PriceFieldF,1,0)
){
//и обе линии ниже 90
if(iStochastic(Symbol(),0,KperiodF,DperiodF,SlowlingF,methodF,PriceFieldF,0,0)<90&&
iStochastic(Symbol(),0,KperiodF,DperiodF,SlowlingF,methodF,PriceFieldF,1,0)<90
){
//и выше 50
if(iStochastic(Symbol(),0,KperiodF,DperiodF,SlowlingF,methodF,PriceFieldF,0,0)>50&&
iStochastic(Symbol(),0,KperiodF,DperiodF,SlowlingF,methodF,PriceFieldF,1,0)>50
)
fl=1;return(fl);//продать
}
}

は、すべての行でカウントされるのでしょうか?

あるいは、インジケータを書いて、その配列から値を取り出して比較するとか、いろいろな方法が考えられます。より速く動作させるために。

 
mukata писал(а)>>

インジケータをありがとうございました、スタート機能を見て、すべてが一度に明らかになりました。

最初の質問について。

例えば私のEAでは(MAではありませんが、これもビルトイン機能です)。

//пересекла ли главная линия стохастика сигнальную линию сверху вниз
if(iStochastic(Symbol(),0,KperiodF,DperiodF,SlowlingF,methodF,PriceFieldF,0,shiftF)>
iStochastic(Symbol(),0,KperiodF,DperiodF,SlowlingF,methodF,PriceFieldF,1,shiftF)&&
iStochastic(Symbol(),0,KperiodF,DperiodF,SlowlingF,methodF,PriceFieldF,0,0)<
iStochastic(Symbol(),0,KperiodF,DperiodF,SlowlingF,methodF,PriceFieldF,1,0)
)

すべての行でカウントされるのでしょうか?

それとも、インジケータを書いて、その配列から値を取り出して比較するなどした方がいいのでしょうか?そうすれば、より速く動作するようになります。

まず、ストキャスティクスとシグナルラインの値を計算するのがよいでしょう。そして、それらを比較する。私はこのスタイルが単純に好きではありません。その結果、ある種の盲点になってしまうのです。そして、ミスをしやすくなります。

メタクォートのバリアントにおける If() は、論理式の完全な計算を行います。なるべくシンプルにするのが望ましいでしょう。それは、if()が最も遅い操作の一つであることだけです。

また、ゼロバーの「チャタリング」という概念もあります。また、1つの小節に複数回信号が繰り返される場合もあります。また、ロックに失敗することもあります。誤報だったのだ。そのため、形成されたバーから値を取るようにしています。しかし、この場合は始値を使うべきでしょう。しかし、他にもバリエーションがあるかもしれません。

理由: