[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 841

 
etroplus:

アドバイスお願いします

オープンポジションの利益値をpips単位で返す関数はありますか?

(Bid - OrderOpenPrice())/Point;    //для ордеров BUY
(OrderOpenPrice() - Ask)/Point;    //для ордеров SELL
 
webgreck:

日付変更の有無を確認し、関数を使用する。

MarketInfo(Symbol(),MODE_SWAPSHORT);
MarketInfo(Symbol(),MODE_SWAPLONG);
 
alsu:

日付が変更されているかどうかを確認し、関数を使用する


日付は変わらないのに、どうやってコントロールするんですか?スクリーンショットをご覧ください。

 
webgreck:


どのようなトレーリングを行うか、どのような固定目標を設定するか、パリティを設定するかなど、さまざまな作業が必要な注文がたくさんありますが、この作業に対応できません。なぜなら、スワップのために取引が終了してオープンすると、チケット番号が変わるため、チケット番号を使ってポジションを特定し、それをどうすればいいかを知ることができないからです。

スワップ取引の方法、取引の識別方法、パリティを設定済みかどうかの確認方法など、アドバイスをお願いします。


このような場合、「オーダーマジックナンバー」を積極的に活用することができます。
 
abolk:

このような場合、マジックナンバーオーダーを積極的に活用することができます。

私はすでに、3種類の信号を識別するためにマジックナンバーを使っています. もし、あるポーズにすでにパリティを置いたのであれば、マジックナンバーを使って判断する方法を考えるべきでしょうね。 例えば、注文にマジックナンバーの値を与えることができますが、マジックナンバーは編集することができません ...それとも私が間違っているのでしょうか?注文の設定時に値を与えるしかないのですが、マジックナンバーに何を書けば、注文にパリティがすでに設定されているかどうかを確認できるのでしょうか?
 
webgreck:

私はすでに3種類の信号を識別するために使っています・・・。 もし、あなたのアルゴリズムが注文の識別と密接に関係しているのであれば、私はあなたのアルゴリズムを知る必要があるのです。

もし、あなたのアルゴリズムが注文の識別と密接に関係しているのなら、私はあなたのアルゴリズムを知らなければ、このケースを支援することはできません。
 
abolk:

もし、お客様のアルゴリズムが注文の識別と密接に関係しているのであれば、この場合、お客様のアルゴリズムを知ることが必要です。


この質問には恐れ入った。 システムはかなり複雑で、2文字で説明するのは難しい。何千行もあるので、誰も理解しないし、心配もしないので、コードも載せたくないのですが...。

順序識別を実装するための一般的な柔軟な方法があるのではと思ったのですが.マジックナンバーは基本的に何のためにあるかというと、「この注文はすでにこうなっている」と記憶しておくための編集ができないのです・・・。

もしかして、まだマジックナンバーの編集が可能なのでは?

 
webgreck:


日付はどうやって管理するんですか? 変わらないんです。スクリーンショットをご覧ください。

スクリーンショットでは、1月13日00:00に14番目のスワップフロズ - スワップオープンになっていますね。
 
webgreck:


アルゴリズムは単純ではないので......システムは非常に複雑で、2つの単語で説明することはできないのです。また、コードも何千行もあり、誰も理解し、掘り下げることができないので、コードを置くことは意味がない.

注文の識別を実装するための一般的な柔軟なトリックがあるのではと思いました.この目的のためにマジックナンバーを用意しているのですが、このオーダーで既に行われたことを記憶するために編集することはできません ...

もしかしたら、注文のマジックナンバーを編集することが可能かもしれませんね。


そして、オープニング タイムをintに変換すると、1つのポジションに対して2つのマジックを持つことになります。パリティを設定していない場合は、マジコンしかありません。すでにパリティを設定している場合、設定されたパリティの存在を担う変数は、intで示されるポジションのオープン時間に等しく、ポジションはマジックナンバーを持つことになる...。:)
そこからダンス...
 

こんにちは。

オープンした注文が修正されないのが理解できません、修正条件は5pips以上の利益です。

//+------------------------------------------------------------------+
| ニューストレード.mq4
//| 著作権 © 2010, MetaQuotes Software Corp.
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright"著作権 © 2010, MetaQuotes Software Corp.
#プロパティリンク "http://www.metaquotes.net"


extern bool In_BUYSTOP=true;
extern intProfit_buy=100;
extern int StopLoss_buy=5;
extern double Lots_buy=0.01;
//+------------------------------------------------------------------+
extern bool In_SELLSTOP =true;
extern inttern TakeProfit_sell=100;
extern int StopLoss_sell =5;
extern double Lots_sell =0.01;
extern int LevelProfit = 25; // - 損益分岐点レベルにストップを移すために到達する必要のある利益レベル(ポイント)。
extern int LevelWLoss = 1; // - 損益分岐点(ポイント)、利益がLevelProfitレベル(ポイント)に達した後にストップポジションを移動させる。

//+------------------------------------------------------------------+
//| エキスパート初期化関数
//+------------------------------------------------------------------+
int init()
{
//----
int profitbuy=((Bid - OrderOpenPrice())/Point); // BUY
int profitsell=((Order OpenPrice()- Ask)/Point); // SELL
//----
return(0)です。
}
//+------------------------------------------------------------------+
//| 専門家による初期化関数
//+------------------------------------------------------------------+
int deinit()
{
//----
//----
return(0)です。
}
//+------------------------------------------------------------------+
//| エキスパートスタート機能
//+------------------------------------------------------------------+
int start()
//----
{
int ticketです。
if (ビッド >iHigh(NULL,PERIOD_D1,1))
{
if(OrdersTotal() < 1)
ticket=OrderSend(Symbol(),OP_SELLSTOP,Lots_sell,iHigh(NULL,PERIOD_D1,1),3,iHigh(NULL,PERIOD_D1,1)+StopLoss_sell*Point,iHigh(NULL,PERIOD_D1,1)-TakeProfit_sell*Point, Hour() == 21 && Minute() == 59).PERIOD_D1,1),2);
if(OrderSelect(1, SELECT_BY_POS,MODE_TRADES)==true)
{
int profitsell=((OrderOpenPrice()- Ask)/Point);
もし
ticket=OrderModify(OrderTicket(),OrderOpenPrice(),0,OrderTakeProfit(),0,Blue)。
return(0)です。
}
}
if (Ask <iLow(NULL,PERIOD_D1,1))
{
if(OrdersTotal() < 1)
ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots_buy,iLow(NULL,PERIOD_D1,1),3,iLow(NULL,PERIOD_D1,1)-StopLoss_buy*Point,iLow(NULL,PERIOD_D1,1)+TakeProfit_buy*Point,Hour() == 21 && Minute() == 59).P...;
if(OrderSelect(1, SELECT_BY_POS,MODE_TRADES)==true)
{
int profitbuy=((Bid - OrderOpenPrice())/Point);
if (profitbuy>5)
int stopmodify=OrderOpenPrice()です。
OrderModify(OrderTicket(),OrderOpenPrice(),stopmodify,OrderTakeProfit(),0,Blue)を実行。
return(0)です。
}
}
//ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
return(0)です。
}
//+------------------------------------------------------------------+