[アーカイブ!】どんなルーキーの質問でも、フォーラムを散らかさないように。プロフェッショナルの皆さん、通り過ぎないでください。あなたなしではどこにも行けない - 2. - ページ 287 1...280281282283284285286287288289290291292293294...537 新しいコメント Andrey F. Zelinsky 2011.03.30 05:42 #2861 Sorento: 2011.03.30 08:40:21 USDCAD,M1: 3 4 4.00000000 ask=0.9729 bid=0.9725 int Ret[3]; Ret[0]=NormalizeDouble((Ask-Bid)/Point,0); Print (Ret[0]," ",(Ask-Bid)/Point," ask=",Ask," bid=",Bid); 次のように動作します。 VonDo Mix 2011.03.30 05:43 #2862 abolk: こんな感じです。 ありがとうございました。 Andrey F. Zelinsky 2011.03.30 05:47 #2863 Sorento: ありがとうございました。 一般に、MT開発者はドキュメントにセクションを設け、問題と正規化の必要性を詳細に説明する時期に来ています。 この状況について、ドキュメントには強調されていない控えめな例しかありません。 int i = 1 / 2.0; // выражение приводится к типу double, затем приводится к целевому типу int, результат: 0 Section "Type Approach"https://docs.mql4.com/ru/basis/types/casting FoxUA 2011.03.30 06:44 #2864 Roger: FoxUAへ。 注文3(売り)が決済されても、その注文1(買い)はStop Lossで決済されたことをセマフォしているので、Total=1なので、2つ続けて注文が出されている。 つまり、このような効果をなくすために、total 1を何に置き換えたらいいのか、その解決策を探しているのです。 Lazar Buga 2011.03.30 07:00 #2865 スクリプトが添付されているチャートのウィンドウだけでなく、他の通貨ペアでも注文を開くことができるのか、他のどの通貨ペアで開く必要があるのか、きちんと規定されていれば教えていただけますでしょうか? Andrey F. Zelinsky 2011.03.30 07:04 #2866 CreAndr: スクリプトが添付されているチャートのウィンドウだけでなく、他の通貨ペアでも注文を開くことができるのか、他のどの通貨ペアで開く必要があるのか、きちんと規定されていれば教えていただけますでしょうか? もしかしたら Lazar Buga 2011.03.30 07:17 #2867 abolk: もしかしたら#property show_inputs //-------------------------------------------------------------------- extern double TakeProfit = 1000; extern double Lots = 0.01; extern double StopLoss = 500.0; extern int MagNum = 1974; int slip = 100; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int start() { //::::Открытие и выставление ордеров OrderSend("EURUSD",OP_BUY,Lots,NormalizeDouble(Ask,Digits),slip,NormalizeDouble(Bid - StopLoss*Point,Digits),NormalizeDouble(Ask + TakeProfit * Point,Digits),"CleverEA",MagNum,0,Green); OrderSend("GBPUSD",OP_BUY,Lots,NormalizeDouble(Ask,Digits),slip,NormalizeDouble(Bid - StopLoss*Point,Digits),NormalizeDouble(Ask + TakeProfit * Point,Digits),"CleverEA",MagNum,0,Green); OrderSend("USDJPY",OP_SELL,Lots,NormalizeDouble(Bid,Digits),slip,NormalizeDouble(Ask + StopLoss*Point,Digits),NormalizeDouble(Bid - TakeProfit * Point,Digits),"CleverEA",MagNum,0,Red); OrderSend("USDCHF",OP_SELL,Lots,NormalizeDouble(Bid,Digits),slip,NormalizeDouble(Ask + StopLoss*Point,Digits),NormalizeDouble(Bid - TakeProfit * Point,Digits),"CleverEA",MagNum,0,Red); return (0); } が、このオプション、効くのか効かないのか? ファイル: usdsellmulti.mq4 2 kb [Archive!] Any rookie question, [アーカイブ!】どんなエキスパートやインジケーターでも無料で書きます。 ファイヤーバードEA 削除済み 2011.03.30 07:22 #2868 CreAndr: OrderSend("EURUSD",OP_BUY,Lots,NormalizeDouble(Ask,Digits),slip,NormalizeDouble(Bid - StopLoss*Point,Digits),NormalizeDouble(Ask + TakeProfit * Point,Digits)," CleverEA",MagNum,0,Green); が、このオプション、効くのか効かないのか? いいえ、ハイライトした内容は、現在のツールから返されます。ビッド、アスク、ディジットなどのリクエストは、MarketInfo で明示的にツールを指定して行う必要があります。 Andrey F. Zelinsky 2011.03.30 07:22 #2869 CreAndr: #property show_inputs //-------------------------------------------------------------------- extern double TakeProfit = 1000; extern double Lots = 0.01; extern double StopLoss = 500.0; extern int MagNum = 1974; int slip = 100; //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ int start() { //::::Открытие и выставление ордеров OrderSend("EURUSD",OP_BUY,Lots,NormalizeDouble(Ask,Digits),slip,NormalizeDouble(Bid - StopLoss*Point,Digits),NormalizeDouble(Ask + TakeProfit * Point,Digits),"CleverEA",MagNum,0,Green); OrderSend("GBPUSD",OP_BUY,Lots,NormalizeDouble(Ask,Digits),slip,NormalizeDouble(Bid - StopLoss*Point,Digits),NormalizeDouble(Ask + TakeProfit * Point,Digits),"CleverEA",MagNum,0,Green); OrderSend("USDJPY",OP_SELL,Lots,NormalizeDouble(Bid,Digits),slip,NormalizeDouble(Ask + StopLoss*Point,Digits),NormalizeDouble(Bid - TakeProfit * Point,Digits),"CleverEA",MagNum,0,Red); OrderSend("USDCHF",OP_SELL,Lots,NormalizeDouble(Bid,Digits),slip,NormalizeDouble(Ask + StopLoss*Point,Digits),NormalizeDouble(Bid - TakeProfit * Point,Digits),"CleverEA",MagNum,0,Red); return (0); } しかし、このオプションはうまくいくかどうか? MarketInfo 関数 (https://docs.mql4.com/ru/common/MarketInfo)を使用する必要があります。 このページには、あなたの問題の例が掲載されています。 Lazar Buga 2011.03.30 07:28 #2870 よろしくお願いします。 1...280281282283284285286287288289290291292293294...537 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
2011.03.30 08:40:21 USDCAD,M1: 3 4 4.00000000 ask=0.9729 bid=0.9725
次のように動作します。
こんな感じです。
ありがとうございました。
一般に、MT開発者はドキュメントにセクションを設け、問題と正規化の必要性を詳細に説明する時期に来ています。
この状況について、ドキュメントには強調されていない控えめな例しかありません。
Section "Type Approach"https://docs.mql4.com/ru/basis/types/casting
FoxUAへ。
注文3(売り)が決済されても、その注文1(買い)はStop Lossで決済されたことをセマフォしているので、Total=1なので、2つ続けて注文が出されている。
つまり、このような効果をなくすために、total 1を何に置き換えたらいいのか、その解決策を探しているのです。
スクリプトが添付されているチャートのウィンドウだけでなく、他の通貨ペアでも注文を開くことができるのか、他のどの通貨ペアで開く必要があるのか、きちんと規定されていれば教えていただけますでしょうか?
もしかしたら
もしかしたら
//--------------------------------------------------------------------
extern double TakeProfit = 1000;
extern double Lots = 0.01;
extern double StopLoss = 500.0;
extern int MagNum = 1974;
int slip = 100;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
//::::Открытие и выставление ордеров
OrderSend("EURUSD",OP_BUY,Lots,NormalizeDouble(Ask,Digits),slip,NormalizeDouble(Bid - StopLoss*Point,Digits),NormalizeDouble(Ask + TakeProfit * Point,Digits),"CleverEA",MagNum,0,Green);
OrderSend("GBPUSD",OP_BUY,Lots,NormalizeDouble(Ask,Digits),slip,NormalizeDouble(Bid - StopLoss*Point,Digits),NormalizeDouble(Ask + TakeProfit * Point,Digits),"CleverEA",MagNum,0,Green);
OrderSend("USDJPY",OP_SELL,Lots,NormalizeDouble(Bid,Digits),slip,NormalizeDouble(Ask + StopLoss*Point,Digits),NormalizeDouble(Bid - TakeProfit * Point,Digits),"CleverEA",MagNum,0,Red);
OrderSend("USDCHF",OP_SELL,Lots,NormalizeDouble(Bid,Digits),slip,NormalizeDouble(Ask + StopLoss*Point,Digits),NormalizeDouble(Bid - TakeProfit * Point,Digits),"CleverEA",MagNum,0,Red);
return (0);
}
が、このオプション、効くのか効かないのか?
OrderSend("EURUSD",OP_BUY,Lots,NormalizeDouble(Ask,Digits),slip,NormalizeDouble(Bid - StopLoss*Point,Digits),NormalizeDouble(Ask + TakeProfit * Point,Digits)," CleverEA",MagNum,0,Green);
が、このオプション、効くのか効かないのか?
いいえ、ハイライトした内容は、現在のツールから返されます。ビッド、アスク、ディジットなどのリクエストは、MarketInfo で明示的にツールを指定して行う必要があります。
//--------------------------------------------------------------------
extern double TakeProfit = 1000;
extern double Lots = 0.01;
extern double StopLoss = 500.0;
extern int MagNum = 1974;
int slip = 100;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
int start()
{
//::::Открытие и выставление ордеров
OrderSend("EURUSD",OP_BUY,Lots,NormalizeDouble(Ask,Digits),slip,NormalizeDouble(Bid - StopLoss*Point,Digits),NormalizeDouble(Ask + TakeProfit * Point,Digits),"CleverEA",MagNum,0,Green);
OrderSend("GBPUSD",OP_BUY,Lots,NormalizeDouble(Ask,Digits),slip,NormalizeDouble(Bid - StopLoss*Point,Digits),NormalizeDouble(Ask + TakeProfit * Point,Digits),"CleverEA",MagNum,0,Green);
OrderSend("USDJPY",OP_SELL,Lots,NormalizeDouble(Bid,Digits),slip,NormalizeDouble(Ask + StopLoss*Point,Digits),NormalizeDouble(Bid - TakeProfit * Point,Digits),"CleverEA",MagNum,0,Red);
OrderSend("USDCHF",OP_SELL,Lots,NormalizeDouble(Bid,Digits),slip,NormalizeDouble(Ask + StopLoss*Point,Digits),NormalizeDouble(Bid - TakeProfit * Point,Digits),"CleverEA",MagNum,0,Red);
return (0);
}
しかし、このオプションはうまくいくかどうか?
MarketInfo 関数 (https://docs.mql4.com/ru/common/MarketInfo)を使用する必要があります。
このページには、あなたの問題の例が掲載されています。