どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - 6. - ページ 383

 
clubsmi:

MQL4でパーセンテージを計算する方法を教えてください。

例えば、x=10+3% のような場合、プログラム的にどう書けばいいのでしょうか?

参考書にも載っていない。



x=10*1.03
 
r772ra:


x=10*1.03



しかし、毎回再計算するのではなく、自分でパーセンテージを計算する関数が必要です。

y=3; //刻み目 ごとに変化し続ける数値

x=10+yP; // Pの代わりにパーセンテージが必要です。

 
if(Line_7 > Lines_1 && Lines_1 > Line_6)
{
OrderSend(Symbol(),OP_BUY,Lots_Typ,Ask,5,0,0);
}
if(AccountProfit() > 50)
{ 
OrderClose(Symbol(),5,Ask,0);
}
論理的なコードチェーン。

1 行7が行1を上回り、行1が行6を上回った場合、
2 次に
3 終値で、Lots_Typ ボリューム、5pipsのスリッページの可能性、SLとTPなし、で買い注文が 発注されます。

1 この口座の潜在的な利益が50ドルより高い場合、
2 その後、
3 すべての注文は、その特性(数量、買い/売り、...)に関係なく、クローズされます。

ロジックチェーンは正しく並んでいるが、ロジックチェーン上のコードが正しく並んでいない。

OrderClose(Symbol(),5,Ask,0);
間違いはここにある。
上記のコードと相対して、論理的な連鎖を構築すると、次のようになる。
終値で5ロットの注文を決済し、スリッページが0pipsの可能性がある場合。

どのように修正するのか?アドバイスをお願いします。
 
clubsmi:



OK!毎回再計算するのは無理なので、自分でパーセントを計算する関数が必要です。

y=3; // 刻み目ごとに常に変化する数値

x=10+yP; //Pの代わりにパーセンテージが必要。mqlでは書けない。

何に対して
 
clubsmi:



OK!毎回再計算するのは無理なので、自分でパーセントを計算する関数が必要です。

y=3; // 刻み目ごとに常に変化する数値

x=10+yP; // P の代わりにパーセンテージが必要です。

//+----------------------------------------------------------------------------+
double Percent(double x, double y) {return(x*0.01*y);}
//+----------------------------------------------------------------------------+

x - 数値,y - 必要なパーセンテージ

数xとそれに対する希望する割合をyに渡すと、数xに対する割合yが出力されます。

 
Link_x:
論理的なコードチェーン。

1 7行目が1行目より上にある場合、1行目を6行目より上にした状態。
2次に
3 買い注文を数量Lots_Typ、5ポイントのスリッページの可能性、SLとTPなしで、終値で建てる。

1 この口座の潜在的な利益が50ドル以上である場合。
2次に
3 すべての注文は、そのプロパティ(数量、買い/売り、...)に関係なく、クローズされます。

ロジックチェーンは正しいが、ロジックチェーンによるコードが正しくない。

間違いはここにある。
上記のコードと相対して、論理的な連鎖を構築すると、次のようになる。
終値で5ロットの注文を決済し、スリッページが0pipsの可能性がある場合。

どのように修正するのか?アドバイスをお願いします。

拝啓、Documentationをよくお読みください。

具体的には

boolOrderClose() int ticket, double lots, double price, int slippage, color Color=CLR_NONE)
ポジションを閉鎖する。関数が正常に終了した場合に TRUE を返します。関数が失敗した場合は FALSE を返します。エラーの情報を得るには、関数GetLastError() を呼び出します。
パラメータ
チケット - 注文の一意のシリアル番号。
おおめに - 決算発表のロット数
価格 - 終値です。
ずれ - 最大スリッページの値をpipsで指定します。
カラー - チャート上の終値の矢印の色。パラメータがない場合、またはその値がCLR_NONEの場合、チャート上に矢印は表示されません。
 if(iRSI(NULL,0,14,PRICE_CLOSE,0)>75) { OrderClose(order_id,1,Ask,3,Red); return(0); } }.

 
r772ra:

拝啓、Documentationをよくお読みください。

具体的には

boolOrderClose() int ticket, double lots, double price, int slippage, color Color=CLR_NONE)
ポジションを閉鎖する。関数が正常に終了した場合に TRUE を返します。関数が失敗した場合は FALSE を返します。エラーの情報を得るには、関数GetLastError() を呼び出します。
パラメータ
チケット - 注文の一意のシリアル番号。
おおめに - 決算発表のロット数
価格 - 終値です。
ずれ - 最大スリッページの値をpipsで指定します。
カラー - チャート上の終値の矢印の色。パラメータがない場合、またはその値がCLR_NONEの場合、チャート上に矢印は表示されません。

全部知っています。
注文の特性にかかわらず、すべての注文が終了するようにするにはどうしたらよいですか?
 
Link_x:
全部知っています。
注文の特徴にかかわらず、すべての注文が終了するようにするにはどうすればよいですか?

いいことだ

OrderClose(Symbol(),5,Ask,0) //зто твое

OrderClose(order_id,1,Ask,3,Red); // А зто пример из документации

// Найди отличие
 
artmedia70:

x - 数値,y - 必要なパーセンテージ

数値 x と希望する割合 y を渡すと、数値 x に対する割合 y が出力されます。



ちょうど私が必要としていたものです、ありがとうございました... 簡単すぎて、半日考え込んでしまいました! またよろしくお願いします。

 
r772ra:

いいことだ


私の例では、ランダムな注文番号、ボリューム5、終値で、スリッページ0、矢印なし。 資料例:order_idで注文番号計算、出来高は1、終値で、スリッページ3で、矢印は赤です。 1 order_id 計算あり - order_number 計算なし 2 volume (1) - volume (5) 3 slippage (3) - slippage (0) 4 arrow red - no arrow Differences found. さて、タスクに戻ろう。 タスク 1 すべての未決済注文を例外なく決済するコードを作成します。 私の推理です。 このコードを書くことは可能なのですが、「どうやって? 1 - すべてのオープンオーダーを追跡するコードを作成します(総量、オーダークラスタ番号、買い/売り、許容スリッページ)。 2 - 注文を開き、これらの注文をすべて監視するコードにデータを送信するコードを作成します(一種のデータベースが作成されます)。 3 - 特定の条件下ですべての注文をクローズし、「特異なデータベース」から未使用のデータのみを取得するコードを作成します。 データの再利用はしない。 この方法でもいいのですが、もうひとつ、面倒でないバリエーションがあると思います。 だからこそ、「どうやって?