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

 
Dimka-novitsek:

Expert Advisorは慢性的に130の間違ったストップが表示され、取引できません。 10-60pipsの異なるストップを設定しましたが、すべて同じです。


そもそも、SendOrdersにストップとプロフィットの代わりに0を入れる。 注文がオープンされているかどうかを確認する。一見したところ、ストップは10倍でなければならず、ほとんどの場合、5桁のクォートがあり、ストップがオープンプライスに 近すぎるようです。
 
Dimka-novitsek:

私のEAでは、慢性的に130の間違ったストップを出し、取引しません。 10-60pipsのあらゆるストップを設定しましたが、すべて同じです。

私のEAは全く正常に動作しないので、私の合計は常に0であり、エラー130と交互に表示されます。

extern double Lots=0.1, TakeProfit=50, stoploss=10;

何が間違っているのかわかりません。

助けてーーーーーーーーーーーーーーーーーーーーーーーーーーーーお願いします!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


大丈夫、5桁くらいかな? ストップ*10、タケロス*10

 
costy_:


大丈夫、5桁くらいかな? ストップ*10、テイク*10

まあ、5桁の数字と、すべての符号の問題は簡単に解けるんだけどね。

イナイトに書くんですね。

   if(Digits==5 || Digits==3) PointX = Point * 10; // Корректировка Point под трёх- пятизнак
   if(Digits==4 || Digits==2) PointX = Point;
そして、それに伴い、最初にdouble型の変数PointXを 宣言する。次に、EA のコードで、Point をどこでも PointX に置き換えます。
 
ありがとうございます!!!絶対そうだと思います!!!!
 
ivandurak:


このように

static int KolBars; // この変数にはバーの本数が格納されます。

if ( あなたの条件 && Bars != KolBars)

{画面上でバーの本数が変化した場合、新しいローソク足の開始がアクションを起こす条件となります。

アルゴリズムに従った動作が行われ、クローズポジションのオープン、計算などが行われます。

KolBars=Bars ; // アクションが完了したバーの数を記録する。

}

現在では、私の開始条件にもかかわらず、1時間ごとに(TF H1)新しいローソク 足の出現で取引が開始されています。

また、ストップロスを特定のローソク足の終値に置き換える方法がわかりません。

「static int KolBars; // この変数にはバーの数が格納されます" - 分析するローソク足の数を指定する必要がありますか? static int KolBars=3


直前の3本のローソク足が緑なら、新しいローソク足で売り取引を開始し、このローソク足の終値か次のローソク足で決済する」というような条件のEAを作りたいのです。

 
GENETIC ALGORITHMは 毎回違う結果になる......どうすればいいのか......正規化を試してみた。スリップはありません。プログラミングでは、1年目ではないようです...... I DO NOT UNDERSTAND!!!HELP!!!
 
costy_:

http://forexsystems.ru/sovetniki/26492-poisk-sovetnikov-[kto-ischet-pishem-sdes%60].html

http://www.forexfactory.com/showthread.php?t=168161


ありがとうございました。
 
Stepan241:
GENETIC ALGORITHMは毎回違う結果になる......どうすればいいのか......正規化を試みた。スリップはありません。プログラミングでは、1年目ではないようです...... I DO NOT UNDERSTAND!!!HELP!!!


ゲンロック機能を自分で実装することを想像してみてください!そのためには何が必要でしょうか?

Gen.algor.がなければ何回パスしなければならないか、Gen.algor.があれば何回パスできるのか。(具体的なケースで記載してください)。

ゲンロックなしのデータが2回の最適化で一致しない場合、どこかで疑似乱数を用いて取引条件(テール?)

スリップのテストや最適化を行う際に、"スリップしない "というのは全く効果がない。

 

面白いですね、ivandurakさんの投稿を読んですぐに気づいたのですが、各ティック後にスタートだけがトリガーされるので、変数をグローバルに開けば、値が保存されるようです。

Стало быть,где-то так.//+------------------------------------------------------------------+
//|Bollocks.mq4||Bollocks.mq4||Ballocks.com
//| 著作権 © 2010, MetaQuotes Software Corp.
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright"著作権 © 2010, MetaQuotes Software Corp."
#プロパティリンク "http://www.metaquotes.net"
int KolBars=Bars;
//+------------------------------------------------------------------+
//| エキスパート初期化関数
//+------------------------------------------------------------------+
int init()
{
//----
//----

//----
return(0)です。
}
//+------------------------------------------------------------------+
//| 専門家による初期化関数
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
return(0)です。
}
//+------------------------------------------------------------------+
//| エキスパートスタート機能
//+------------------------------------------------------------------+
int start()
{int r;
r=Bars- KolBars
//----
for( r>0 )
int k;
//----
return(0)です。
}
//+--------------------------------------------------------------------------+ そこで、コンパイラはint KolBars=Barsという行を断固として受け付けず、'Bars'と宣誓します - initialization expected C:\Program Files (x86)\Alpari ÌÒ4-dexpertsÌÁùå.mq4 (8, 13)

すごい!!!!!!! 通常の変数宣言です。 でも、気にしないでください。

本題の質問ですが、週末にEAのデバッグをする際、ティックが行かない場合、どうすればいいのでしょうか?

 
artmedia70 2010.10.16 20:56

costy_:


大丈夫です、5桁かな? stops*10 and take*10


まあ、5桁の問題で、全符号の問題は難しくないですからね。

Inite には、次のように記述します。
if(Digits==5 || Digits==3) PointX = Point * 10; // 3桁と5桁の文字に対する正しい Point
if(Digits==4 || Digits==2) PointX = Point;
また、これに対応して、最初はPointX 変数を double として宣言しておきます。それから、あちこちのEAコードで、PointをPointXに置き換えてください 改めて、ありがとうございました!!! 私も1週間ほど悩みましたよ!!!