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

 

...

mladenによって削除された

理由 : 間違う可能性があることを示す意味がない

 

感謝

ありがとうございます......。ロジャー

 

コードを教えてください。

ありがとうございます。

 

ヘルプ

皆さん、こんにちは。

このインジケータは、特にバーが閉じられた場合、過去の履歴を再描画しないようにするために、どなたか助けていただけないでしょうか。

 

コードのヘルプが必要です。

こんにちは、仲間の皆さん。

私はプログラマーではありませんが、どなたかこの問題について手助けしていただけると本当に助かります。

このコードをどのように書き直せば、次のようになります。

if (未決済注文の合計 = 0)

次に

lot = Type1Lot(order_type)。

if (未決済注文の合計) = 1

そのとき

Lot = Type2Lot(注文タイプ);

もし(未決済注文の合計≧2)

その時

lot = Type3Lot(order_type)となります。

ありがとうございました。

ありがとうございました。

 

コード化する良い方法はありますか?

私はスイングハイ/ローをチャートに置くインディをコード化し、私は継続する前にこれらのそれぞれの最後を知る必要があります。これは、これらの2つの価格を探すための私の試みです(それゆえ、私はいくつかの助けを必要とする)。

ほとんどの場合、これはうまくいきますが、今日は最後のスイングハイが実際には2番目の最後のスイングハイであると言っていました。

どなたかこれを見て、この部分をコーディングする良い方法があるかどうか見ていただけませんか?

どんな助けでもありがとうございます。

int highbar,lowbar,i,n;

double curlow=0,curhigh=0;

for (i=200;i>=1;i--)

{

if (High<High && High<High && High &&High<High)

{

curhigh=High;

highbar=i+2;

}

if (Low>Low && Low>Low && Low>Low)

{

curlow=Low;

lowbar=i+2;

}

}

//----前回のフラクタルの 後、ローソク足が上か下かチェックします。

n=MathMax(highbar,lowbar );

for (int x=n-1;x>=0;x--)

{

if (High[x]> curhigh)

{

curhigh=High[x];

highbar=x;

}

if (Low[x]<curlow)(ロー[x]<カーロー)

{

curlow=Low[x]です。

lowbar=x;

}

}

インデントがうまく貼り付けられなかったようです、すみません。

 
forexarchitect:
こんにちは、メンバーの皆さん。

私はプログラマーではありませんが、この問題について誰かが私を助けることができれば本当に感謝します。

このコードをどのように書き直せば、次のようになります。

if (未決済注文の合計 = 0)

次に

lot = Type1Lot(order_type)。

if (未決済注文の合計) = 1

そのとき

Lot = Type2Lot(注文タイプ);

もし(未決済注文の合計≧2)

その時

lot = Type3Lot(order_type)となります。

皆さん、ありがとうございます。

評価する

私は決して専門家のコーダーではありませんが、私はあなたのすべての注文をループし、あなたの仕様に合った注文をカウントする必要があると思います。次に、別の注文の種類に 異なるifステートメントを使用します。

int total=OrdersTotal(),totalBuy,totalSell;

for (int q=0; q<total; q++ )

{

OrderSelect(q,SELECT_BY_TICKET,MODE_TRADES);

if (OrderMagicNumber() == Magic && OrderType() == OP_BUY)

totalBuy++;

else if (OrderMagicNumber() == Magic && OrderType() == OP_SELL)

totalSell++;

}

ここでは、マジックナンバーでカウントするチケットを選択し、ショートとロングの枚数もカウントしています。上記のコードは、例として使用することができます。

 

50と100の心理的なレベルで指値注文を配置する

私のコードで少し助けを求めています。通貨ペ アのラウンドレベル50と100に成行指値注文を出すには、このようなコードを使用するのでしょうか。私は、現在のAsk/Bidの上下にある50と100のレベルで注文を出したいと思っています。

if (Point == 0.00001) Poin = 0.0001; //6 digits

else if (Point == 0.001) Poin = 0.01; //3 digits (for Yen based pairs)

else Poin = Point; //Normal

for(double q=Ask*Poin,q<Ask+100*Poin,q++)

{

if(MathMod(q,100) == 0 || MathMod(q,50) == 0)

{

\\ Place limit order

}

for(double q=Bid*Poin,q>Bid-100*Poin,q--)

{

if(MathMod(q,100) == 0 || MathMod(q,50) == 0)

{

\\ Place limit order

}

よろしくお願いします。

 

バーカラーの インジケーター

こんにちは、MT4のインジケーターについて、どなたか教えてください。

それができるかどうかわからないが、バーの色を変更する必要があります。

R1 = 過去20バーの最低値 + (2*ATR(10))

R2=過去20本の最高値-(2*ATR(10))

終値がR1より大きい場合、バーの色は...明るい青になります。

前のバーの終値がR2より小さい場合、そのバーの色は....ファイヤーブリック

ありがとうございます。

A

 

EAが複数の注文を出すコードの例を探しています。

一度に2つの注文、1つはtp付き、1つはtp無しで、その後、条件が変わって反対方向に開くまで、その方向には決して他の注文を開けないようにしたい。

私はそれをコード化しようと頑張っていますが...今のところ失敗しています。

最大の問題は、1つのポジションがローソク足の終値でオープンし、次のローソク足の終値で2つ目がオープンすることです。また、時々2つ以上のオープンポジションを取得し、私は最初のTPを打つたびに新しいポジションを取得します。すべて最悪です。

これが買い注文のコードで、売りも基本的に同じです...。

何かヒントがあれば、コードをタイプアップします。

これを行うEAでも、私は例として見ることができます。

私はこのアイデアは非常に重要 であり、資金管理の目的のために様々なEAの多くに組み込まれるべきであると思います。

ありがとうございまし

if ( ) {

Closebuy = True;

MAcrossDown = True;

MAcrossUP= False;

OrdertotalCloseBuy = OrdersTotal();

int AttemptsTriedCloseBuy = 0;

bool OrderCloseBuy = False;

bool PositionClosedBuy = False;

if(注文合計() > 0 ){。

OrderSelect(0, SELECT_BY_POS, MODE_TRADES);

if(オーダータイプ() == OP_BUY){

for (int i = OrdertotalCloseBuy-1; i >= 0; i --) {.

PositionClosedBuy = False;

AttemptsTriedCloseBuy = 0;

OrderSelect(i, SELECT_BY_POS, MODE_TRADES);

while (!PositionClosedBuy && AttemptsTriedCloseBuy < CloseposnAttempts) {。

AttemptsTriedCloseBuy = AttemptsTriedCloseBuy + 1;

注文の取り消し(OrderCloseBuy) = OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, LimeGreen);

Sleep(PausebetweenOrders * 1000);

if(OrderCloseBuy == True) { // ポジションクローズ成功。

PositionClosedBuy = True;

// if (SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " DoubleToStr(Bid, Digits) + " Close Buy")を送信。

} else if( 注文 == False && 試行回数 >= CloseposnAttempts ) { (注文 == False && 試行回数)

Print( AttemptsTried + " 成行注文の決済を試みました。

OrderTicket() + " 失敗しました。Error [ " + GetLastError() + " ]" );

// if (SignalMail) SendMail( AttemptsTried, " 成行買い注文の決済に失敗しました" );

}// End If, Order:

}// End While Loop, AccountAvailable:

}//for

}//if ordertype

}//if orderstotal

Sleep(1000);

if(OrdersTotal() == 0 && Closebuy == True && Sell_Complete_Wait4Cross_Up == False) { { SellTicket1 = False?

SellTicket1 = False;

SellTicket1 = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, StopLoss, Bid - TakeProfit * Point, "SELL(#" + MagicNumber + ")", MagicNumber, 0, Red).SellTicket2 = OrderSend(Symbol(), OP_SELL, Bid, Slippage, StopLoss, Bid - TakeProfit * Point);

Sleep(PausebetweenOrders * 1000);

Sell_Complete_Wait4Cross_Up = Trueです。

Buy_Complete_Wait4Cross_Down = False;

if (Ticket && SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " DoubleToStr(Bid, Digits) + " Open 1st Sell").

Sleep(1000);

SellTicket2 = OrderSend(Symbol(), OP_SELL, Lots, Bid, Slippage, StopLoss, 0, "2nd SELL(#" + MagicNumber + ")", MagicNumber, 0, Pink).SellTicket2が送信されます。

Sleep(PausebetweenOrders * 1000);

if (Ticket2 && SignalMail) SendMail("[Signal Alert]", "[" + Symbol() + "] " DoubleToStr(Bid, Digits) + " Open 2nd Sell").を送信します。

if(OrdersTotal() == 2 && MAcrossDown == True) {Sell_Complete_Wait4Cross_Up = True; Buy_Complete_Wait4Cross_Down = False;}.

}//Ordersend

}//Closebuy