MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 155 1...148149150151152153154155156157158159160161162...1953 新しいコメント Artyom Trishkin 2017.03.19 09:40 #1541 Alexander Antoshkin:何ができる...?電球1個を交換するのに必要なホビットの数を計算する?フリーランスに送る?そこで読め」と書く?例のようにヒストリーで一連の注文を閉じる際の座標を求めるにはどうしたらよいでしょうか(この時点で線を引く予定です) 私はすでにこのスレッドの151ページでこの質問をしていますが、もっともらしい解決策は見つかっていません ... https://www.mql5.com/ru/forum/160683/page151 履歴の中から同じクローズバーを持つ一連の注文を探す必要があります。このバーの時間は、あなたが探しているものになるでしょう。 削除済み 2017.03.19 09:51 #1542 Alexander Antoshkin:何ができる...?電球1個を交換するのに必要なホビットの数を計算する?フリーランスに送る?そこで読め」と書く?いろいろなことができるんです:)ホビットの問題は、一律に解決できるものではありません...。因みに、私の答えは、ヴィタリー・ポストラッシュ さんが引用したのと同じ動画からです。でも、真面目な話。例のように履歴で一連の注文を決済した取引の座標を求めるにはどうすればよいか(この時点では線を引く予定です)すでにこのスレッドの151ページでこの質問をしましたが、解決策は見つかっていません。https://www.mql5.com/ru/forum/160683/page151。リンク先の枝は読んでいません。でも、こんな感じでしょうか。 複数の注文(1種類または異なる種類)がXポイント(現実にはすべての取引が同じ価格で決済されるとは限らないのでXの範囲が必要)以内に決済された事実を判定し、平均決済価格を決定し、その線で線を引く。 削除済み 2017.03.19 09:52 #1543 Artyom Trishkin: 同じ終値バーを持つ一連の注文の履歴を検索します。このバーの時間は、あなたが探しているものになるでしょう。 これは、私の解決方法と同じ問題で、Pingや注文 数によっては、1本のローソク足のすべてのトレードが終了しないことがあります...。 Artyom Trishkin 2017.03.19 10:00 #1544 Alexey Kozitsyn: 私の解決方法と同じ問題:Pingや注文数 によっては、同じローソク足のすべての取引が終了しないことがある......。 M1については、私もそう思います。他の人はそうではないでしょう。ローソク足が開く前に決済注文が来る場合は別です。注文は2組になります。隣り合った2つのうち、最後の1つを取る。 削除済み 2017.03.19 10:04 #1545 Artyom Trishkin: M1については、私もそう思います。他の人はそうではないでしょう。ローソク足が開く前に決済注文を受けた場合。注文は2組になります。隣り合った2つのうち、最後の1つを取る。ここで判断するためのデータはほとんど与えられなかった。複数のパックが同じローソク足で閉じられるかもしれない(たとえば1時間足や日足でチェックした場合)。 Aleksey Vyazmikin 2017.03.19 10:23 #1546 Vitalie Postolache: 平行な赤い線が欲しいのですが、交差させ、そのうち3本を緑、残りを紫にしたい )))そうそう、あの子猫の形をした一本の直線も!?問題が間違っていると思われますか? 削除済み 2017.03.19 10:25 #1547 Alexey Kozitsyn:判断するための十分なデータがありません。複数のパックが同じローソク足で閉じている可能性があります(例えば、時間足や日足で確認した場合)。いずれにせよ、精度が高ければ高いほど良いのですが.トレーリングストップ条件に従って、損失なく注文が終了すること。即ちif(b+s>0){ for(i=0; i<OrdersTotal(); i++){ if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)){ if(OrderSymbol()==Symbol() && Magic==OrderMagicNumber()){ tip = OrderType(); OSL =NormalizeDouble(OrderStopLoss(),Digits); OTP = NormalizeDouble(OrderTakeProfit(),Digits); 。OOP = NormalizeDouble(OrderOpenPrice(),Digits); 。SL=OSL; if(tip==OP_BUY){ SL=NormalizeDouble(Bid-TrailingStop*Point,Digits); if(SL>OSL && SL>NLb){ if(!OrderModify(OrderTicket(),OOP,SL,0,0,White))Print("Error Order Modify ",GetLastError());}} if(tip==OP_SELL ){ SL=NormalizeDouble(Ask+TrailingStop*Point,Digits); if((SL<OSL || OSL==0) &&)SL<NLs){ if(!OrderModify(OrderTicket(),OOP,SL,0,0,White))Print("Error Order Modify ",GetLastError());}. Any questions from newcomers [警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 どんな新人の質問でも、フォーラムを乱雑にしないように。プロフェッショナルは、通り過ぎないでください。Nowhere without you - Aleksey Vyazmikin 2017.03.19 10:27 #1548 Alexey Kozitsyn: 新しいバーが形成されたときに値が入力される追加のバッファを含む独自のMAインジケータを作成します。移動平均の 平均化手法の違いも含めて、問題を解決するためのアルゴリズムについて議論したい。 削除済み 2017.03.19 10:29 #1549 Alexey Kozitsyn:いろいろなことができる:) 複数の注文(同じ種類または異なる種類)をXポイント(現実にはすべての取引が同じ価格で成立するとは限らないため、Xポイントの範囲が必要)以内に成立させた事実を確認し、平均終値を決定し、その線で線を引く。int TotalPos=-1; void start() { if(OrdersTotal()!=TotalPos) { // не мучаем каждый тик for(int i=OrdersHistoryTotal()-1; i>=0; i--) { if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) { if(OrderSymbol()==Symbol() && OrderType()<=1) { History(); } }}} TotalPos=OrdersTotal(); // запомним количество //-- } void History() { string Ticket=(string)OrderTicket(); color col=Red; if(OrderType()==0)col=Blue; datetime a=OrderOpenTime(); double b=OrderOpenPrice(); datetime c=OrderCloseTime(); double d=OrderClosePrice(); double prSep=OrderProfit()+OrderCommission()+OrderSwap(); double prAll=0; int cn=0; string hTicket; for(int i=OrdersHistoryTotal()-1; i>=0; i--) { if(OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) { if(OrderSymbol()==Symbol() && OrderType()<=1) { datetime ct=OrderCloseTime(); // 60 секунд разницы между закрытием первой и последней в сетке if(c<=ct+60 && c>=ct-60) { prAll+=OrderProfit()+OrderCommission()+OrderSwap(); hTicket=(string)OrderTicket(); cn++; } }}} ObjectCreate(Ticket+'Open',OBJ_ARROW,0,a,b); ObjectSet(Ticket+'Open',OBJPROP_COLOR,col); ObjectSet(Ticket+'Open',OBJPROP_ARROWCODE,1); ObjectCreate(Ticket+'Line',OBJ_TREND,0,a,b,c,d); ObjectSet(Ticket+'Line',OBJPROP_COLOR,col); ObjectSet(Ticket+'Line',OBJPROP_WIDTH,1); ObjectSet(Ticket+'Line',OBJPROP_STYLE,STYLE_DOT); ObjectSet(Ticket+'Line',OBJPROP_RAY,0); ObjectCreate(Ticket+'Close',OBJ_ARROW,0,c,d); ObjectSet(Ticket+'Close',OBJPROP_COLOR,Green); ObjectSet(Ticket+'Close',OBJPROP_ARROWCODE,3); Ticket=cn>1?hTicket:Ticket; ObjectCreate(Ticket+'Profit',OBJ_TEXT,0,c,d); ObjectSet(Ticket+'Profit',OBJPROP_ANCHOR,0); ObjectSetText(Ticket+'Profit',DoubleToString(prAll,2),10,'Arial',White); ObjectSet(Ticket+'Profit',OBJPROP_PRICE1,d); ObjectSet(Ticket+'Profit',OBJPROP_TIME1,c+Period()*60*2);これはスクリプトに追加する必要があります.一連の売り注文が決済されることを考慮すると ObjectCreate(Ticket+'Debt B',OBJ_HLINE,0,0,d)。 ObjectSet(Ticket+'Debt B',OBJPROP_COLOR,LimeGreen)。 ObjectSet(Ticket+'Debt B',OBJPROP_WIDTH,1)。一連の買い注文が終了した場合ObjectCreate(Ticket+'Debt M',OBJ_HLINE,0,0,d); ObjectSet(Ticket+'Debt M',OBJPROP_COLOR,Red)。 ObjectSet(Ticket+'Debt M',OBJPROP_WIDTH,1)。 手伝ってくれる? 削除済み 2017.03.19 10:33 #1550 -Aleks-:移動平均の 平均化方法の違いも含めて、この問題に対処するためのアルゴリズムについて述べたいと思います。 ターミナルのIncludeフォルダにあるMovingAverages.mqhというファイルを見てみてください。 1...148149150151152153154155156157158159160161162...1953 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
何ができる...?
電球1個を交換するのに必要なホビットの数を計算する?
フリーランスに送る?そこで読め」と書く?
例のようにヒストリーで一連の注文を閉じる際の座標を求めるにはどうしたらよいでしょうか(この時点で線を引く予定です)
私はすでにこのスレッドの151ページでこの質問をしていますが、もっともらしい解決策は見つかっていません ... https://www.mql5.com/ru/forum/160683/page151
何ができる...?
電球1個を交換するのに必要なホビットの数を計算する?
フリーランスに送る?そこで読め」と書く?
いろいろなことができるんです:)
ホビットの問題は、一律に解決できるものではありません...。
因みに、私の答えは、ヴィタリー・ポストラッシュ さんが引用したのと同じ動画からです。
でも、真面目な話。
例のように履歴で一連の注文を決済した取引の座標を求めるにはどうすればよいか(この時点では線を引く予定です)
すでにこのスレッドの151ページでこの質問をしましたが、解決策は見つかっていません。https://www.mql5.com/ru/forum/160683/page151。
リンク先の枝は読んでいません。でも、こんな感じでしょうか。
複数の注文(1種類または異なる種類)がXポイント(現実にはすべての取引が同じ価格で決済されるとは限らないのでXの範囲が必要)以内に決済された事実を判定し、平均決済価格を決定し、その線で線を引く。
同じ終値バーを持つ一連の注文の履歴を検索します。このバーの時間は、あなたが探しているものになるでしょう。
私の解決方法と同じ問題:Pingや注文数 によっては、同じローソク足のすべての取引が終了しないことがある......。
M1については、私もそう思います。他の人はそうではないでしょう。ローソク足が開く前に決済注文を受けた場合。注文は2組になります。隣り合った2つのうち、最後の1つを取る。
ここで判断するためのデータはほとんど与えられなかった。複数のパックが同じローソク足で閉じられるかもしれない(たとえば1時間足や日足でチェックした場合)。
平行な赤い線が欲しいのですが、交差させ、そのうち3本を緑、残りを紫にしたい )))
そうそう、あの子猫の形をした一本の直線も!?
問題が間違っていると思われますか?
判断するための十分なデータがありません。複数のパックが同じローソク足で閉じている可能性があります(例えば、時間足や日足で確認した場合)。
いずれにせよ、精度が高ければ高いほど良いのですが.
トレーリングストップ条件に従って、損失なく注文が終了すること。
即ち
if(b+s>0)
{
for(i=0; i<OrdersTotal(); i++)
{
if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
if(OrderSymbol()==Symbol() && Magic==OrderMagicNumber())
{
tip = OrderType();
OSL =NormalizeDouble(OrderStopLoss(),Digits);
OTP = NormalizeDouble(OrderTakeProfit(),Digits);
。OOP = NormalizeDouble(OrderOpenPrice(),Digits);
。SL=OSL;
if(tip==OP_BUY)
{
SL=NormalizeDouble(Bid-TrailingStop*Point,Digits);
if(SL>OSL && SL>NLb)
{
if(!OrderModify(OrderTicket(),OOP,SL,0,0,White))Print("Error Order Modify ",GetLastError());
}
}
if(tip==OP_SELL )
{
SL=NormalizeDouble(Ask+TrailingStop*Point,Digits);
if((SL<OSL || OSL==0) &&)SL<NLs)
{
if(!OrderModify(OrderTicket(),OOP,SL,0,0,White))Print("Error Order Modify ",GetLastError());
}.
新しいバーが形成されたときに値が入力される追加のバッファを含む独自のMAインジケータを作成します。
移動平均の 平均化手法の違いも含めて、問題を解決するためのアルゴリズムについて議論したい。
いろいろなことができる:)
複数の注文(同じ種類または異なる種類)をXポイント(現実にはすべての取引が同じ価格で成立するとは限らないため、Xポイントの範囲が必要)以内に成立させた事実を確認し、平均終値を決定し、その線で線を引く。
これはスクリプトに追加する必要があります.
一連の売り注文が決済されることを考慮すると
ObjectCreate(Ticket+'Debt B',OBJ_HLINE,0,0,d)。
ObjectSet(Ticket+'Debt B',OBJPROP_COLOR,LimeGreen)。
ObjectSet(Ticket+'Debt B',OBJPROP_WIDTH,1)。
一連の買い注文が終了した場合
ObjectCreate(Ticket+'Debt M',OBJ_HLINE,0,0,d);
手伝ってくれる?ObjectSet(Ticket+'Debt M',OBJPROP_COLOR,Red)。
ObjectSet(Ticket+'Debt M',OBJPROP_WIDTH,1)。
移動平均の 平均化方法の違いも含めて、この問題に対処するためのアルゴリズムについて述べたいと思います。