コーディングの方法は? - ページ 180

 

閉じる位置の問題

......

double cena=0;

静的 int isCrossed = 0;

isCrossed = Crossed (k,d);

if(OrderSelect(ticket, SELECT_BY_POS))

{

c=OrderOpenPrice()です。

return(0);

}

if (isCrossed>0)

{

cena=((c-Ask)*10000);

return(0);

total = OrdersTotal();

if(total < 1)

{

if(isCrossed == 1)

{

ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, 1000, cena,

cena , "EMA_CROSS", 12345, 0, Green);

}

....

if(isCrossed == 2)

{

ticket = OrderSend(Symbol(), OP_SELL, Lots, Bid, 1000, cena,

cena, "EMA_CROSS", 12345, 0, 赤);

......

一般的なEAは、EMAが交差したときにポジションをクローズし、同時に別のポジションをオープンします。

ポジションは開いたが、閉じようとしない;/。

助けてください

 

あるポジションを決済し、同じティックで新しいポジションを建てることは可能ですか?

(...)

if(OrdersTotal()!=0) {

(...)

OrderClose( OrderTicket(), OrderLots(), MarketInfo(OrderSymbol(), MODE_ASK), Slippage, Green ); }

if(OrdersTotal()==0) {

OrderSend(Symbol(), OP_BUY, Lots, Ask, Slippage, Ask - SL * Point, Ask + TP * Point, NULL, Magic, 0, Green); }

(...)

このコード例では、ショートポジションは最初のティックで決済されますが、ロングポジションは即座にオープンされるわけではありません。ロングポジションを開くには、もう1ティック必要です。

よろしくお願いします :-)

 

はい、可能です。演算子の間にRefreshRates()という関数を 挟むだけです。

 
 
pietra`:
......助けてください

みたいですね。私はピエトラです。私のセカンドネームは何ですか?

全コードが分からないと無理です。すみません。

 

コーディングのヘルプ

EAの最大・最小建値を 知るためのMT4コーディングについて、どなたか教えてください。EAによっていくつかのオープンがあります。

このようなコードを見つけましたが、これは最初と最後の取引の開始を知るためのものです。

double GetLastBuyPrice(int Magic)

{

int total=OrdersTotal()-1;

for (int cnt = total ; cnt >=0 ; cnt--)

{

OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);

if (OrderMagicNumber() == Magic && OrderSymbol() ==Symbol() && (OrderType() ==OP_BUY)) { (OrderMagicNumber() == Magic && OrderSymbol() ==Symbol() && (OrderType() ==OP_BUY))

{

return(OrderOpenPrice())。

}

return(10000);

}

取引開始時の最高値・最安値を知るためのコードとは?

 

コード

lumanauw:
EAの最大・最小建値を知るためのMT4コーディングについて、どなたか教えてください。EAでオープンしているものがあります。

このようなコードを見つけたのですが、これは最初のトランザクションと最後のトランザクションのオープニングを知るためのものです。

Double opens[1000] = {0};

double maxopen = 0 ;

double minopen = 1000000 ;

// double GetLastBuyPrice(int Magic)

{

int total=OrdersTotal()-1;

for (int cnt = total ; cnt >=0 ; cnt--)

{

OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);

if (OrderMagicNumber() == Magic && OrderSymbol() ==Symbol() && (OrderType() ==OP_BUY)) { (OrderMagicNumber() == Magic && OrderSymbol() == Symbol() && (OrderType() == OP_BUY))

{

opens[cnt] = OrderOpenPrice() ;

}

}

for ( cnt = 0 ; cnt <= total ; cnt ++ )

{

if ( opens[cnt] > maxopen ) maxopen = opens[cnt] ;

if ( opens[cnt] < minopen ) minopen = opens[cnt] ;

}

}

トランザクションオープニングの最高値/最安値を知るためのコーディング方法は?

ハイ。

上記のようにコードを変更してください。

これは他のプロシージャから呼び出すためのものではありません...,

EA のコードの好きなところに置いてください。

OTR

 

複数の注文を開くためのコードを作成する手助けが必要です。

2つ目の注文を出すためのコードを追加するのに失敗しています。

私は、異なるTPレベルで同じ信号に基づいて2つの注文を開こうとしています。

以下は、最初の注文を開くための私のコードです。

どんな助けでも感謝します。

if(SlowSell<0 && FastSell<0 && PrevFastSell==0)

{

ticket=OrderSend(Symbol(),OP_SELL,LotSize,Bid,Slipage,Bid+StopLoss*Point,Bid-TakeProfit*Point, "MA_Angle_Trader",MagicNumber,0,Red);

if(チケット>0)

{

if(オーダーセレクト(チケット,SELECT_BY_TICKET,MODE_TRADES))Print("SellStop注文が オープンしました:",OrderOpenPrice());

else Print("SellStop注文の開始エラー :",GetLastError())。

return(0);

ticket=OrderSend(Symbol(),OP_SELL,LotSize,Bid,Slipage,Bid+StopLoss*Point,0,「MA_Angle_Trader」MagicNumber,0,Red).を実行します。

if(チケット>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))Print("SellStop注文がオープンしました:",OrderOpenPrice());

else Print("SellStop注文の開始エラー :",GetLastError())。

return(0);

 

こんにちは

簡単なコーディングのヘルプをお願いします。

1) あるピップ数でトレードをヘッジする。

2) その後、それ以上の取引を無効にする/停止する。

私は手動でヘッジされた取引を閉じるので、それが再びヘッジされないことを確認します。

 
williamcope:
2つ目の注文を開くためのコードを追加してもうまくいきません。

同じシグナルで、異なるTPレベルの2つの注文を出そうとしています。

以下は、最初の注文を出すための私のコードです。

どんな助けでも感謝します。

if(SlowSell<0 && FastSell<0 && PrevFastSell==0)

{

ticket=OrderSend(Symbol(),OP_SELL,LotSize,Bid,Slipage,Bid+StopLoss*Point,Bid-TakeProfit*Point, "MA_Angle_Trader",MagicNumber,0,Red);

if(チケット>0)

{

if(オーダーセレクト(チケット,SELECT_BY_TICKET,MODE_TRADES))Print("SellStop注文がオープンしました:",OrderOpenPrice());

else Print("SellStop注文の開始エラー :",GetLastError())。

return(0);

ticket=OrderSend(Symbol(),OP_SELL,LotSize,Bid,Slipage,Bid+StopLoss*Point,0,「MA_Angle_Trader」MagicNumber,0,Red).を実行します。

if(チケット>0)

{

if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES))Print("SellStop注文がオープンしました:",OrderOpenPrice());

else Print("SellStop注文の開始エラー :",GetLastError())。

return(0);

}

最初に置き換える

return(0);

から

RefreshRates()に変更します。