[アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. - ページ 487

 
tol64:


))))いや、マジシャンを辞めた方がいいと思うんです。そして、保留の注文を残すだけ。

正確には、必要な魔法記号を残すことです。また、複数のEAを異なるチャートで使用する場合は、シンボルも含めてチェックする必要があります。まだ、ここまで来ていないんです。))


通常、シンボルとマジックをチェックします。シンボルは異なる楽器で使用し、マジックを変更しないようにし、マジックは一つの楽器で異なる時間枠で使用するようにします。
 
ブローカーjmt:0は夏と冬で同じ色になるか教えてください。
 
FOReignEXchange:

私はマジックを一切使いません。一度に数点しかない場合もありますが。チケットを使っています。OrderSelectから確認する方がはるかに簡単です。そして、OrderSendという関数が明確になる。まあ、誰だって自分の字は自分で書くものですからね。個人的には、マジックを使わなくても困ったことはない。

チケットはどこにも行きません。便利なんです。

その通り...:)部分的に開いているポジションを閉じる。そして、このポジションのために持っているチケットによって、ストップやテイクを変えてみてください。そうすれば、最高のものが手に入ります。:)

例:1.0ロットのオープンポジションがあり、チケットは1番です。このポジションの0.5ロットを決済し、残りの0.5ロットを保持する必要があります。

証券会社の行為

1.1番ポジションをフルボリュームでクローズ(ロット1.0)

2) 2番目のポジションを0.5ロットの数量で建てる。

あなたには、ポジション#1を一部決済して、残りを市場に残しているように見えるでしょう。このポジションのチケットだけは、思っていたのと違う...。

 
FOReignEXchange:


理解できない?ヘルプを見ていると、そこではOrderSelect()はconditionを使っていますね。そして、トゥルーがないところは見たことがない。

ifは条件演算子です。そして、括弧の中に条件があるはずです。こっちの方が論理的だと思うんだけどな。差はないかもしれませんが。

ロシア語で例えてみましょう。IMHO - コードの演算子を話し言葉に置き換えて精神的に読む方が便利です。

if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==false) break;

ここにあるのは

順番が決まって いない 場合は ループを中断 する。

今すぐ

if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES)) break;

こっちの方が便利なんですよ。

オーダーが選択されていない場合は、ループを中断 する。

同じものは絶対に同じですが、読みやすくなっています。そして、書き込みが少なくなっている...。

また、不要なものをすべて取り除き、さらに少ないコードにすることも可能です。

if(!OrderSelect(i,SELECT_BY_POS)) break;

なぜ?成行注文を選択しているので、デフォルトではMODE_TRADESなので、OrderSelect()関数の パラメータで省略できる...ということです。

あ、そうだ...:)

 
artmedia70:

やれやれ...。:)


)))

なるほど。朝だから、おはようございます))

もうひとつ、一見して理解できない異常があるんです。最もシンプルな操作。

double High_1  = NormalizeDouble(iHigh(Symbol(),Timeframe,1),Digits);
double new_val = NormalizeDouble(High_1 + PlsMns_point*Point,Digits);

日記を見るとわかるのですが

しかも文字通り鏡像で。

 double Low_1   = NormalizeDouble(iLow(Symbol(),Timeframe,1),Digits);
 double new_val = NormalizeDouble(Low_1 - PlsMns_point*Point,Digits);

日誌にはこんな "図 "が載っている。

外部変数PlsMns_point int 型である。関数に渡される。この誤解を解くにはどうしたらいいのでしょうか?))

 

外部変数 PlsMns_point は int 型である。

最初のログエントリから、Double型、intは整数のようです。

 
Stells:

外部変数 PlsMns_point は int 型である。

最初のログエントリによると、Double型、intは整数です。


そして、Pointと 掛け合わせると、変換が起こるようです。しかし、これはダブルでも 試したので問題ない。

追伸:しかも、同じバリエーションが2つも。違いはミラーリングだけです。なぜそうなのか?

 

この値が抜けているのではないでしょうか。

double Low_1 =NormalizeDouble(iLow(Symbol(),Timeframe,1),Digits);

履歴をダウンロードする

 
tol64:


)))

なるほど。朝だから、おはようございます))

一見して理解できない異常がまた一つ増えました。最もシンプルな操作。

日記を見るとわかるのですが

しかも文字通り鏡像で。

日誌にはこんな "図 "が載っている。

外部変数PlsMns_point int 型である。関数に渡される。この誤解を解くにはどうしたらいいのでしょうか。))

変数 High_1 と Low_1 の値も表示します。一般的には、関数に渡された値をプリントアウトし、戻り値もプリントアウトします。 そうすると、どこから始めればいいのかがわかります。自分が確信している変数が、まったく予期しない値をとることがよくある。その時、自分の犯したミスを見つけることができるのです。
 

こんばんは、EAのエラーで時々巨大な値に詰まるログファイルの容量を変更(調整、クリア)したいのですが、どうすればよいでしょうか?Expert Advisor 自体でこれを行う方法が必要です。