[ARCHIVE] フォーラムを散らかさないように、どんなルーキーでも質問してください。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 3. - ページ 86

 
nemo811:
ありがとうございます。それは正しいことなのでしょうか?

はい、そう思います。
 
いいえ。For文 の前にSum=0を配置する必要があります。
 
6166961669:

EAを注文すると、両方のチャートで動作させることができるようになりますね。

あ、あと一般的には2種類の通貨で1回(2つのチャートで同時に)動作させて、それぞれ違う取引で開いたりすることは可能です。

例えば、1枚目で買って、2枚目で売ったとか?

そして、一方のトランザクションのクローズ時に、すでにオープンしているトランザクションの反対をオープンしました...。

そして、誰かが知っているかもしれないし、そのようなExpert Advisorがあるかもしれない、ちょうど良いアイデアが浮かんだのです......。


何でもできる。直筆でお願い します。取引しよう。
 
FOReignEXchange:
いやはや。Sum=0はFor演算子の前に置く。

すべてうまくいっている。ありがとうございます。その中で、もう一つミスを発見しました。

もう少しやって他に何か出てこないか、その結果を一般的なデータベースに掲載するつもりです。

また、お世話になります。

 
nemo811:

すべてうまくいっている。ありがとうございます。その中で、もう一つミスを発見しました。

もう少しやって他に何か出てこないか、その結果を一般的なデータベースに掲載するつもりです。

また、いろいろとお世話になりました。


どういたしまして。どういたしまして。
 

宛先:FOReignEXchange

もし、この時点で私がプログラムの実行中に

extern bool Buy = true;

extern double PriceBuy = 0;

int start()
{
if (Buy)
{OrderSend(Symbol(),OP_BUY,0.01,Ask,3,Bid-50*Point,Ask+50*Point);
PriceBuy = ??????????????};;;;;;;;;;;;;;}?

return;
}.

割り当てを指定する」 PriceBuy = ????????????;" - "PriceBuy = Ask;".

プログラムの進行(指定した条件で新規に注文を出すなど)に応じて、確実に実行できますか?

"PriceBuy "は同じ価値になるのか?

 
OTPOK:

宛先:FOReignEXchange

もし、この時点で私がプログラムの実行中に

extern bool Buy = true;

extern double PriceBuy = 0;

int start()
{
if (Buy)
{OrderSend(Symbol(),OP_BUY,0.01,Ask,3,Bid-50*Point,Ask+50*Point);
PriceBuy = ??????????????};;;;;;;;;;;;;;}?

return;
}.

割り当てを指定する」 PriceBuy = ????????????;" - "PriceBuy = Ask;".

プログラムの進行(指定した条件で新規に注文を出すなど)に応じて、確実に実行できますか?

"PriceBuy "は同じ価値になるのか?


extern double PriceBuy = 0 はどのようにすればよいのでしょうか?グローバル 変数には定数のみが指定されます。そこから完全に削除された場合、答えは次のようになります。

他の場所で変数PriceBuyに他の値が割り当てられていない場合、PriceBuy = Ask;の値は、計算が再び新しい注文開始に達するまで有効である。この変数に新しい値PriceBuy = Askが代入され、これは新しい注文を出す時点のAsk価格に対応します。

何が問題なのか?明確である。

 
FOReignEXchange:


extern double PriceBuy = 0 どうですか?グローバル変数に指定するのは定数のみです。

私たちビギナーを混乱させないようにお願いします。

第一に、この場合の変数PriceBuyは外部変数である。そして、外部変数は定義上、グローバルです!

2つ目:EAのコード内で外部変数に任意の値を代入することは可能ですが、その場合、(外部変数であることの)意味を失います。そして、グローバル変数は、コード全体(スコープ:プログラム全体)の中で、その値を保存したり変更したりするために正確に使用さ れます。続きを読む

第三に、OrderSendの取引機能でSlippageがあり、買い注文を出したい場合、OrderSend機能で出した取引注文の執行には時間がかかり、価格がその値から離れることがあるため、注文は必ずしもAsk価格で開くとは限りません。

前ページに示したコードの方が正しいでしょう。

廃止する
extern bool Buy = true;
extern double PriceBuy = 0; 
int start() 
{
   if(Buy) 
   {
     int ticket=OrderSend(Symbol(),OP_BUY,0.01,Ask,3,Bid-50*Point,Ask+50*Point);
     if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))
        PriceBuy=OrderOpenPrice();
   }
   return(0); 
}
 
MaxZ:

したがって、より正しいコードは、前ページですでに引用したものであり、それを引用する。


"好きなように "です。手書きはみんな違う。字は正しいのかもしれないが、私には雑に見える。

私ならそんなやり方はしない。

まず、なぜそこで変数を宣言しなければならないのか、その意味が私にもよくわかりません。

次に、OrderSend関数の 直後にPriceBuy = Ask;という行があります。そして、私が理解する限り、この関数の実行が終了すると同時に、計算が次の行にすぐに渡されます。Askの価格は変えられないと思う。プログラムの正常な動作に支障がなければ、文字数を減らして、すべてできるだけシンプルに書くようにしています。私はあなたと同じように値を割り当てることができます、私はここで問題を見ません。最初に思いついた、一番シンプルなことを書きました。

 
そうか、そうか。変数名を間違えました。それは認めるよ。君の理論はいい。しかし、あなたの論理はそうではありません。