さて、私が考えた方法は - if(first statement) true then prints, then moves to text the next if(second) likely false then goes back to the top of start again and reset val1 and val2
//+------------------------------------------------------------------+//| Agent86_5min.mq4 |//| Unfinished POS |//| //+------------------------------------------------------------------+#property copyright "Unfinished POS by Agent86"//---- input parametersexterndouble TakeProfit=20.0;
externdouble Lots=0.1;
externdouble StopLoss=10.0;
externint MagicNumber=123486;
double val1;
double val2;
bool traded = false;
bool A = false;
//++++ These are adjusted for 5 digit brokers.int pips2points; // slippage 3 pips 3=points 30=pointsdouble pips2dbl; // Stoploss 15 pips 0.0015 0.00150intDigits.pips; // DoubleToStr(dbl/pips2dbl, Digits.pips)// OrderSend(... Slippage.Pips * pips2points, Bid - StopLossPips * pips2dbl//+------------------------------------------------------------------+//| expert initialization function |//+------------------------------------------------------------------+int init()
{
if (Digits == 5 || Digits == 3)
{ // Adjust for five (5) digit brokers.
pips2dbl = Point*10; pips2points = 10; Digits.pips = 1;
}
else
{
pips2dbl = Point; pips2points = 1; Digits.pips = 0;
}
// OrderSend(... Slippage.Pips * pips2points, Bid - StopLossPips * pips2dbl//---- //----return(0);
}
//+------------------------------------------------------------------+//| expert deinitialization function |//+------------------------------------------------------------------+int deinit()
{
//---- //----return(0);
}
//+------------------------------------------------------------------+//| expert start function |//+------------------------------------------------------------------+int start()
{
int i=0;
int ticket,total,result;
total = OrdersTotal();
val1=iFractals(NULL, 0, MODE_UPPER,3);
val2=iFractals(NULL, 0, MODE_LOWER,3);
if(val1 > 0 && traded == false && val2==0)
{
// in the absence of an && indicator above I get continous print statements// also does not print A high this is not desired// with indicator added && indicator above, then it prints A and B once as it should ???// I need to work this out so it won't print all the time aka trade all the time// A and B first values seems to initialize the whole block// just a reminder that they time stamps coordinate after this FYI// now work on C retrace and possibly signals// add options for user to select some candle patterns// add options to select indicators// add bells and whistles to make things fun// alerts,sounds,maybe poppup video animation or somethingdouble B = val1;
Print(B, " B high");
if(val2==0)
{
for (i=0; val2==0; i++)
{
val2=iFractals(NULL, 0, MODE_LOWER, i);
double A = val2;
if(A!=0)
{
Print(A, " A low");
}
}
}
traded=true;
}
val1=iFractals(NULL, 0, MODE_UPPER,3);
val2=iFractals(NULL, 0, MODE_LOWER,3);
if(val2 > 0 && traded == true && val1 == 0)
{
B = val2;
Print(B, " B low");
if(val1==0)
{
for (i=0; val1==0; i++)
{
val1=iFractals(NULL, 0, MODE_UPPER, i);
A = val1;
if(A!=0)
{
Print(A, " A high");
}
}
}
traded=false;
}
return(0);
}
//+------------------------------------------------------------------+
VAL1とVAL2をリセットしていないことが問題だと思います。ですから、高値と安値を見つけたら、それらをリセットする必要があります。
これで解決するといいんですが。最初のif(statement)がtrueだったら、またstart()を再開してコードの先頭からリセットして、val1とval2を再びリセットしていると思いました。
さて、私が考えた方法は - if(first statement) true then prints, then moves to text the next if(second) likely false then goes back to the top of start again and reset val1 and val2
プリントと値は正しく取得されているのにただ連続してプリントしているのですが、これはどうなのでしょうか?
今思うと、どのif(statement)でも、最も単純なEMAクロスでも、連続的に印刷されることを理解したことがありませんでした
あなたが投稿したコードをテストしてみますが、もし私がこれらの変数を印刷するprint文を追加して、それがまた連続印刷しないなら、私は驚きます
私は今日後でそれを試してみます
ありがとうございました。
この問題を解決するには、currentTimeとiTimeで何かをしなければならないのは確かです。
このように、ABCDのスキームがコードベースにあるはずなのですが、これはZigZagをベースにしたもの以外にはないようで、これが何かヒントを与えてくれるかどうか、今見直しているところです。しかし、これもまたインディケータなのです。
とにかく、私が &&macd や何かを追加すると、それは一度だけそれらを印刷し、それは本当に私を投げ出しています。
これはどうでしょう。
を追加したときに一度だけ印刷されます。
そして
というわけで、もう少し近づいてきたので、もう少し評価することができます。
これは、私にこれを修正するためのアイデアを提供し、あまりにも物事をリセットすることについてもう少し私の知識を広げたので、巨大な助けになった、すべての助けをありがとうございました。
私はこのことを自分のポケットにしまっておかなければなりません。
ありがとうございます。
ほとんどの場合、問題は発生していません。同じバーに上下のフラクタルが あるときだけ起こるようで、不確実な市場で時々起こります。これを回避する唯一の方法は、1バーに1回だけ計算を実行することです。
そうすれば、フラクタルが両方向に動いているときに誤った取引をすることはないはずです。
今やっている方法は、私のコードロジックの横にiCustomインジケータを追加しなければならないので、より複雑になります;そして、私のコードロジックとしてすでに動いているiCustomインジケータを使う代わりにすべてのベルとホイッスル
いずれにせよ、今日も素晴らしいニュースをありがとうございます。
ほとんどの場合、問題は発生していません。同じバーに上下のフラクタルがあるときだけ起こるようで、不確実な市場で時々起こります。これを回避する唯一の方法は、1バーに1回だけ計算を実行することです。
そうすれば、フラクタルが両方向に動いているときに誤った取引をすることはないはずです。
もう少し勉強しないといけませんね。テスト時にprintステートメントが連続するため、私のコードのほとんどが失われている場所かもしれません。
他にも方法はあると思いますが、このためのインジケータも作って、AtoBから線を引くなどする予定です。
もう少し勉強してみます。
多分誰かがそれをうまく利用することができます、私はそれが第一人者によってより良い改訂することができると確信しています。
とにかく、これは私が欲しいものを印刷してくれるし、Fiboレベルの外部値をいくつか追加したので、ユーザーはどのレベルが欲しいか選択できる。
フォーラムへの私の最初のコード投稿です。
このタスクを達成するための良い方法があれば教えてください。私のコードが何をしているかを示すためにiCustomインディケータを 追加するため、すでにコードが2倍になることが予想されますが、これは配列バッファなどのために二重にコーディングし、その後iCustomを使用することを意味します。
とにかく、私が得たものは次のとおりです。
私の限られた知識と経験で、ABCDのスキームで思いついたのはこれだけです。
私は、ユーザーが本当にトレンドの中に滞在するために、以前のAやBを破らないレベルにAやBを変更することができるように、それにもっと取り組むつもりです。
誰かがこれを使用することができますまたはおそらくいくつかのより良いアイデアでそれを追加することができます願っています。
今私はそれに追加するキャンドルパターンと指標か何か、そしてポップアップ警告、多分音といくつかのポップアップビデオは楽しいかもしれないに取り組みます。
すべてのヘルプのためにありがとうございます。
Доброго времени суток уважаемые форумчане!
Меня зовут Герман, мне 23 года, я вляюсь трейдером компании " Инстафорекс "Инмпании".
Помогите в поиске нужного скрипта!Скрипт нужен для сетки отложенных ордеров.
Доброго времени суток уважаемые форумчане!
Меня зовут Герман, мне 23 года, я вляюсь трейдером компании " Инстафорекс "Инмпании".
Помогите в поиске нужного скрипта!Скрипт нужен для сетки отложенных ордеров.
そして英語で投稿してください。
Happy trading