トレーリングストップとトレーリングプロフィット

 

トレーリングストップとトレーリングプロフィットを使いたいのですが。

私の計画

トレーリングストップについて。

*ある一定の利益限度(例えば10ピップス)に達した後、ストップロスは5ピップスに移動します。もしその取引が5ピップスまで後退したら、取引の「3分の2」が決済されます。

*残りの「3分の1」は実行され続け、「トレーリングストップ」はその時適用されません。

トレーリング・プロフィットの場合。

*もしその取引がさらに5ピップス動いたら(つまり10+5=15ピップス)、その取引の「3分の1」は閉じられ、残りの「3分の2」は実行し続けられるでしょう。

*さらに10ピップス動いたら(つまり15+10=25ピップス)、残りの取引の「半分」が閉じられ、残りの「半分」は利食い制限なしで動き続けることになります。

しかし、私はそれが「シングル」トレードにできるかどうかわからない。そのため、私は少し違った方法で考えていました。

--->同じ時間に、同じロットの3つの取引を開始します。

--->そのうち2つは価格がトレーリングストップロスレベルまで 戻ったら決済し、残りの1つはトレーリングストップ部分まで稼働させます。

--->最初の取引は「TP-1」で決済され、2番目の取引は「TP-2」で決済され、最後の取引はトレーリングプロフィット部分のために実行され続けます。

しかし、これらの取引をどのように区別するのでしょうか?オーダーチケット」を使用することができますが、他のペアの取引もあるため、これら3つの取引すべてが連続したチケットのシリアルである保証はありません。

実際には、1つの取引で最初のストップロスが動かないようなものです。
 

あなたはプログラマーですか?

プログラミングを学んでいますか?

あなたのアイデアをプログラムする方法を学ぶことに興味がありますか?

もしあなたの答えが上記に当てはまらない場合は、あなたが探しているものをコードベースから 検索してみてください。

Arav007:

トレーリングストップとトレーリングプロフィットを使いたいのですが。

私の計画

トレーリングストップについて。

*ある一定の利益限度(例えば10ピップス)に達した後、ストップロスは5ピップに移動します。もしその取引が5ピップスまで後退したら、取引の「3分の2」が決済されます。

*残りの「3分の1」は実行され続け、「トレーリングストップ」はその時適用されません。

トレーリング・プロフィットの場合。

*もしその取引がさらに5ピップス動いたら(つまり10+5=15ピップス)、その取引の「3分の1」は閉じられ、残りの「3分の2」は実行し続けられるでしょう。

*さらに10ピップス動いたら(つまり15+10=25ピップス)、残りの取引の「半分」が閉じられ、残りの「半分」は利食い制限なしで動き続けることになります。

しかし、私はそれが「シングル」トレードにできるかどうかわからない。そのため、私は少し違った方法で考えていました。

--->同じ時間に、同じロットの3つの取引を開始します。

--->そのうち2つは価格がトレーリングストップロスレベルまで戻ったら決済し、残りの1つはトレーリングストップ部分まで稼働させます。

--->最初の取引は「TP-1」で決済され、2番目の取引は「TP-2」で決済され、最後の取引はトレーリングプロフィット部分のために実行され続けます。

しかし、これらの取引をどのように区別するのでしょうか?オーダーチケット」を使用することができますが、他のペアの取引もあるため、これら3つの取引すべてが連続したチケットのシリアルである保証はありません。

実際には、1つの取引で最初のストップロスが動かないようなものです。

 
ubzen:

あなたはプログラマーですか?

プログラミングを学んでいますか?

あなたのアイデアをプログラムする方法を学ぶことに興味がありますか?

もしあなたの答えが上記に当てはまらないなら、あなたが探しているものをコード ベースで検索してみてください。



検索して、このように投稿しました。

トレイリングストップ」についての投稿はありますが、私が必要とする「正確な」ものは見つかりませんでした。もしかしたら、私が見落としているのかもしれません。もし、そのリンクをご存知でしたら教えてください。

 
Arav007: 検索して、これを投稿しました。Trailing Stops」についての投稿はありますが、私が必要としている「まさに」ものは見つかりませんでした。もしかしたら、私が見落としているのかもしれません。なので、もしリンクをご存知でしたら教えてください。
申し訳ありませんが、私はあなたのためのものを見つけることができません。おそらく、誰かがあなたのためにそれをコード化するために来て、我慢してください。
 
ubzen:
申し訳ありませんが、私も見つけることができません。もしかしたら、誰かがそれをコード化してくれるかもしれません。 。


実は、コード全体は必要ないんです。ただ、どの「ロジック」がどの「関数」で実装できるかを知りたいだけなのです。

私はいくつかのロジックを考えていますが、1,2,3によって取引を「区別」する方法が必要です。

 
Arav007:


実は、コード全体は必要ないのです。ただ、どの「ロジック」がどの「関数」で実装できるかを知りたいだけなんです。

私の頭の中にはいくつかのロジックがありますが、1,2,3によってトレードを「区別」する方法が必要です。


そして、それを作ってみて、何をやってもうまくいかないときは、ここにあなたの試みを示してください...。

最も簡単な方法は、「新しいシグナルで」3つのトレードをオープンし、あなたの計画を実行することです。

 

こんなことを考えたことがあります。

3つのトレードがある。

for(cnt=3;cnt>0;cnt--)

{

if (cnt==1)

{ 

 Disable Trailing Stop and Trailing Step

}

else

{

Enable Trailing Stop and Trailing Step

}

} 

//Trailing Profit:

for(cnt=3;cnt>0;cnt--)

{

if (cnt==3)

{ 

Set take profit=TP1

}

if (cnt==2)

{

Set take profit= TP2

} 

else

{

Disable Take Profit

}

}  

これは単なる図式です。ロジックがうまくいけば、このスケルトンに肉がつくでしょう。

 
Arav007:

こんなことを考えたことがあります。

3つのトレードがある。

これは単なる図式です。ロジックがうまくいけば、このスケルトンに肉がつきます。


売り買いのシグナルが出ない

3つのトレードを行うロジックを作成します。

同じストップロスで

1つはあなたの最初のレベルで利食い

1つは2番目のレベルで利食い

1つはtakeprofitlevelなし

 
deVries:


売りと買いのシグナルを受信することはできません。

ロジックを作成し、3つのトレードを開始します。

同じストップロスで

1つは最初のレベルで利食い

1つは2番目のレベルで利食い

1つはtakeprofitlevelを指定せずに


というような感じでしょうか?

double dTakeProfitPrice_1=10;

double dTakeProfitPrice_2=20;

double dTakeProfitPrice_3=0;

if (Buy Condition Met)

{

if(iOpenOrders_Buy < iMaxOrders)

{

if(iOpenOrders_Buy ==0) // there is no 'Open' Buy orders

{

BuyOrder_1=OrderSend(Symbol(), iOrderType_Buy, LotSize,OpenPrice,Slippage,dStopLossPrice,dTakeProfitPrice_1, "Buy Order",MagicNumber, 0,Blue);

BuyOrder_2=OrderSend(Symbol(), iOrderType_Buy, LotSize,OpenPrice,Slippage,dStopLossPrice,dTakeProfitPrice_2, "Buy Order",MagicNumber, 0,Blue);

BuyOrder_3=OrderSend(Symbol(), iOrderType_Buy, LotSize,OpenPrice,Slippage,dStopLossPrice,dTakeProfitPrice_3, "Buy Order",MagicNumber, 0,Blue);

}

あと、Stop Lossは どうするんですか?

 
Arav007:


こんな感じなんですね。

ストップロスはどうする?


ストップロスは、価格がorderopenpriceより10pips以上動いたときに、2回分修正する。

double dTakeProfitPrice_1=10;

double dTakeProfitPrice_2=20;

double dTakeProfitPrice_3=0;
double BuyOrder_1,.......,.......;
if (Buy Condition Met && iOpenOrders_Buy == 0)
{

iOpenOrders_Buy = 3;

{

if(iOpenOrders_Buy  > 0) // we have to open new Buy orders

{

if(iOpenOrders_Buy == 3)
         {
         BuyOrder_1=OrderSend(Symbol(), iOrderType_Buy, LotSize,OpenPrice,Slippage,dStopLossPrice,dTakeProfitPrice_1, "Buy Order",MagicNumber, 0,Blue);
         if(BuyOrder_1 > 0).......
         

         }
if(iOpenOrders_Buy == 2)
         {
         BuyOrder_2=OrderSend(Symbol(), iOrderType_Buy, LotSize,OpenPrice,Slippage,dStopLossPrice,dTakeProfitPrice_2, "Buy Order",MagicNumber, 0,Blue);
....



if(iOpenOrders_Buy == 1)
         {
         BuyOrder_3=OrderSend(Symbol(), iOrderType_Buy, LotSize,OpenPrice,Slippage,dStopLossPrice,dTakeProfitPrice_3, "Buy Order",MagicNumber, 0,Blue);
....
}
 
deVries:


ストップロスは、価格がorderopenpriceより10pips以上動いたときに、2つの取引で修正します。


すみません、ちょっと混乱してきました。

if(iOpenOrders_Buy = 3)

ここで、開設した買い注文 の合計が「3」であれば、コードは次の部分に進みます。

if(iOpenOrders_Buy > 0 )

もし、開設した買い注文の合計が'0'よりも大きければ、次の部分に進みます。

if(iOpenOrders_Buy == 3)

次に、もしオープンした買い注文の数が 3 であればBuyOrder_1 をオープンし、もし '2' であればBuyOrder_2 オープン し、そして BuyOrder_3 はオープンした買い注文の数が 1 である場合です。

正しいですか?

理由: