[ARCHIVE!] フォーラムを散らかさないように、どんなルーキーの質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしではどこにも行けない - 4. - ページ 510 1...503504505506507508509510511512513514515516517...631 新しいコメント TarasBY 2012.11.15 16:32 #5091 hoz: 問題はこれです。日足、すなわちTF D1上のバーの開始時に正確にトリガーされる指値のペンディングオーダーを置きたい場合。どのように実装すればよいのでしょうか?その理屈はよくわからない。結局のところ、私は単純なリミッターを設置する必要はなく、特定の時間、つまりその日の新しいバーの オープニングに正確に動作するリミッターを設置する必要があるのです。 まず、用語で決める - "特定の時間に正確にトリガーされるリミット" - "リミットトリガー "とはどういう意味ですか? そして、この魔法のプロセスを説明する - 実際の生活の中でそれを実装することが容易になります。 念のため、保留中の注文について 読んでください。 TarasBY 2012.11.15 16:35 #5092 Dimka-novitsek:こんばんは!(^o^)困ったなあ。テスターで2つの注文を開いているのですが、1つはtakeprofit付き、もう1つは全くなしです。二人とも一度にprofitを取るんだ!!!!テスターで8回もここを通過しているんですよ。理解できない! オープンオーダーのクローンを作る理由とは?もっと大きなロットでONEオーダーを開くことはできないのでしょうか?;) Dimka-novitsek 2012.11.15 16:39 #5093 戦略なんです。今度はスクリーンショットを撮ってみようかな。あ、お兄ちゃんが来た、間に合わない。変な状況ですけどね。 Swat 2012.11.15 17:17 #5094 は、このように datetime フォーマットを比較するのが正しいのでしょうか?datetime t=OrderCloseTime(); datetime t1=Time[1]; datetime t0=Time[0]; if(t1>=t&&t<t0){ p++; } Роман 2012.11.15 17:20 #5095 Dimka-novitsek: これは戦略です。今度はスクリーンショットを撮ってみようかな。あ、お兄ちゃんが来た、間に合わない。奇妙な状況だ。 Dimanの時は、PERSONAL CAMPAIGNを使えるようになるのでしょうか(笑)。実戦で1年間儲かったか?STARTの金額が割り振られているようなものですね(笑) Viktar Dzemikhau 2012.11.15 17:27 #5096 TarasBY: まず、用語の定義ですが、「ある時刻に正確にトリガーされるリミット」とは、どういう意味でしょうか。そして、この魔法のプロセスについて詳しく説明すればするほど、実生活でそれを実行するのが容易になります。 はい、言い間違えました。つまり、基本的に。ここがはっきりしていれば、振り子は価格にしか乗せられない。以下はそのコードです。//+------------------------------------------------------------------+ //| 2 Days.mq4 | //| hoz | //| | //+------------------------------------------------------------------+ #property copyright "hoz" #property link "" extern string A1 = "Объем сделки. Если i_lots = 0, то считается в процентах"; extern double i_lots = 0.1; extern string A2 = "Управление рисками"; extern double i_sl = 15, i_tp = 10; extern int slippage, price_b, price_a; extern string Z1 = "=== Прочие настройки ==="; extern string i_openOrderSound = "ok.wav"; extern int i_magicNumber = 400021; double firstBarClosed, secondBarClosed; // Идентификаторы типов сигналов #define SIGNAL_BUY 1 // Сигнал на покупку #define SIGNAL_SELL -1 // Сигнал на продажу #define SIGNAL_NO 0 // Нет сигнала #include <stderror.mqh> int init() { return(0); } //+------------------------------------------------------------------+ int deinit() { return(0); } //+------------------------------------------------------------------+ //+-------------------------------------------------------------------------------------+ //| Получение рыночных данных | //+-------------------------------------------------------------------------------------+ //FindOrders() //+-------------------------------------------------------------------------------------+ //| Получение рыночных данных | //+-------------------------------------------------------------------------------------+ void GetMarketInfo() { price_b = MarketInfo(Symbol(),MODE_BID); price_a = MarketInfo(Symbol(),MODE_ASK); } //+-------------------------------------------------------------------------------------+ //| Открытие позиций | //+-------------------------------------------------------------------------------------+ bool Trade(int signal, double& priceForBuy, double& priceForSell) { // FindOrders(); priceForBuy = NormalizeDouble(priceForBuy,Digits); priceForSell = NormalizeDouble(priceForSell,Digits); if(!IsTesting()) GetMarketInfo(); if (signal == SIGNAL_BUY) if (!OrderSend(Symbol(),OP_BUYLIMIT, i_lots,priceForBuy,slippage,i_sl,i_tp,"",i_magicNumber,3)) return(false); if (signal == SIGNAL_SELL) if (!OrderSend(Symbol(),OP_SELLLIMIT,i_lots,priceForSell,slippage,i_sl,i_tp,"",i_magicNumber,3)) return(false); return(true); } //+-------------------------------------------------------------------------------------+ //| Получение цены входа в покупку или в продажу | //+-------------------------------------------------------------------------------------+ double GetPriceToInput() { firstBarClosed = iClose(Symbol(),1440,2); secondBarClosed = iClose(Symbol(),1440,1); { double deltaForSell = (firstBarClosed - secondBarClosed)/2; double priceForSell = secondBarClosed - deltaForSell; return(priceForSell); } { double deltaForBuy = (secondBarClosed - firstBarClosed)/2; double priceForBuy = secondBarClosed + deltaForBuy; return(priceForBuy); } } //+-------------------------------------------------------------------------------------+ //| Генерация сигнала закрытия, покупки или продажи | //+-------------------------------------------------------------------------------------+ int GetSignal() { if(firstBarClosed > secondBarClosed) return(SIGNAL_BUY); if(firstBarClosed < secondBarClosed) return(SIGNAL_NO); } //+-------------------------------------------------------------------------------------+ //| Функция Start | //+-------------------------------------------------------------------------------------+ int start() { int signal = GetSignal(); if (signal != SIGNAL_NO) if(!Trade(signal, priceForBuy, priceForSell)) return(0); return(0); } 実は、この問題はそれほど複雑なものではありません。Trade(int signal, double& priceForBuy, double& priceForSell) 関数に正式なパラメータ priceForBuy とpriceForSell を渡しました。パラメータはリンクで渡される。このように行われているのではないでしょうか?機能はローカルであり、グローバルではない。コンパイル中にエラーが発生しました。'priceForBuy' - variable not defined E:\Insall'd soft's\Forex\Admiral Markets\experts\2 Days.mq4 (117, 25) 'priceForSell' - variable not defined E:\Insall'd soft's\Forex\Admiral Markets\experts\2 Days.mq4 (117, 38) エラーの発生箇所は?これらのパラメータは、関数GetPriceToInput() ですでに定義されています。 削除済み 2012.11.15 17:42 #5097 プレッツェル&アフターダブルは何のためにあるのでしょうか(正直わかりません)。 Роман 2012.11.15 17:43 #5098 YOUNGA: と、プレッツェル&アフターダブルは何のためにあるのか(正直わからない)。それは、パラメータを参照渡ししたいという強迫観念です。:-) Viktar Dzemikhau 2012.11.15 17:45 #5099 Roman.:それは、パラメータを参照渡ししたいという強迫観念です。:-) 他に方法は?100回計算するのも同じ? TarasBY 2012.11.15 17:49 #5100 hoz: そう、私が間違っていたのだ。一般的にはここがはっきりしていれば、価格のみで注文を設定することができます。以下はそのコードです。この問題は、基本的に単純なものではありません。Trade(int signal, double& priceForBuy, double& priceForSell) 関数に正式なパラメータpriceForBuy とpriceForSell を渡しました。パラメータはリンクで渡される。このように行われているのではないでしょうか?機能はローカルであり、グローバルではない。コンパイル中にエラーが発生しました。エラーの発生箇所は?これらのパラメータは、GetPriceToInput() 関数ですでに定義してあります。 変数 priceForBuy と priceForSell が見つかりませんでした-とコンパイラは言います。変数の値を参照渡しする方法を考える必要があります。 1...503504505506507508509510511512513514515516517...631 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
問題はこれです。日足、すなわちTF D1上のバーの開始時に正確にトリガーされる指値のペンディングオーダーを置きたい場合。どのように実装すればよいのでしょうか?その理屈はよくわからない。結局のところ、私は単純なリミッターを設置する必要はなく、特定の時間、つまりその日の新しいバーの オープニングに正確に動作するリミッターを設置する必要があるのです。
こんばんは!(^o^)困ったなあ。テスターで2つの注文を開いているのですが、1つはtakeprofit付き、もう1つは全くなしです。
二人とも一度にprofitを取るんだ!!!!
テスターで8回もここを通過しているんですよ。理解できない!
これは戦略です。今度はスクリーンショットを撮ってみようかな。あ、お兄ちゃんが来た、間に合わない。奇妙な状況だ。
Dimanの時は、PERSONAL CAMPAIGNを使えるようになるのでしょうか(笑)。
実戦で1年間儲かったか?STARTの金額が割り振られているようなものですね(笑)
まず、用語の定義ですが、「ある時刻に正確にトリガーされるリミット」とは、どういう意味でしょうか。そして、この魔法のプロセスについて詳しく説明すればするほど、実生活でそれを実行するのが容易になります。
はい、言い間違えました。つまり、基本的に。ここがはっきりしていれば、振り子は価格にしか乗せられない。
以下はそのコードです。
実は、この問題はそれほど複雑なものではありません。Trade(int signal, double& priceForBuy, double& priceForSell) 関数に正式なパラメータ priceForBuy とpriceForSell を渡しました。パラメータはリンクで渡される。このように行われているのではないでしょうか?機能はローカルであり、グローバルではない。
コンパイル中にエラーが発生しました。
エラーの発生箇所は?これらのパラメータは、関数GetPriceToInput() ですでに定義されています。
と、プレッツェル&アフターダブルは何のためにあるのか(正直わからない)
。
それは、パラメータを参照渡ししたいという強迫観念です。:-)
それは、パラメータを参照渡ししたいという強迫観念です。:-)
他に方法は?100回計算するのも同じ?
そう、私が間違っていたのだ。一般的にはここがはっきりしていれば、価格のみで注文を設定することができます。
以下はそのコードです。
この問題は、基本的に単純なものではありません。Trade(int signal, double& priceForBuy, double& priceForSell) 関数に正式なパラメータpriceForBuy とpriceForSell を渡しました。パラメータはリンクで渡される。このように行われているのではないでしょうか?機能はローカルであり、グローバルではない。
コンパイル中にエラーが発生しました。
エラーの発生箇所は?これらのパラメータは、GetPriceToInput() 関数ですでに定義してあります。